<filename>abdis_machine_learning_handbook/_build/jupyter_execute/2_background/tools_background.py
#!/usr/bin/env python
# coding: utf-8

# # Tools Background
# 
# In this section, we will cover:
# - Tooling for building ML systems
# - Tools such as:
#     - Jupyter notebook, books and labs
#     - Other editors like VSCode
#     - Source Control
#     - Database
#     - Cloud
#     - Virtual Machines
# 
# 

# ## Jupyter
# 
# ### Jupyter Notebooks
# - Combines both text and code in the form of literature programming, that has a story/narative with the code
# - Advantages:
#     - see code execution in steps
#     - reproducible and shareable
#     - explain your code -> great for documentation
# - You can also visualise maths, videos and images in your notebook
# - Jupyter notebooks is made up of:
#     - End user in a browser : you - viewing the change in a browser
#     - Notebook Server : connects to browser using http & websockets, notebook file and kernel
#     - kernel : runs the code and sends results back to server, which then renders outputs to browser 
#     - the saved file (.ipynb) is saved as a json file
#     

# ## IDE's (e.g. VSCode)
# I use microsofts free and open source IDE called vscode. It is a great platform that has a lot of extensions for software engineers and data scientists. Additionally, it has great interactivity with git, allowing for easy git pull/push actions.
