Nodejs Internals And Architecture
Published 3/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 17.66 GB | Duration: 19h 42m
Published 3/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 17.66 GB | Duration: 19h 42m
Understand how Node works inside out to improve performance, efficiency and consistency of your backend applications
What you'll learn
NodeJS Architecture
NodeJS protocols, file and socket programming internals
Optimize Node JS
Writing efficient code
Multi-threaded Node
Requirements
Backend and Operating Systems Fundamentals
Description
My favorite thing in software engineering is the art of making it transparent.Node is one of the most popular runtimes used on backend engineering yet I feel it is the least understood. I surely felt this way at times.I spent months working on a course to demystify NodeJS Internals and Architecture and distilled this in this comprehensive course.I built this course is for the engineers who can't stand working with something opaque.They love to understand what is running behind the engine.They enjoy tearing apart 1 the line of code into its original 1000 lines.They question why is the output of a Node program is unpredictable.They want to know when does the Node process exit.They want to know why Node takes so long to start in some cases.They appreciate how Node works on all operating systems and would like to know how it does that.For example by understanding the internals of HTTP module, you can write a backend in Node that accepts and process more requests. Every line of code you write you would think of how and when Node will process it.By understanding the event loop and the different stages you can tune and re-order your code to achieve best performance and even consistent result.Ever wrote a program in Node that fails 1% of the time while succeeds 99%? Understanding Node architecture helps you make your program predicable. As opposed to adding workaround because you don't understand. We all did that.It is all about removing blockage and letting the main loop phases “breath”. When we build software the problem is we often go against the grain. Understanding where the friction is in Node allow you to work with it as oppose to against it.In this course I cover the following- NodeJS ArchitectureI cover the various phases in the event loop and what exactly happens in each phase, how promises are just callbacks, how and when modules are loaded and their effect on performance, Node packages anatomy and more- Node InternalsThis is where we go one layer deeper, how Node truly achieves asynchronous IO with libuv, and how each protocol in node is implemented. How concurrent node works on both user level threads and process level.- Node Optimization and PerformanceNow that we understand the internals and architecture of Node, this is where we discuss tips how to make the code runs more efficiently and more performance. And only when we exhaust all other avenues Node provides ways to extend it with C++ add-ons where JavaScript just can't no longer hold.This course is for intermediate students who are familiar with Node and want to understand how it works. While not required, I recommend taking the fundamentals of operating system course as a prerequisite of this course.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Who this course for?
Lecture 3 Course Data
Lecture 4 Course Outline
Lecture 5 What do you need?
Section 2: NodeJS Architecture
Lecture 6 Node JS Architecture Intro
Lecture 7 Interrupted Language and V8
Lecture 8 The Event Loop
Lecture 9 The Main Module
Lecture 10 Pending Callbacks Phase
Lecture 11 Timers Phase
Lecture 12 Idle, Prepare Phase
Lecture 13 Poll Phase
Lecture 14 Check Phase
Lecture 15 Close Callbacks Phase
Lecture 16 Process.nextTick
Lecture 17 How Promises work under the hood
Lecture 18 Require, Import Event
Lecture 19 Anatomy of Node Packages
Lecture 20 When does Node terminate?
Section 3: Node Internals
Lecture 21 Node Internals Section Intro
Lecture 22 libuv Overview
Lecture 23 Asynchronous IO in the Operating System
Lecture 24 Inside Node Network IO
Lecture 25 Inside Node File IO
Lecture 26 Inside Node HTTP
Lecture 27 Inside Node HTTPS
Lecture 28 Inside Node DNS
Lecture 29 Inside Node TCP
Lecture 30 Inside Node UDP
Lecture 31 Inside Node Streams
Lecture 32 Process vs Thread
Lecture 33 Worker Threads
Lecture 34 Child Process and Cluster
Section 4: Optimization and performance tips
Lecture 35 Optimization Section Intro
Lecture 36 Node Performance
Lecture 37 Debugging NodeJS
Lecture 38 Capturing Node's Traffic
Lecture 39 Request modules performance showdown
Lecture 40 C++ Add-ons
Lecture 41 Course Summary
Intermediate level software engineers who want to understand Node internals,Backend engineers who want to run Node efficiently