Skip to content

Instantly share code, notes, and snippets.

@anshdivu
Last active November 21, 2017 13:30
Show Gist options
  • Save anshdivu/7c896c5430b73a4670f8d956c9f1f07d to your computer and use it in GitHub Desktop.
Save anshdivu/7c896c5430b73a4670f8d956c9f1f07d to your computer and use it in GitHub Desktop.
Node Training Catalog

I will add a new full stack javascript Training catalog section. This will include:

  • Getting started sections for Node.js and React.js
  • Add SWAT talk presentation for React.js and Node.js
  • Links to turtorials/learn more pages for Node and react
  • (optionally) getting started with deploying it to heroku.

Background (Technical Details)

Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side. It has an event-driven architecture and operates on a single thread, using non-blocking I/O calls. Since all requests are single threaded, it requires that any function performing I/O must use a callback (using an observer pattern). These design choices aim to optimize throughput and scalability, allowing Node.js to support tens of thousands of concurrent connections without incurring the cost of thread context switching.

The downside of the single threaded model is that apps can't scale by using machines with higher number of CPU cores. Instead, apps have to scale by deploying multiple instances running on multiple containers, VMs or physical machines. This makes Node.js very well suited for use in micro-services environments.

Getting Started

Download/Install Node.js

  • The easiest way to get started with Node is to download and run the installer from their website.
  • For more advanced users, you can install it using a package manager.
  • If you need to manage multiple versions of Node on your development machine, install it using nvm.

Recommended Development Tools (Opinionated)

  • IDE: Visual Studio Code
    • VS Code has very deep support for both server side and client side javascript including debugging, intellisense, inline api documentation, etc, etc, etc.
  • Code Formatter: https://prettier.io

Tutorials

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment