DSIB01 Autumn 2021 01 Tooling Mgr. Eliška Chalupová 375973@mail.muni.cz Practicals overview ● Linux set-up ● Version Control Systems ● Git ● Markdown ● Coding Environment ● Hands-on example ● Project set-up Linux set-up VirtualBox 1. Get VirtualBox for Windows at https://www.virtualbox.org/wiki/Downloads 2. Download a pre-installed machine (DSIB_VM.ova) from https://drive.google.com/file/d/1DQYTS6YLkomvgGglu1ce5LAcLCAyx9AI/view?usp=sharing 3. Import the machine 4. Start & Log-in (usr: student, pswd: 1234) Version Control System Benefits 1. A complete long-term change history of every file Version Control System Benefits 1. A complete long-term change history of every file 2. Enables recovery Version Control System Benefits 1. A complete long-term change history of every file 2. Enables recovery 3. Simplifies team work Version Control System Types 1. Local VCS 2. Centralized VCS 3. Distributed VCS Version Control System Types 1. Local VCS 2. Centralized VCS 3. Distributed VCS Version Control System Types 1. Local VCS 2. Centralized VCS 3. Distributed VCS Git Repository Anyone with a copy of the repo can: ● Check the history ● Clone ● Commit ● Branch ● Merge ● Compare changes ● … Working models: ● Fork and Pull ● Shared Repository Git Hosting Git Hosting https://education.github.com/pack Hands-on 1. Set-up Git ● Check Git availability on the machine, and if needed download Git from https://git-scm.com/downloads ● Choose a Git hosting page & set-up an account ● Fork the Demo repository at https://github.com/eliska-chalupova/DSIB01demo or create a repository with the same structure Git Windows https://gitforwindows.org/ Git Bash Client Platform Website Linux, Mac, Windows https://www.gitkraken.com/ Linux, Mac, Windows https://www.syntevo.com/smartgit/ GitHub Desktop Mac, Windows https://desktop.github.com/ Mac, Windows https://www.sourcetreeapp.com/ Git GUI Clients Git GUI Clients Hands-on 2. GUI Client ● Download and run a GUI client of Your choice ● Open Your repository ● Look around Git Good practices ● Create branches ● Make small commits ● Write meaningful commit messages ● Use pull requests ● Review and discuss code ● Rebase often Markdown Briefly “Markdown is a lightweight markup language for creating formatted text using a plain-text editor.” Hands-on 3. Markdown ● Write a text in Your Project Report / README file ● Use elements of the Markdown syntax Coding Environment Code Editor vs IDE Coding Environment Free Code Editors Code Editor Platform Website Linux, Mac, Windows https://atom.io/ Linux, Mac, Windows https://code.visualstudio.com/ Windows https://notepad-plus-plus.org/ Linux https://www.vim.org/ Coding Environment Free IDEs IDE Platform Website Linux, Mac, Windows https://www.jetbrains.com/shop/eform /students Mac, Windows https://visualstudio.microsoft.com/vs/c ommunity/ Linux, Mac, Windows https://netbeans.apache.org// Linux https://www.eclipse.org/eclipseide/ Coding Environment Jupyter Notebook “The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.” Coding Environment Jupyter Notebook Uses include: ● data cleaning and transformation, ● numerical simulation, ● statistical modeling, ● data visualization, ● machine learning, and much more. Coding Environment Jupyter Notebook https://jupyter.org/try Hands-on 4. Environment ● Get a Code Editor or IDE of Your choice ● Open the repository / selected file ● Make changes in one of the files in the /demo folder ● Push the changes to Your remote repository Hands-on 5. Play with Git Try out diverse Git commands: ○ Create a local / remote branch ○ Commit ○ Check status ○ Create stash ○ Push ○ Merge two branches ○ Add a tag ○ ... ● Set up an account on a Git-hosting site ● Create a repository with the structure as in https://github.com/eliska-chalupova/DSIB01demo ● The repository will be used for all the materials for Your project throughout the course ● Use the README file to write Your project report ● Write & discuss all the results throughout the course in the project report ● You will present Your project at the colloquium by the end of semester Project Set-up Questions ? Mgr. Eliška Chalupová 375973@mail.muni.cz