Intermediate Node JS: Streams, Design Patterns, Performance , Level up your Node.js skills by mastering design patterns to solve common problems and scaling apps with streams.
Course Description
Welcome to this course, designed for those who aspire to become Node.js experts.
This course is designed to introduce you to more advanced topics in Node.js, including internals, streams, design patterns, and scalability. The content of this course was made for you who want to become a Node.js expert.
In this course I avoided long-winded fluffy projects full of configurations and third-party tools that quickly become outdated. Instead, you’ll find concise, focused lessons that help you level up your Node.js skills and deepen your understanding of the Node.js .
The current version of the course consists of 4 modules.
1. Asynchronous Programming Fundamentals:
In the first module, you’ll learn advanced techniques for managing asynchronous programming and data streaming in Node.js. We’ll cover asynchronous patterns such as callbacks, promises, and async/await, and how to apply them for sequential, parallel, and concurrent execution.
The course is beginner-friendly so this very first module covers the fundamentals. You might already be familiar with some of the material in this module, but I highly recommend going through it, as I’ve structured the course progressively, starting from the basics of Node.js and building up to the Streams API. However, you can skip any part since the lessons are not tightly dependent on one another.
2. Streams API
The second module focuses on the Streams API. First, we explore the traditional API, then dive into the more modern API, giving you a comprehensive understanding of both. I also provide a practical example to help you better grasp when and how to use the Streams API.
3. Performance and Scaling Node.js Applications:
In the performance module, I start by walking you through the fundamental concepts of scalability in Node.js, including forking an application into multiple child processes and multi-threading with process pools. In the second section, we revisit the Streams API, but this time we combine it with child processes to handle time-consuming operations more efficiently.
2. Design Patterns:
Finally, in the Design Patterns module, we explore the most common design patterns in the context of Node.js. For each pattern, we begin with a simple example that highlights a problem, and then we solve it using the appropriate design pattern. This approach not only introduces you to design pattern concepts but also shows where and how to apply them effectively.
Note: Several additional modules and sections will be added to the course in the coming weeks.
Who this course is for:
- Developers interested in improving their NodeJS coding skills
- Technical interview candidates looking to review the most important concepts in Node JS.