Course Outline
Introduction to Node.js
- Comparing RAM and I/O latency
- Blocking versus Non-Blocking operations
- Principles of Event-driven Programming
- The Event Loop mechanism
- Impact on the Event Loop through blocking operations
- Core Philosophy of Node.js
Setting up the Node.js Platform
- Downloading and Installation procedures
- Working with the Node REPL
- Creating a First Hello World application
Modules and npm
- Structure and anatomy of a module
- Managing private code within modules
- Methods for accessing and utilizing modules
- Essential npm commands
- Understanding package.json
The Callback Pattern
- Definition and nature of callbacks
- The callback-last convention
- The error-first convention
Events
- Scenarios for using Event Emitters
- Attaching functions to events
- Handling Event Requests
- Implementing Event Listening
Error Handling
- Implementing Error-first patterns in callbacks
- Handling errors within Event Emitters
- Managing Uncaught Exceptions
- Utilizing Domains for error isolation
Buffers
- The purpose and necessity of Buffers
- Processes for creating Buffers
- Techniques for reading and writing Buffers
- Advanced manipulation of Buffers
Streams
- Concepts behind streams
- Read and Write Stream APIs
- Implementing Flow Control
- Using Piping
- Working with Duplex Streams
- Working with Transform Streams
Express.js
- Introduction and installation of Express.js
- Developing a Hello Express application
- Defining application routes
- Managing Layout rendering
- Implementing template usage
- Incorporating partials
- Using locals and conditional templating
- Structuring routes into modules
Socket.io
- Listening for client events
- Broadcasting messages
- Handling and answering questions via sockets
Database Connectivity
- NoSQL and Document-oriented Stores
- Relational Database Systems
- Setting up configuration and platforms
- Performing CRUD Operations
Requirements
Participants enrolling in this course are expected to possess prior programming experience with JavaScript.
Testimonials (7)
I enjoyed the interesting topics and touching on the various nuances of javascript/typescript/nodejs/
John - BMW SA
Course - Node.js for JavaScript Developers
The platform
Shaun Mbhiza - BMW SA
Course - Node.js for JavaScript Developers
Hands on exercises
Daniel - BMW SA
Course - Node.js for JavaScript Developers
I was not aware that is would be so interactive and code heavy, which I loved and thought it made the learning more fun and effective.
Ryan - BMW SA
Course - Node.js for JavaScript Developers
His Humour & Personailty
Karabo Mphahlele - BMW SA
Course - Node.js for JavaScript Developers
The practical examples
Werner - BMW SA
Course - Node.js for JavaScript Developers
I was benefit from doing the exercises to understand nodejs concepts.