Chapter 9

What is a shell? Why and when are command-line interfaces advantageous compared to graphical interfaces?

A shell is a user interface that you use to interact with the operating system of a computer. Usually, people use this term to refer to a command-line shell that allows you to control the OS with a set of textual commands. There are three main advantages of command-line interfaces over GUIs. First, textual commands can be combined and stored and thus form scripts. Second, they require a minimal amount of memory and thus are way more suitable for interacting with remote machines via the internet. Third, command-line interfaces are quite unified across different operating systems—commands on Linux and macOS are identical, and even Windows has either similar or aliased commands.

What exactly does version control mean? Is it suitable for research projects?

Version control (VC) is a way you can track changes over multiple versions of your work – a piece of code, a dataset, or any other piece of information. Usually, version control systems allow users to collaborate, split, and merge different versions, and revert to any stored version of the project. The version control of the code is critical for modern development as it allows developers to safely add changes to the same body of code.

What is the difference between Git and GitHub? Is Git owned by GitHub?

Git is an open source technology that allows decentralized version control. It is free and works on any operating system. GitHub, on the other hand, is both a company and a web service, with the main purpose of working as central storage for your code repositories. It allows you to read and provide the overall interaction for the online repository, as well as to provide plenty of social interactions around code. GitHub is free and allows an unlimited number of public repositories; the majority of open source projects are stored and tracked with GitHub. That being said, it is not the only service that provides this functionality.

What are Git branches used for?

Technically, Git branches are just pointer objects, pointing at specific commits. Practically, they represent different parallel flows of code development. As such, they are useful, for example, for when you want to work on adding new functionality without affecting the master version; that is, until this new functionality is ready.

What are the two roles of the Conda tool?

Conda software has two roles. First, it is used as a package manager, allowing you to install and update certain packages and software (not necessarily Python-related) from Conda's cloud. The second role of Conda is to provide virtual environments for development, isolating a specific version of Python and the tools that are required, from other environments. On one hand, this allows you to work on different versions of Python and packages on the same machine, while on the other hand, it allows you to reproduce a specific environment on other machines.

How does Jupyter interact with multiple Conda environments?

Jupyter can work from within an environment. However, we recommend that you run Jupyter from the root environment. With the nbconda package installed, Jupyter will see all environments.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.226.250