Skip to content

Latest commit

 

History

History
92 lines (70 loc) · 4.18 KB

Essentials.md

File metadata and controls

92 lines (70 loc) · 4.18 KB

🧠 Essentials

It's easier to draw a straight line with a ruler right. Just like that there a few tools and skills that make your life as a developer easy.

💡 Note

This document is inspired from MIT's Missing Semester of CS Education, you can check it out to learn more about it.

🛠️ Tools and Concepts


🧑🏻‍💻 Command Line Environment

As a developer we use the command line/terminal significantly during development. The knowledge of basic commands and familiarity with command line interface(CLI) will help you in the journey ahead.

🎓 Topics to learn

  • Basic terminal commands

    • cd - Move around your directory structure
    • mkdir - Create directories
    • touch - Create or modify files
    • ls - List the contents of the directory or file
    • rm - Delete directories or files
  • Navigation

    • Follow this simple activity to learn how to navigate through the command line.
    • Make a directory with your Name using mkdir
    • Move to the directory using cd
    • Create a text file About using touch
    • Create a directory Projects using mkdir
    • List of the contents of the current directory using ls. You will see About.txt and Projects
    • Delete About and Projects using rm

🧑🏻‍💻 Resources

Articles

🎯 Checkpoint

  • You should be able to comfortably browse through directories and create and delete files
  • You should know how to use the basic terminal commands
  • You should be able to comfortably used the commands mentioned in documentations to install libraries and packages via CLI

🌴 Version Control

Even if you haven't heard of version control you might be aware of Git and GitHub. Often times developers collaborate to work on projects, Version Control allows developers to track changes made to their codebase over time and collaborate effectively with other team members.

🎓 Topics to learn

  • Git terminologies and concept
    • Commits
    • Staging
    • Branching
  • GitHub
    • Forking a Repository
    • Cloning a Repository
    • Pull Requests and Merging

🧑🏻‍💻 Resources

Interactive Tutorials

Articles

🖥️ Code Editors

A best-fit code editor will make any developer more efficient at writing code. It will assist to examine code for less mistakes and show where edits need to be made.

🔖 Advantages

  • Code formatting - It will make your code more readable by automatically adding proper indentation.
  • Intellisense - It helps you write code faster by suggesting the next line or keyword in your code.
  • Git Integration - In-built integration to help you perform staging, commits and other git functions
  • Plugins and Features - The code editors provide a large variety of plugins and extensions to enhance your development process

🖥️ Editors

You can choose an editor of your choice. These are the most commonly used code editors:

  • VS Code - A light-weight editor by microsoft
  • Sublime Text - A light weight editor by Sublime HQ

📦 Package Managers

Package managers help you install softwares and other libraries via CLI. There many package managers available out there such as NPM, PIP, HomeBrew , etc. You will use them in different learning paths.

If you are interested to know more about package management, you can checkout Package Management basics by MDN.