GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ishtms/nodebook: Learn and Master Node.js. V8, libuv, event loop, buffers, streams, async internals, performance, security, deployment, and production architecture.

BranchesTags
Open more actions menu

Latest commit

 

History

44 Commits
44 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
chapters
chapters
 
 
public
public
 
 
README.md
README.md
 
 

Repository files navigation

NodeBook

Tip

For better experience, I'd recommend reading it on the NodeBook Website or if you prefer getting the slides and reading an e-book version (ePUB and PDF - both dark/light). You can download the digital bundle here: NodeBook Digital Bundle

NodeBook Cover

NodeBook is my my way of explaining everything about Server side developement using Node.js, it's internals and the parts that matter when apps misbehave.

I started writing it because most Node material stops too early. You learn routes, middleware, promises, maybe some streams, then the hard parts get left as "go read the docs" or "profile it". Memory leaks, slow requests, blocked event loop, file descriptor limits, weird DNS behavior, broken backpressure, GC pauses, module loading issues. That is where Node starts getting interesting.

This repo has the public chapters. Some are finished, some are still being edited, and some parts will probably move around.

If you're brand new to JavaScript, this may be a bit much. You can still read it, but it assumes you know the basics and have written some Node before.

Why

You don't need V8 internals to ship a small app.

Run Node in prod long enough and the internals stop feeling optional. The event loop, libuv, buffers, syscalls, TCP, thread pools, GC, module resolution, process signals, they all show up in bugs.

Node is also easy to poke at. Write a small script, run it, profile it, break it, change one thing, run it again.

What is inside

NodeBook is planned as four volumes, 38 topics, and around 200+ sub-chapters.

You don't have to read it from page one. Pick the part you're dealing with. Streams, files, modules, networking, async behavior, perf, prod work, whatever.

Structure

Volume I covers the runtime basics. What Node is, V8, libuv, event loop phases, microtasks, process lifecycle, buffers, streams, files, modules, and async patterns.

Volume II is about building with Node. Worker threads, child processes, clustering, crypto, HTTP, TLS, databases, queues, and the places where small choices get expensive later.

Volume III is performance and debugging. V8 optimization, hidden classes, inline caches, deopts, garbage collection, heap snapshots, flamegraphs, event loop delay, and memory leaks.

Volume IV is prod Node. Deploys, logs, metrics, security, scaling, incidents, and keeping services understandable after they've been running for a while.

Status

Volume I is completely done. The rest is being written and reviewed.

There are runnable examples and small labs where they make sense. If something is wrong or unclear, open an issue or PR.

Links

Read the book at thenodebook.com.

Main repo: github.com/ishtms/nodebook

Complete Chapter Index

01. Node.js Architecture

  • 01. What Node.js Actually Is
  • 02. Inside the v8 engine
  • 03. The Node.js Event Loop
  • 04. Node.js Process Lifecycle

02. Buffers & Binary Data

  • 01. What is a Buffer?
  • 02. Buffer Allocation Patterns
  • 03. Working with buffers
  • 04. Memory Fragmentation and Exercises

03. Streams

  • 01. Foundation of Streams
  • 02. Readable Streams
  • 03. Writable Streams
  • 04. Transform Streams
  • 05. Modern Async Pipelines and Error Handling
  • 06. Zero-Copy, Scatter/Gather I/O

04. File System

  • 01. File Descriptors & Handles
  • 02. Reading & Writing Files
  • 03. fs.promises & FileHandle
  • 04. Watching & Atomic Writes
  • 05. Permissions, Metadata & Edge Cases

05. Process & OS

  • 01. The Process Object
  • 02. Signals & Exit Codes
  • 03. The os Module
  • 04. Standard I/O

06. The Module System

  • 01. CJS require() Internals
  • 02. Module Resolution Algorithm
  • 03. ES Modules import/export
  • 04. CJS/ESM Interop & Dual Packages
  • 05. import.meta, Caching & Circular Deps

07. Async Patterns

  • 01. Callback Patterns and Error-First Convention
  • 02. Promises and Microtask Scheduling
  • 03. Async/Await Under the Hood
  • 04. EventEmitter Internals
  • 05. Async Iterators and for-await-of
  • 06. Promise Combinators and Advanced Patterns

08. Runtime Platform APIs & Tooling

  • 01. CLI Flags and Runtime Configuration
  • 02. Environment Files and Configuration Loading
  • 03. Built-In Web Platform APIs
  • 04. TypeScript Execution and Compile Cache
  • 05. REPL, Inspector, Watch Mode, and Single Executables

09. Network Fundamentals with Node.js

  • 01. TCP/IP Stack and OS Networking Primitives
  • 02. DNS Resolution End to End
  • 03. TCP Connections, Flow Control, and Failure Modes
  • 04. Sockets and the net Module
  • 05. UDP and the dgram Module
  • 06. Socket Options, Keep-Alive, Nagle, and Backlog
  • 07. Full Request Path from Client to Process

About

Learn and Master Node.js. V8, libuv, event loop, buffers, streams, async internals, performance, security, deployment, and production architecture.

thenodebook.com

Topics

backendbackend-developmentbookbuffersdeploymentdistributed-systemsevent-loopguidejavascriptlearn-to-codelearninglibuvnodenode-jsnodejsperformancesecurityserverstreamsv8

Resources

Readme
Activity

Stars

594 stars

Watchers

15 watching

Forks

36 forks
Report repository

Releases

Sponsor this project

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.