🗺️ Node.js
Серверный JavaScript на V8 + libuv.
С чего начать
- Что такое Node.js
- Установка и nvm
- REPL и запуск скриптов
- Event Loop в Node
- npm basics
- CommonJS vs ES Modules в Node
- Что и как учить в Node.js
Основы
- Что такое Node.js · Установка и nvm · REPL и запуск скриптов
- Event Loop в Node · CommonJS vs ES Modules в Node
- Песочницы и VM в Node · Сессии и контексты в Node
- Структура Node.js проекта и слои · Graceful Shutdown
- Производительность и оптимизация в V8
Модули встроенные
- Файлы: fs · fs.watch -- наблюдение и live reload
- HTTP: http · HTTP-методы -- GET, POST, PUT, DELETE, PATCH · HTTP-статусы -- 1xx, 2xx, 3xx, 4xx, 5xx · HTTP-заголовки -- основные
- Streams: Stream API -- потоки · Stream -- backpressure · Stream -- async iterators · StringDecoder -- UTF-8 в стримах
- События: events -- EventEmitter
- Система: path · process · os -- информация о системе · Buffer -- бинарные данные
- Процессы: Child Process -- exec, spawn, fork · Cluster -- масштабирование · IPC -- межпроцессовое взаимодействие · IPC -- взаимодействие процессов
- Сериализация: Сериализация -- JSON, V8, BSON
npm
Web (сетевой стек)
- HTTP сервер: http · Обработка запросов и ответов · Статические файлы
- HTTP Proxy на чистой ноде · Streaming Response
- TCP UDP DNS клиент-сервер · Fetch в Node.js -- встроенный клиент
- SMTP клиент на Node.js -- net и tls
- WebSocket: WebSocket сервер -- ws, Socket.io · Sticky session -- IP affinity
- RPC: API без привязки к транспорту -- RPC · Metacom -- RPC через WebSocket
- Очереди: Message Queue -- RabbitMQ, Bull · Async Queue -- ограничение конкурентности
Express и фреймворки
- Что такое Express · Express -- установка и Hello World
- Express -- маршруты и методы · Роутинг · Express -- Router и модуляризация
- Middleware (антипаттерн в 2026 — см. альтернативы: NestJS, Fastify, Hono)
- Express -- Обработка ошибок
- Express -- Шаблонизаторы (EJS, Pug) · Express -- Раздача статики
- REST API на Express · Загрузка файлов -- Multer
БД
- SQL vs NoSQL -- выбор
- PostgreSQL -- основы и pg · MongoDB -- основы и Mongoose
- ORM -- Prisma обзор · Миграции базы данных
- Redis -- кеширование · Моки для базы данных
Безопасность
- Node.js -- безопасность (Helmet, rate-limit)
- Passport.js -- обзор · Переменные окружения -- dotenv
- HTTP Security Headers -- полный список · Path Traversal
Производительность
- Cluster -- масштабирование · Высоконагруженные приложения на Node
- Worker Threads -- параллелизм
- SharedArrayBuffer и Atomics · Compare-and-Swap (CAS) -- атомарные регистры
- Async Queue -- ограничение конкурентности
- Serverless и FaaS в Node
Логирование и мониторинг
Тестирование
Архитектура
- Layered Architecture · Структура Node.js проекта и слои
- Inversion of Control и DI в Node
- Microservices -- обзор · Сессии и контексты в Node.js