## Introductory - [Intro](https://nodejs.org/en/about/) - [Blocking VS Non-Blocking](https://nodejs.org/en/docs/guides/blocking-vs-non-blocking/) - [Callbacks](https://nodejs.org/en/knowledge/getting-started/control-flow/what-are-callbacks/) - On top of callbacks there are (introduced in later versions of node or through libraries, see [bluebird](http://bluebirdjs.com/docs/getting-started.html) for previous): - [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) introduced in ES6. - [Async/await](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await) ## Appendix ### Web server - Popular http server [expressjs](https://expressjs.com/) - Lean (personal preference) [koajs](https://koajs.com/) ### Testing - Popular testing framework in community [mochajs](https://mochajs.org/) - Lean testing framework (personal preference) [tapejs](https://github.com/substack/tape)