Introduction
welcome
What you should know
Installing dependencies
What Is Node.js?
Node.js history
How Node.js works
Installing Node.js
Installing Node.js on a Mac
Installing Node.js on a PC
Node Core
The global object
Argument variables with process.argv
Standard input and standard output
Global timing functions
Node Modules
Core modules
Collecting information with Readline
Handling events with EventEmitter
Exporting custom modules
Creating child process with exec
Creating child process with spawn
The File System
Listing directory files
Reading files
Writing and appending files
Directory creation
Renaming and removing files
Renaming and removing directories
Readable file streams
Writable file streams
The HTTP Module
Making a request
Building a web server
Serving files
Serving JSON data
Collecting POST data
Node Package Manager
Installing npms locally
Installing npms globally on a Mac
Installing npms globally on a PC
File servers with httpster
Web Servers
The package.json file
Intro to Express
Express routing and CORS
Express post bodies and params
WebSockets
Creating a WebSocket server
Broadcasting messages with WebSockets
Creating WebSockets with Socket.IO
Testing and Debugging
Testing with mocha and Chai
Asynchronous mocha testing
Mocking a server with Nock
Injecting dependencies with rewire
Advanced testing Sinon spies
Advanced testing Sinon stubs
Code coverage with Istanbul
Testing HTTP endpoints with Supertest
Checking server responses with Cheerio
Automation and Deployment
Hinting your code with Grunt
Converting LESS to CSS with Grunt
Bundling client scripts with Browserify
Rapid development with Grunt Watches
Automation with npm
Debugging with npm
Conclusion
Next steps