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