Trust is earned, not given

A different perspective

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.

24 parts · 2018-02-19 → 2024-08-20

  1. Part 1async/await without the callback pyramid2018-02-19
  2. Part 2util.promisify and living with callbacks2018-05-14
  3. Part 3streams, backpressure, and why pipeline() replaced .pipe()2018-09-11
  4. Part 4worker threads — real parallelism for CPU-bound work2018-11-27
  5. Part 5ES modules arrive — import, export, and the interop rules2019-02-05
  6. Part 6the EventEmitter — and the 'error' event that crashes your process2019-05-21
  7. Part 7HTTP/2 in core — multiplexing, headers, and the end of the connection pool hack2019-08-13
  8. Part 8getting dependencies under control — lockfiles, npm ci, and audit2019-11-19
  9. Part 9optional chaining and nullish coalescing — the defensive code you can delete2020-02-11
  10. Part 10AsyncLocalStorage — request-scoped context without threading it through every call2020-05-26
  11. Part 11fs.promises and AbortController — doing two things at once, then stopping one2020-08-18
  12. Part 12top-level await — when a module is its own init sequence2020-11-10
  13. Part 13npm workspaces — a monorepo without adding a tool2021-03-02
  14. Part 14the profiler you already have — --cpu-prof, heap snapshots, and the flame graph2021-06-15
  15. Part 15diagnostics_channel — publishing what happens inside your app, without an event emitter2021-09-28
  16. Part 16Node 18 — global fetch, Web Streams, and the shrinking dependency list2022-04-19
  17. Part 17the built-in test runner and watch mode2022-08-09
  18. Part 18Corepack — pinning the package manager instead of documenting it2022-11-15
  19. Part 19the permission model — capability-based security for a process2023-02-21
  20. Part 20a real CLI in one file — parseArgs, readline, and exit codes2023-06-13
  21. Part 21single executable applications — shipping a binary without Node2023-09-26
  22. Part 22require(esm) — the dual-package problem finally closes2024-01-16
  23. Part 23Node 22 — WebSocket client, glob, and magic bytes2024-04-23
  24. 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