Node.js
Server-side JavaScript across the years it became a platform: async/await and promisification, streams and backpressure, worker threads, ES modules, AsyncLocalStorage, npm workspaces, the built-in test runner, global fetch, the permission model, require(esm), and graceful shutdown.
- Part 1async/await without the callback pyramid2018-02-19
- Part 2util.promisify and living with callbacks2018-05-14
- Part 3streams, backpressure, and why pipeline() replaced .pipe()2018-09-11
- Part 4worker threads — real parallelism for CPU-bound work2018-11-27
- Part 5ES modules arrive — import, export, and the interop rules2019-02-05
- Part 6the EventEmitter — and the 'error' event that crashes your process2019-05-21
- Part 7HTTP/2 in core — multiplexing, headers, and the end of the connection pool hack2019-08-13
- Part 8getting dependencies under control — lockfiles, npm ci, and audit2019-11-19
- Part 9optional chaining and nullish coalescing — the defensive code you can delete2020-02-11
- Part 10AsyncLocalStorage — request-scoped context without threading it through every call2020-05-26
- Part 11fs.promises and AbortController — doing two things at once, then stopping one2020-08-18
- Part 12top-level await — when a module is its own init sequence2020-11-10
- Part 13npm workspaces — a monorepo without adding a tool2021-03-02
- Part 14the profiler you already have — --cpu-prof, heap snapshots, and the flame graph2021-06-15
- Part 15diagnostics_channel — publishing what happens inside your app, without an event emitter2021-09-28
- Part 16Node 18 — global fetch, Web Streams, and the shrinking dependency list2022-04-19
- Part 17the built-in test runner and watch mode2022-08-09
- Part 18Corepack — pinning the package manager instead of documenting it2022-11-15
- Part 19the permission model — capability-based security for a process2023-02-21
- Part 20a real CLI in one file — parseArgs, readline, and exit codes2023-06-13
- Part 21single executable applications — shipping a binary without Node2023-09-26
- Part 22require(esm) — the dual-package problem finally closes2024-01-16
- Part 23Node 22 — WebSocket client, glob, and magic bytes2024-04-23
- Part 24graceful shutdown, structured logs, and the end of console.log in production2024-08-20
Subscribe to this series: RSS feed · everything
Other series: AI Frontiers · React.js · Rust · AI-Enabled RMA · DotNetCode · DevOps on AWS · DevOps on Azure · DevOps on Google Cloud · AI fundamentals · Stripe in C# · Shopify in C# · Windows domains · A math practice toy · all series