Course Outline
Introduction to Node.js
- RAM versus I/O latency
- Blocking compared to Non-Blocking I/O
- Event-driven Programming
- The Event Loop
- Blocking the Event Loop
- Node.js Philosophy
Setting Up the Node.js Platform
- Downloading and Installation
- Using the Node REPL
- Your First Hello World Application
Modules and npm
- Structure of a module
- Encapsulating Private Code
- Importing and Utilizing Modules
- Essential npm Commands
- The package.json File
The Callback Pattern
- Understanding Callbacks
- Callback-last Convention
- Error-first Convention
Events
- When to Employ Event Emitters
- Binding Functions to Events
- Handling Event Requests
- Listening for Events
Error Handling
- Callbacks with Error-first Approach
- Managing Errors in Event Emitters
- Handling Uncaught Exceptions
- Utilizing Domains
Buffers
- The Purpose of Buffers
- Creating Buffers
- Reading from and Writing to Buffers
- Manipulating Buffer Data
Streams
- Concepts of Streams
- Read and Write Stream APIs
- Flow Control Mechanisms
- Piping Streams
- Duplex Streams
- Transform Streams
Express.js
- Introduction and Installation of Express.js
- Creating a Basic Hello Express App
- Defining Routes
- Rendering Layouts
- Implementing Templates
- Incorporating Partials
- Using Locals and Conditional Templates
- Modularizing Route Logic
Socket.io
- Listening for Messages
- Broadcasting Events
- Handling Queries and Responses
Connecting to Databases
- NoSQL and Document Stores
- Relational Databases
- Configuration and Environment Setup
- Executing CRUD Operations
Requirements
Participants enrolling in this course are expected to possess prior experience in JavaScript programming.
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.