Код → runtime → приложение → система
Бэкенд
Как исполняется серверный код, как NestJS собирает приложение и как backend-система сохраняет отзывчивость при росте нагрузки и сложности.
- Главы
- 17
- Направления
- 5
- PRODUCTION-КЕЙСЫ
- 19
Что входит в эту сферу
Node.js Runtime
Event Loop · libuv · Worker Threads
- ГЛАВА 01Порядок Event LoopСтек → очереди → фазы
Сравните sync-код, nextTick, microtasks, timers, poll и check в одном живом запуске.
- ГЛАВА 02Демультиплексор событийМного источников → один поток
Одновременно запустите таймер, чтение файла и DNS, а затем наблюдайте возврат готовых callbacks.
- ГЛАВА 03Очередь callbacksОдин стек, много готовых задач
Пять нулевых таймеров показывают, как один тяжёлый callback задерживает всю очередь.
- ГЛАВА 04Блокировка vs WorkerCPU-bound работа
Сравните паузу heartbeat и настоящий HTTP load test при CPU-работе в main thread и ограниченном Worker pool.
- ГЛАВА 05Пул потоков libuvСкрытый параллелизм
Шесть PBKDF2-задач показывают очередь нативного thread pool и возврат результатов в Event Loop.
- ГЛАВА 07Promises, setImmediate и BullMQMicrotasks → check → Redis jobs
Закрепите Promise-цепочки, async/await, комбинаторы и setImmediate, затем проследите реальный lifecycle BullMQ job через Redis.
- ГЛАВА 08Node.js против Java, Go и PythonConcurrency model → подходящий workload
Разберите, почему Node эффективен на I/O, где заканчивается преимущество Event Loop и какие модели используют Java, Go и Python.
Память и диагностика
leaks · closures · GC · heap snapshots
- ГЛАВА 06Утечка памятиRetained references → рост RSS
Управляемая утечка в изолированном процессе: наблюдайте heap, external и RSS, затем освободите ссылки и запустите GC.
- ГЛАВА 09Closures, GC и heap snapshotsRetainer path → доказанная причина
Воспроизведите утечку через замыкание или глобальный кэш, снимите heap и найдите путь удержания от payload до GC root.
NestJS
DI · IoC · request lifecycle
- ГЛАВА 11Dependency Injection и IoC в NestJSModule metadata → tokens → instances
Запустите настоящий Nest application context и сравните class, value, factory, alias, singleton и request-scoped providers.
- ГЛАВА 12Жизненный цикл запроса NestJSMiddleware → policy → handler → outcome
Проведите реальные HTTP-запросы через middleware, guard, interceptor, pipe, controller, service и exception filter.
Архитектура
microservices · caching · System Design
- ГЛАВА 13Микросервисы: границы, сообщения и отказыCapability → contract → transport
Разберите, зачем систему делят на сервисы, чем command отличается от event и какие проблемы появляются после сетевой границы.
- ГЛАВА 21Кэширование в Node.js, NestJS, Redis и HTTPKey → hit/miss → invalidation
Разберите, где cache убирает повторную работу и как stale data, stampede, неверные keys и неограниченная память создают инциденты.
- ГЛАВА 25Основы System DesignТребования → масштаб → состояние → отказы
Научитесь превращать требования продукта в capacity estimates, потоки данных, границы надёжности и проверяемые компромиссы.
Python и CPython
syntax · objects · GIL · asyncio
- ГЛАВА 22Python-синтаксис для JavaScript-разработчикаОтступы → коллекции → функции
Освойте минимальный синтаксис, коллекции, control flow, функции и правила модулей, необходимые для чтения обычного Python-кода.
- ГЛАВА 23Объекты, функции и протоколы PythonIdentity · classes · generators · errors
Научитесь читать функции как значения, классы, dataclasses, generators, decorators, exceptions и context managers без ложных аналогий с JavaScript.
- ГЛАВА 24CPython runtime, память, GIL и asyncioSource → bytecode → frames → concurrency
Проследите, как CPython компилирует и выполняет код, управляет объектами, собирает циклы, координирует threads и планирует asyncio Tasks.