Learn what Node.js is and understand its role in modern development.
- What is Node.js?
- JavaScript outside the browser
- V8 JavaScript engine
- Event-driven architecture
- Non-blocking I/O
- Node.js vs browser JavaScript
- Installation and setup
- Node.js ecosystem
Understand the Node.js runtime and execution environment.
- Node.js architecture
- Event loop
- Call stack
- Callback queue
- Global objects
- Process object
- Environment variables
- Command line arguments
Work with Node.js modules and understand module system.
- Module system overview
- require() function
- module.exports
- exports vs module.exports
- Local modules
- Core modules
- Third-party modules
- Module caching
Master file and directory operations using fs module.
- File system module
- Reading files (sync/async)
- Writing files
- File metadata
- Directory operations
- File watching
- Streams for large files
- Path module
Build HTTP servers and handle web requests.
- HTTP module
- Creating HTTP servers
- Request and response objects
- Handling different routes
- Query parameters
- POST data handling
- Static file serving
- HTTP status codes
Manage dependencies and packages using NPM.
- NPM introduction
- package.json file
- Installing packages
- Dependencies vs devDependencies
- NPM scripts
- Semantic versioning
- Package-lock.json
- Publishing packages
Handle asynchronous operations with callbacks, promises, and async/await.
- Callback patterns
- Callback hell
- Promises in Node.js
- Promise chaining
- Async/await syntax
- Error handling
- Promisifying callbacks
- Concurrent operations
Understand event-driven programming and custom events.
- Event-driven architecture
- EventEmitter class
- Creating custom events
- Event listeners
- Once vs on methods
- Removing listeners
- Error events
- Event emitter patterns
Handle large data efficiently using streams and buffers.
- Buffer basics
- Stream concepts
- Readable streams
- Writable streams
- Transform streams
- Duplex streams
- Piping streams
- Stream performance
Build web applications using the Express.js framework.
- Express.js setup
- Middleware concept
- Routing with Express
- Request and response handling
- Template engines
- Static file serving
- Error handling
- Express generators
Connect Node.js applications to databases.
- Database drivers
- MongoDB with Mongoose
- MySQL integration
- PostgreSQL setup
- Connection pooling
- Query building
- ORM vs ODM
- Database migrations
Test and debug Node.js applications effectively.
- Testing strategies
- Jest for Node.js
- Unit testing
- Integration testing
- Mocking dependencies
- Debugging techniques
- Node.js debugger
- Performance profiling