Course Outline
Introduction to Node.js
- RAM vs. I/O latency
- Blocking vs. Non-Blocking operations
- Event-driven Programming
- The Event Loop
- Preventing Blocking of the Event Loop
- Core Node.js Philosophies
Setting Up the Node.js Platform
- Downloading and Installation procedures
- Using the Node REPL
- Creating a basic 'Hello World' application
Modules and npm
- Structure of a module
- Encapsulating Private Code
- Accessing and Utilizing Modules
- Essential npm Commands
- The package.json file
The Callback Pattern
- Definition and usage of callbacks
- The Callback-last convention
- The Error-first convention
Events
- Scenarios for using Event Emitters
- Binding Functions to Events
- Issuing Event Requests
- Listening for Events
Error Handling
- Implementing Error-first in Callbacks
- Handling Errors in Event Emitters
- Managing Uncaught Exceptions
- Utilizing Domains
Buffers
- The purpose and role of Buffers
- Buffer Creation methods
- Reading from and Writing to Buffers
- Manipulating Buffer Data
Streams
- Understanding Stream concepts
- Read and Write Stream APIs
- Implementing Flow Control
- Piping Data
- Duplex Streams
- Transform Streams
Express.js
- Introduction and Installation of Express.js
- Building a basic Express application
- Defining Application Routes
- Rendering Layouts
- Utilizing Templates
- Incorporating Partials
- Using Locals and Conditional Templates
- Modularizing Route Definitions
Socket.io
- Listening for Connections
- Broadcasting Messages
- Handling Queries and Responses
Database Integration
- NoSQL and Document Stores
- Relational Databases
- Configuration and Platform Setup
- Performing CRUD Operations
Requirements
Participants enrolling in this course should possess prior programming experience in 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.