Course Outline
Introduction to Node.js
- RAM vs. I/O latency
- Blocking vs. Non-Blocking operations
- 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
- First Hello World application
Modules and npm
- Anatomy of a module
- Encapsulating private code
- Accessing and utilizing modules
- npm command usage
- Managing package.json
The Callback Pattern
- Definition of callbacks
- Callback-last convention
- Error-first convention
Events
- Appropriate use of Event Emitters
- Binding functions to events
- Issuing Event Requests
- Event Listening mechanisms
Error Handling
- Callbacks: Error-first pattern
- Handling Errors in Event Emitters
- Managing Uncaught Exceptions
- Utilizing Domains
Buffers
- The purpose of Buffers
- Creating Buffers
- Reading from and Writing to Buffers
- Manipulating Buffer contents
Streams
- Concept of streams
- Read and Write Stream APIs
- Flow Control mechanisms
- Piping data
- Duplex Streams
- Transform Streams
Express.js
- Introduction to Express.js and installation
- Building a Hello Express application
- Defining routes
- Rendering Layouts
- Utilizing templates
- Incorporating partials
- Using locals and conditional templates
- Modularizing route logic
Socket.io
- Listening for events
- Broadcasting messages
- Responding to client questions
Connecting to Databases
- NoSQL and Document Stores
- Relational Databases
- Configuration and platform setup
- Performing 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.