Node Js практический курс

Node Js практический курс


Содержание курса:

  • Node.js Введение в технологию, обзор API, основные идеи: за счет чего реализована экономия памяти, cpu, I/O
  • Системы модулей CJS (CommonJS) and ESM (ECMAScrip modules), особенности в Node.js, зависимости и пакеты npm
  • Асинхронное программирование: event loopasync hooksrace conditioncallbacksasync/awaitthenablepromises
  • Параллельное программирование: threadssemaphoremutexspin locksAtomicsSharedArrayBuffer, Web Locks API
  • Реактивное программирование: ObserverEventEmitterRxJS, асинхронные и конкурентные очереди, async collectors
  • Изоляция кода и данных в Node.js: vmv8, защита global, контекстов, модулей и прототипов от патчинга
  • Работа с файлами: fsBufferStreampipebackpressure, Web streams API, наблюдение за файловой системой
  • Структура и архитектура проекта, слои, DDDClean architecture, связанность и связность кода, протекание абстракций
  • Принципы GRASP и SOLID в JavaScript с адаптацией для Node.js, IoC (инверсия управления) и DI (внедрение зависимостей)
  • Сетевые протоколы: HTTP(S)HTTP2TCPUDPTLSWebsocketSSEHTTP/3 (QUIC)
  • Принципы взаимодействия систем: RESTRPCPipelineEvent-busEvent-broker, клиент-сервер, peer-to-peer
  • API на принципах транспорт-агностик и фреймворк-агностик, контракты, реализация сессий и сервиса аутентификации
  • Приложения, приближенные к реальному времени, интерактивность и коллаборативные приложения на вебсокетах
  • Распространенные паттерны и антипаттерны в приложениях на Node.js
  • Распределенные системы, высоконагруженные системы, балансировка нагрузки, кластеризация и масштабирование, IP sticky
  • Вопросы безопасности: DoSXSSPath traversalCSRFSQL-инъекции
  • Работа с базами данных, слой доступа к данным, описание структуры данных, доступ к данным, postgresredisin-memory
  • Сравнение подходов domain in the middleORMactive recordrepositorydata mapper, схемы данных, query builder
  • Утечки памяти и ресурсов, количественная оценка надежности, устойчивости, доступности, гибкости, качества
  • Инфраструктура и инструментарий: логирование, тестирование, линтеры, отладка, CI/CD, встроенный testing framework
  • Performance hooks, телеметрия ресурсов и оптимизация: I/O bound, CPU bound, memory bound, профилирование
  • Graceful shutdown в Node.js, работа с ошибками и исключениями, unhandled exceptionsstack trace
  • Встроенная криптография в Node.js (openssl), addonspluginsNode-API (ранее N-API), WASI (Webassembly)
  • Serverless и облачные FaaS решения на базе Node.js
  • Практическое использование интроспекции, рефлекcии и скаффолдинга


Report Page