...

/

Technical Overview

Technical Overview

Get a brief introduction to the technical terms that will be used throughout this course.

Technical terms

Just to make sure we are all on the same page, here are some of the terms from this course that you should understand before proceeding. Feel free to skip past them if they are already familiar to you.

CLI

Command Line Interface is a textual interface for interacting with your computer. It is essentially a text-based application that takes in the text input, processes it, and returns an output. When interacting with the examples in this course, you will need to open up a CLI and type in commands to make things happen, rather than clicking buttons and tabs with a mouse. If you are on Windows, this will be the Command Prompt (CMD) or PowerShell. If you are working on Mac or Unix-like systems, it will be the Terminal.

Bash

Bash is a shell command processor that runs in a CLI. You can write Bash scripts and run them to execute a sequence of commands. You might first clone a repository, create a branch, add a text file with content, stage the file, commit it, and then push it back to the remote repository all in one go. This would mean that you will not have to type out each command separately, and that will prove to be useful for automation. The reason this course does not use Bash is that Windows does not natively support it, as of now, and your project should be applicable cross-platform. You will be writing JavaScript with Node, so your scripts will be able to run on Windows as well.

Here is an example of a Bash script that switches to the master branch, pulls remote changes for it, then creates a new branch named after the first argument to this script, and switches to it.

#!/bin/bash
#0.0.1

git checkout master
git pull origin master
git checkout -b $1

Node.js

When you open up the CLI and type node, you are interacting with the Node executable installed on your machine. When you pass a JavaScript file to it, the Node executable executes the file. Node is an Event-driven I/O server-side JavaScript environment based on Google’s V8 engine. It was designed to build scalable network applications. It processes incoming requests in a loop, known as the event loop and operates on a single thread, using non-blocking I/O calls. This allows it to support a high volume of concurrent connections.

Node has two versions ...