Intermediate Node JS: Streams, Design Patterns, Performance
- Description
- Curriculum
- FAQ
- Reviews
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.
-
9Callback PatternVideo lesson
-
10Resolving PromisesVideo lesson
-
11Rejecting promisesVideo lesson
-
12The promisify functionVideo lesson
-
13Sequential executionVideo lesson
-
14async_await with sequenceVideo lesson
-
15Parallel executionVideo lesson
-
16Concurrent operationsVideo lesson
-
17Logging concurrent tasksVideo lesson
-
22Buffer vs StreamsVideo lesson
-
23Readable streamsVideo lesson
-
24Using readable streamsVideo lesson
-
25Writable streamsVideo lesson
-
26BackpressureVideo lesson
-
27Piping streamsVideo lesson
-
28Duplex streamsVideo lesson
-
29Transform streamsVideo lesson
-
30Streaming to the browserVideo lesson
-
31Handling range requestsVideo lesson
-
32Uploading streamsVideo lesson
-
33Parsing multipart_form-dataVideo lesson
-
34IntroVideo lesson
-
35Generator functions explainedVideo lesson
-
36Exploring the new streams apiVideo lesson
-
37Streaming from databasesVideo lesson
-
38Initializing the databaseVideo lesson
-
39Reading data as streamVideo lesson
-
40Stream operatorsVideo lesson
-
41Abort controller with streamsVideo lesson
-
42IntroVideo lesson
-
43The Three Scaling StrategiesVideo lesson
-
44CloningVideo lesson
-
45Child ProcessesVideo lesson
-
46Process PoolVideo lesson
-
47Fault ToleranceVideo lesson
-
48Using third-party toolsVideo lesson
-
49Scaling databasesVideo lesson
-
50Data partitioning explainedVideo lesson
-
51Using child processes for parallel async operationsVideo lesson
-
52Initializing The FilesVideo lesson
-
53Running tasks in child processVideo lesson
-
54Reading stream inside child processVideo lesson
-
55Converting child process into a streamVideo lesson
-
56Merging child process streamsVideo lesson
-
57Writing to outputVideo lesson
-
58Error handlingVideo lesson
-
59Implementing the final logicVideo lesson
-
60Investigating an issueVideo lesson
-
61Fixing the issue with the Singletones patternVideo lesson
-
62The Singletones pattern with a simpler syntaxVideo lesson
-
63The Prototype patternVideo lesson
-
64The Factory patternVideo lesson
-
65Investigating an issueVideo lesson
-
66Fixing the issue using the Builder patternVideo lesson
-
67Investigating an issueVideo lesson
-
68Using the Adapter patternVideo lesson
-
69Investigating the Proxy patternVideo lesson
-
70Using the Proxy patternVideo lesson
-
71The Composite pattern explainedVideo lesson
-
72Implementing the composite patternVideo lesson
-
73The decorator pattern explainedVideo lesson
-
74Implementing the decorator patternVideo lesson

External Links May Contain Affiliate Links read more