- Internals and concepts
- Strong and weak sides of node.js
- Stateful and stateless servers
- Nonblocking I/O and blocking code
- Event loop phases
- Event loop microtasks and macrotasks
- Garbage collection
- Node.js LTS schedule
- I/O-bound, CPU-bound, memory-bound tasks
- Interactive applications (close to real-time)
- Modularity, layers and dependencies
- CommonJS modules
- ECMAScript modules
- Module
node:module
- Caching in CJS and ESM
- Modules as singletons
- Contexts and scripts module
node:vm
- Dependencies:
npm
,node_modules
- Files
package.json
,package-lock.json
- Module-based permissions model
- Isolation with modularity
- Dependency injection
- DI containers
- Coupling and cohesion
- Framework agnostic approach
- Environment
- Command line arguments
- Node.js CLI
- Process-based permissions
- Graceful shutdown
- Clustering
- Watch filesystem changes with --watch
- Internal API
- Streams API
- Web Streams API
- Crypto API
- Password hashing with crypto.scrypt
- Web Crypto API
- File system API (sync and async)
- Copy folder recursively
- Worker threads
- Performance hooks
- Native fetch and nodejs/undici
- async_hooks
- AsyncLocalStorage
- AsyncResource
- Deprecated domain API
- Node.js single executable
- SharedArrayBuffer
- Module
node:worker_threads
- Module
node:child_process
- MessageChannel, MessagePort
- BroadcastChannel
- Generating crypto random UUID
- Module
node:url
vsnew URL
- Module
node:assert
- Internationalization
- Blob, File, Buffer, module
node:buffer
- Module
node:zlib
- Network
- Endpoint throttling
- ALPN
- SNI callback
- SSL certificates
- Protocol agnostic approach
- Fetch API
- IncomingMessage
- HTTP(S)
- TCP/SSL
- UDP
- TLS
- Websocket
- SSE
- HTTP/3 (QUIC)
- Long polling
- REST
- RPC
- Routing
- DoS
- DDoS
- XSS
- Path traversal
- CSRF
- DNS
- SQL injection
- noDelay
- keep-alive
- IP sticky sessions
- Technique and tools
- Native test runner
- Logging
- Application configuring
- Testing
- CI/CD
- Readable
- Writable
- Transform
- Back pressure
- Buffer
- Console
- Inspector
- Data access
- Data access layer
- Repository
- Active record
- Query builder
- Object-Relational Mapping
- CRUD
- DTO
- Error handling and debugging
Error
error.cause
error.code
error.message
error.stack
Error.captureStackTrace
- How to avoid mixins
- Uncaught exceptions
- Heap dump
- Debugging tools
- Flame graph
- Memory leaks
- Resource leaks
- Data race
- Integrations and bindings
- Native addons
C
andC++
addonsRust
addonsZig
addons- NAN (Native Abstractions for Node.js)
- Node-API (formerly N-API)
- NAPI
C
andC++
- NAPI
Rust
- NAPI
Zig
- Webassembly
WAT
- Webassembly
C
andC++
- Webassembly
Rust
- Webassembly
Zig
- Webassembly
AssemblyScript
- Shared memory
- V8 binary serialization