Skip to main content
CF

Mastering Node.js Streams with Erick Wendel

11h 39m 5s
English
Paid

Learn how to use Node.js Streams to handle data as you need it. This course shows you how to work with large files, media, and system integrations without loading everything in memory. You follow clear steps and build useful tools with Streams.

What You Will Learn

You work with real examples and build projects you can test and scale. Each lesson guides you through one idea at a time.

  • See how Web Streams differ from Node.js Streams
  • Write unit and end-to-end tests for Stream pipelines
  • Use multiple processes and threads in Node.js
  • Stream video and audio on demand
  • Handle large files and process data in parts

Why Streams Matter

Many apps deal with files, media, or network data. These tasks can slow your app if you load everything at once. Streams help you work with data in small pieces. This keeps your app fast and stable.

Skills You Build

Work With Real Data

You build tools that read, write, and transform data without blocking the event loop. You learn how to design clean Stream pipelines.

Test Your Code

You learn how to test Stream behavior from end to end. You also learn how to mock Stream input and output in unit tests.

Run Tasks at Scale

You use worker threads and child processes to handle heavy work. You learn when to use each tool and how to keep your app safe.

About the Author: Erick Wendel

Erick Wendel thumbnail

Erick Wendel is a Brazilian software engineer and Microsoft / Google / Node.js Foundation Member, one of the most active independent Node.js educators online. He is widely cited for the depth of his Node.js streams and runtime-internals content.

His CourseFlix listing carries two Erick Wendel courses: Mastering Node.js Streams with Erick Wendel (a deep treatment of the streams API and the back-pressure / piping patterns underneath production data pipelines) and Fullstack Vanilla JavaScript (a framework-free full-stack JavaScript course showing what's possible with the platform alone).

Material is paid and aimed at intermediate-and-up Node.js developers ready to deepen their understanding of the runtime. For broader content, see CourseFlix's Node.js category page.

Watch Online 34 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 34 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: WATCH ME FIRST!
All Course Lessons (34)
#Lesson TitleDurationAccess
1
WATCH ME FIRST! Demo
06:29
2
Meet your Instructor - Who's Erick Wendel?
05:00
3
What are JavaScript events?
03:22
4
Project - Using the Observer Pattern in practice - Payments in Ecommerces use case
42:21
5
Introduction
00:57
6
Buffers: The Key concept behind Streams
27:12
7
What are Strems and Streams Type
09:07
8
What are Streams in Practice - Readable, Writable and Transform Streams?
33:22
9
What are Duplex Streams - Transform and PassThrough
05:18
10
Duplex Streams in practice
20:31
11
Project - creating a chat application between servers using the native Node.js net module
17:43
12
Understanding the difference between streams API .pipe and pipeline
15:17
13
Project - Creating a stream data splitter and converting huge csv files to ndjson - PT01
40:25
14
Project - Creating a stream data splitter and converting huge csv files to ndjson - PT02
49:15
15
Async Iterators, Generator Functions, and on-demand processing
11:25
16
Working with Streams Operators - Consuming and processing data from SQL Databases on-demand
28:38
17
Aborting Async Operations
08:05
18
Project - Consuming Web APIs as Node.js Streams
47:51
19
Introduction
01:27
20
WebStreams 101
13:06
21
Project - Consuming and producing massive data using Web streams (back + frontend) - PT01
21:34
22
Project - Consuming and producing massive data using Web streams (back + frontend) - PT02
31:10
23
Introduction
01:56
24
Processing data in parallel using child processes and Node.js Streams
45:39
25
Introduction
01:28
26
Working with Workers and using N-Tiers architecture for frontend apps
42:40
27
Working with Web Streams and parsing CSV to JSON data on demand
37:28
28
Finding ocurrences and reporting progress
25:42
29
Introduction
00:30
30
Project Overview + Initial Template
16:34
31
Broadcasting empty audio streams to all connected users
10:33
32
Testing complex scenarios with no libraries or frameworks
19:17
33
Playing and Stopping audio streams
35:48
34
Merging ongoing audio streams adding effects on-demand + challenges
21:55
Unlock unlimited learning

Get instant access to all 33 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for this course?
The course does not list specific prerequisites, but familiarity with basic Node.js and JavaScript concepts is likely beneficial. Understanding JavaScript events, as covered in the lesson 'What are JavaScript events?', will help you grasp the fundamentals of Streams. Prior experience with Node.js modules and basic server-side programming might also be useful for engaging with the course projects.
What projects will I build during the course?
You will work on several projects that demonstrate practical uses of Node.js Streams. For instance, you'll create a chat application using the Node.js net module and build a stream data splitter to convert CSV files to NDJSON. Another project involves consuming Web APIs as Node.js Streams, allowing you to handle large-scale data processing efficiently.
Who is the target audience for this course?
The course is designed for developers who wish to enhance their skills in handling large data streams efficiently using Node.js. It's suitable for those interested in building scalable applications that work with media files, large datasets, or require efficient data processing pipelines. Developers looking to optimize application performance when dealing with network data or file systems will also find it valuable.
How does the depth of this course compare to similar courses?
This course offers a deep dive into Node.js Streams, focusing on practical applications and testing methodologies. Unlike some introductory courses, it covers advanced topics like handling large files, streaming video/audio, and using multiple processes and threads in Node.js. It also emphasizes testing Stream behavior, which may not be as thoroughly covered in other courses.
What specific tools or platforms are covered in this course?
The course covers various aspects of Node.js Streams and their integration with different technologies. You will learn to work with Node.js net module for server communication and use SQL databases for on-demand data processing. Additionally, the course explores Web Streams and their differences from Node.js Streams, providing a comprehensive understanding of both platforms.
What topics are not covered in this course?
The course focuses specifically on Node.js Streams and related data processing techniques. It does not cover broader topics such as general Node.js application development, client-side JavaScript frameworks, or non-stream-related Node.js modules. Additionally, it does not delve into frontend development in detail, except where Web Streams are concerned.
What is the estimated time commitment for this course?
The course consists of 34 lessons, with the total runtime of the video content not specified. Given the depth of topics and the inclusion of multiple projects, expect to spend additional time on hands-on practice and testing. Allocating a few weeks with regular study sessions should provide a comprehensive understanding of the course material.