Free to read · Three levels
Node.js: from runtime foundations to reliable services
A complete self-study path through core Node.js, ESM, asynchronous programming, API design, testing, streams, persistence, security, and operations.
Start learningIn this course
Study eighteen developed lessons in three ordered levels. Each lesson connects a mental model to two complete examples, three diagnostic mistakes, two worked exercises, and official references. Examples use synthetic data and core modules so that the concepts stay visible without a framework.
Save complete JavaScript examples as .mjs files and run them with Node. Local verification used Node 22.23.3. Servers bind only to a local ephemeral port and close; file examples own temporary directories. These exercises explain important boundaries, including where a teaching model is not durable storage or production authentication.
What you will learn
- Trace asynchronous work and assign completion, failure, cancellation, and cleanup to an explicit owner.
- Design validated and tested application boundaries with bounded memory, concurrency, and persistence semantics.
- Use diagnostics and operational contracts to release, observe, secure, and stop a Node.js service responsibly.
Your learning path
Three levels
Basic: the Node.js runtime
Build a precise foundation in JavaScript values, explicit modules, asynchronous control flow, files, HTTP, and startup configuration.
- Node.js and the JavaScript foundations
- Modules, packages, and npm
- Promises and the event loop
- Files, paths, and JSON
- HTTP requests and responses
- Configuration and command-line programs
Intermediate: application boundaries
Design validated APIs, owned error paths, meaningful tests, bounded streams, persistence contracts, and resource authorization.
- API contracts and validation
- Error boundaries and cancellation
- Testing behavior with core tools
- Streams and backpressure
- Persistence, transactions, and idempotency
- Authentication and authorization concepts
Advanced: reliable Node.js services
Bound concurrency, interpret runtime diagnostics, test performance claims, and prepare secure observable services for release and shutdown.
- Bounded concurrency and worker threads
- Event-loop delay and profiling
- Performance experiments and memory budgets
- Reliability and graceful shutdown
- Security boundaries and dependency hygiene
- Deployment and observability
Who this is for
- Learners who want to understand server-side JavaScript and build a sound foundation for backend development.
- Developers moving from small scripts to tested services with explicit operational and security boundaries.
Before you start
- Basic familiarity with variables, conditions, functions, and terminal navigation; the first lesson reviews the JavaScript details used later.
- A currently supported Node.js installation and permission to create temporary local files and local loopback listeners.