- Introduction to Node.js
- Installing Node.js
- Node's Event Loop
- Alternatives to Node.js
- Writing asynchronous code
- Modularizing code
- Understanding built-in modules
- Techniques for modularizing JavaScirpt code
- Using require() to modularize application code
- Using npm for third-party modules
- Handling Exceptions
- Events and Streams
- Understanding Events
- EventEmitter class
- Understanding Streams
- Reading and writing streams
- Using pipe()
- Accessing Local Resources
- Process Object
- Manipulating File System
- Understanding Buffers
- Node.js and the web
- Handling web requests
- Building a web server
- Understanding the need for web sockets
- Realtime interaction using socket.io
- Building web applications using Express.js
- Installing Express.js
- Routing
- Parameters and queries in routing
- Building views using Jade view engine
- Using blocks for layout
- Displaying data
- Working with forms
- Serving files
- Working with cookies and sessions
- Authentication and authorization
- Error Handling
- Scaling Node applications
- The Child process model
- exec, spawn, and fork functions
- Using the Cluster module
- Node.js Eco System
- Node Packages
- Packages of interest
- Deciding Factors
- Monitoring
- Monitoring Node.js processes
- Detecting Memory Leaks
- Advanced
- Configuration Node processe