Node.js
О чём курс
Node.js требует понимания архитектуры, а не простого умения работать с библиотеками. Здесь показывают, как проектировать надежные высоконагруженные системы на «чистой» Node.js, минуя лишние фреймворки и абстракции. Материал сфокусирован на глубоком погружении: от устройства Event Loop и управления памятью до реализации многопоточности с использованием SharedArrayBuffer и Atomics. Вы разберете принципы построения слоистой архитектуры (Clean Architecture, DDD), проектирование API, не зависящих от транспорта, и вопросы безопасности (от защиты от SQL-инъекций до противодействия DoS-атакам). В результате вы освоите проектирование производительных серверных приложений, телеметрию ресурсов и тонкую оптимизацию I/O и CPU bound задач.
Программа обучения
- Node.js Введение в технологию, обзор API, основные идеи: за счет чего реализована экономия памяти, cpu, I/O
- Системы модулей CJS (CommonJS) and ESM (ECMAScrip modules), особенности в Node.js, зависимости и пакеты npm
- Асинхронное программирование: event loop, async hooks, race condition, callbacks, async/await, thenable, promises
- Параллельное программирование: threads, semaphore, mutex, spin locks, Atomics, SharedArrayBuffer, Web Locks API
- Реактивное программирование: Observer, EventEmitter, RxJS, асинхронные и конкурентные очереди, async collectors
- Изоляция кода и данных в Node.js: vm, v8, защита global, контекстов, модулей и прототипов от патчинга
- Работа с файлами: fs, Buffer, Stream, pipe, backpressure, Web streams API, наблюдение за файловой системой
- Структура и архитектура проекта, слои, DDD, Clean architecture, связанность и связность кода, протекание абстракций
- Принципы GRASP и SOLID в JavaScript с адаптацией для Node.js, IoC (инверсия управления) и DI (внедрение зависимостей)
- Сетевые протоколы: HTTP(S), HTTP2, TCP, UDP, TLS, Websocket, SSE, HTTP/3 (QUIC)
- Принципы взаимодействия систем: REST, RPC, Pipeline, Event-bus, Event-broker, клиент-сервер, peer-to-peer
- API на принципах транспорт-агностик и фреймворк-агностик, контракты, реализация сессий и сервиса аутентификации
- Приложения, приближенные к реальному времени, интерактивность и коллаборативные приложения на вебсокетах
- Распространенные паттерны и антипаттерны в приложениях на Node.js
- Распределенные системы, высоконагруженные системы, балансировка нагрузки, кластеризация и масштабирование, IP sticky
- Вопросы безопасности: DoS, XSS, Path traversal, CSRF, SQL-инъекции
- Работа с базами данных, слой доступа к данным, описание структуры данных, доступ к данным, postgres, redis, in-memory
- Сравнение подходов domain in the middle, ORM, active record, repository, data mapper, схемы данных, query builder
- Утечки памяти и ресурсов, количественная оценка надежности, устойчивости, доступности, гибкости, качества
- Инфраструктура и инструментарий: логирование, тестирование, линтеры, отладка, CI/CD, встроенный testing framework
- Performance hooks, телеметрия ресурсов и оптимизация: I/O bound, CPU bound, memory bound, профилирование
- Graceful shutdown в Node.js, работа с ошибками и исключениями, unhandled exceptions, stack trace
- Встроенная криптография в Node.js (openssl), addons, plugins, Node-API (ранее N-API), WASI (Webassembly)
- Serverless и облачные
Другие материалы автора 2
TS Timur Shemsedinov Все материалыОтзывов пока нет. Будьте первым!
Это не розничная цена — это ваш взнос в складчину. Мы собираем группу участников и делим между ними стоимость официального доступа: каждый платит только свою долю, а получает весь материал. Чем больше участников, тем меньше взнос. После того как сумма собрана, мы оформляем официальный доступ и раздаём материалы всем, кто участвовал.
Нажмите кнопку «Получить доступ» на этой странице и следуйте инструкциям. Вас переведёт на форму оплаты — доступны все современные способы (карта, СБП, электронные кошельки). После оплаты на почту придёт письмо с доступом: материалы выдаются в разделе «Мои складчины» на нашем основном сайте skladchik.org. Учтите: в России skladchik.org открывается только через ускоритель интернета (VPN) — настроить его можно за пару минут по инструкции на skladchik-kak-voiti.online.
Да, конечно. Все материалы — видео, PDF, дополнительные файлы — можно скачать к себе на компьютер и пользоваться ими сколько угодно, без ограничений по времени. Ссылки остаются активными в вашей библиотеке «Мои складчины».