Код → runtime → приложение → система

Бэкенд

Как исполняется серверный код, как NestJS собирает приложение и как backend-система сохраняет отзывчивость при росте нагрузки и сложности.

Главы
17
Направления
5
PRODUCTION-КЕЙСЫ
19

Что входит в эту сферу

Node.js Runtime

Event Loop · libuv · Worker Threads

07
  1. ГЛАВА 01Порядок Event LoopСтек → очереди → фазы

    Сравните sync-код, nextTick, microtasks, timers, poll и check в одном живом запуске.

  2. ГЛАВА 02Демультиплексор событийМного источников → один поток

    Одновременно запустите таймер, чтение файла и DNS, а затем наблюдайте возврат готовых callbacks.

  3. ГЛАВА 03Очередь callbacksОдин стек, много готовых задач

    Пять нулевых таймеров показывают, как один тяжёлый callback задерживает всю очередь.

  4. ГЛАВА 04Блокировка vs WorkerCPU-bound работа

    Сравните паузу heartbeat и настоящий HTTP load test при CPU-работе в main thread и ограниченном Worker pool.

  5. ГЛАВА 05Пул потоков libuvСкрытый параллелизм

    Шесть PBKDF2-задач показывают очередь нативного thread pool и возврат результатов в Event Loop.

  6. ГЛАВА 07Promises, setImmediate и BullMQMicrotasks → check → Redis jobs

    Закрепите Promise-цепочки, async/await, комбинаторы и setImmediate, затем проследите реальный lifecycle BullMQ job через Redis.

  7. ГЛАВА 08Node.js против Java, Go и PythonConcurrency model → подходящий workload

    Разберите, почему Node эффективен на I/O, где заканчивается преимущество Event Loop и какие модели используют Java, Go и Python.

Память и диагностика

leaks · closures · GC · heap snapshots

02
  1. ГЛАВА 06Утечка памятиRetained references → рост RSS

    Управляемая утечка в изолированном процессе: наблюдайте heap, external и RSS, затем освободите ссылки и запустите GC.

  2. ГЛАВА 09Closures, GC и heap snapshotsRetainer path → доказанная причина

    Воспроизведите утечку через замыкание или глобальный кэш, снимите heap и найдите путь удержания от payload до GC root.

NestJS

DI · IoC · request lifecycle

02
  1. ГЛАВА 11Dependency Injection и IoC в NestJSModule metadata → tokens → instances

    Запустите настоящий Nest application context и сравните class, value, factory, alias, singleton и request-scoped providers.

  2. ГЛАВА 12Жизненный цикл запроса NestJSMiddleware → policy → handler → outcome

    Проведите реальные HTTP-запросы через middleware, guard, interceptor, pipe, controller, service и exception filter.

Архитектура

microservices · caching · System Design

03
  1. ГЛАВА 13Микросервисы: границы, сообщения и отказыCapability → contract → transport

    Разберите, зачем систему делят на сервисы, чем command отличается от event и какие проблемы появляются после сетевой границы.

  2. ГЛАВА 21Кэширование в Node.js, NestJS, Redis и HTTPKey → hit/miss → invalidation

    Разберите, где cache убирает повторную работу и как stale data, stampede, неверные keys и неограниченная память создают инциденты.

  3. ГЛАВА 25Основы System DesignТребования → масштаб → состояние → отказы

    Научитесь превращать требования продукта в capacity estimates, потоки данных, границы надёжности и проверяемые компромиссы.

Python и CPython

syntax · objects · GIL · asyncio

03
  1. ГЛАВА 22Python-синтаксис для JavaScript-разработчикаОтступы → коллекции → функции

    Освойте минимальный синтаксис, коллекции, control flow, функции и правила модулей, необходимые для чтения обычного Python-кода.

  2. ГЛАВА 23Объекты, функции и протоколы PythonIdentity · classes · generators · errors

    Научитесь читать функции как значения, классы, dataclasses, generators, decorators, exceptions и context managers без ложных аналогий с JavaScript.

  3. ГЛАВА 24CPython runtime, память, GIL и asyncioSource → bytecode → frames → concurrency

    Проследите, как CPython компилирует и выполняет код, управляет объектами, собирает циклы, координирует threads и планирует asyncio Tasks.