4 major parts here:
- Toolbox (aka. dev environment setup)
- Command line primer
- Git primer
- JavaScript primer
The primers are not comprehensive, but should be enough to get started...
- Communication: Slack
- Language: JavaScript
- CLI (Terminal + Shell): iTerm + zshell (Mac) or Git Bash (Windows)
- Editor (with Linter): Sublime Text 3
- Source Version Control: Git + Github
- Runtime: Node (and later a browser)
This is how we will communicate when we are not using our voices.
This is the leading contender to replace internal corporate email. It (or its competitor HipChat) is what software development companies are using.
Has lots of nice features for developers:
- Easy file sharing
- Nice code snippets in chat messages
- Developer tool integrations
A human-readable and computer-interpretable syntax for getting the computer to do stuff.
Remember the target audience for your code is people. TODO: link to airbnb style guide?
JavaScript is one such language that every computer in the world (with an Internet browser) is already able to run.
i.e. it is the language of the web
(see JavaScript primer... TODO)
- basics
- functions
- logic
A terminal (or terminal emulator in the case of modern machines) is just the window that manages the command line interface.
It draws characters to the screen (sometimes with colors) and handles keypresses.
The shell is sent keypresses from the terminal (via stdin
), and sends characters to the terminal to be drawn (via stdout
).
The shell handles all actual running of command line programs.
Better (my opinion) terminal for Mac
Better (opinion) shell for Mac (and Linux)
-
Git for Windows = MinGW + Git
-
Terminal: Mintty (sp?) is the terminal (select this during install)
-
Shell: MYSYS (part of MinGW) has a version of
bash
Mark sure you are NOT using Git CMD!
link
On Mac OSX make sure you actually install it to your Applications folder!!!
Mac: ln -s /Applications/Sublime\ Text\ 3.app/Content/SharedSupport/bin/subl /usr/local/bin/subl
Windows: System -> Advanced -> Environment Variables
Variables containing string values that the shell and programs that run from the shell have access to.
With Node we can do:
console.log(process.env);
A list (technically a string that can be split into a list with either the ':' or ';' characters on Mac OSX/*nix or Windows respectively) of directory paths to check when given the name of a program to run.
With Node we can do:
console.log(process.env.PATH);
Won't work until Node is installed
The standard for track