Объем материала: 20 часов лекций, еженедельно 2 часа семинары в течении года, репозитории с примерами кода. Что нужно знать на входе:
- Синтаксис JavaScript без всяких триков
- Основы асинхронного программирования
- Уверенно владеть git, иметь github аккаунт
- Желательно docker, иметь рабочую машину на linux или mac
- Любая среда разработки, IDE или редактор
Ссылки на старый курс:
- Структура со ссылками на видео и репозитории с примерами кода
- Для части лекций есть таймкоды и подробное оглавление
Чем это курс не является: это не чтение документации, не курс по фреймворкам, не курс по Metarhia, не повторение старого курса, не лайвкодинг и не мастеркласс, не стрим. Новый курс - это максимально сконцентрированная информация и практические задачи по разработке на чистой ноде но с хорошей архитектурой и использованием всех современных возможностей Node.js
👉 Patreon: Подписаться: https://www.patreon.com/tshemsedinov
👉 Видео обзор курса: https://youtu.be/UGGzSEfCjPU
- 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
и облачныеFaaS
решения на базе Node.js- Практическое использование интроспекции, рефлекcии и скаффолдинга
План «Expert» на 1 год за $204 (+ локальные налоги) на Patreon. Помесячная подписка «Expert» не дает доступа. Доступ к матераиалам курса остается и после завершения подписки.
👉 Подписаться: https://www.patreon.com/tshemsedinov