Объем материала: 48 лекций + 9 докладов и вебинаров, 37 репозиториев с примерами кода, 4 PDF со слайдами. Перед основной частью курса по Node.js нужно сначала освоить хоть частично курс по асинхронному программированию: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Asynchronous.md
- Node.js Middleware – никогда больше!
- Байки про JavaScript и Node.js с Тимуром Шемсединовым
- Стратегия входа Node.js в корпоративный сектор
- Часть 1: Обзор новых возможностей, история и изоляция
- Часть 2: Проблемы и как они связаны с фундаментальными CS
- Часть 3: Структура и архитектура проекта, Node.js Starter Kit
- Часть 1: DDD, слои транспорт-агностик подход
- Часть 2: Изоляция кода и внедрение зависимостей
- Часть 3: Применение GRASP, SOLID, DDD, LoD, GoF
- Node.js Введение в технологию
- Node.js in 2021: новости платформы и вызовы на следующее десятилетие
- Слайды: https://www2.slideshare.net/tshemsedinov/nodejs-in-2021
- Семинар с ответами на вопросы и обсуждением: https://youtu.be/zYRDhxj0zhQ
- Node.js в 2019 году
- Асинхронное программирование в Node.js
- Это только обзорная лекция, ссылка на курс по асинхронному программированию находится выше, перед оглавлением
- Обзор встроенного Node.js API
- Ссылка на документацию: https://nodejs.org/api/documentation.html
- Настройка среды: Node.js, npm, git, eslint
- Репозиторий с инструментами: https://github.com/HowProgrammingWorks/Tools
- Работа с файлами, буферами и файловыми потоками в Node.js
- Работа с файлами: https://github.com/HowProgrammingWorks/Files
- Файловые потоки: https://github.com/HowProgrammingWorks/Streams
- Буферы: https://github.com/HowProgrammingWorks/Buffers
- Наблюдение за файловой системой в Node.js
- Файловая система в Node.js: https://github.com/HowProgrammingWorks/Files
- Наблюдение за файлами: https://github.com/HowProgrammingWorks/FilesystemWatch
- Консоль и командная строка в JavaScript и Node.js
- Примеры кода: https://github.com/HowProgrammingWorks/CommandLine
- Архитектурный подход к программированию
- Модули, слои, структура проекта, песочницы в JavaScript и Node.js
- Пример проекта: https://github.com/HowProgrammingWorks/Project
- Абстрактные слои: https://github.com/HowProgrammingWorks/AbstractionLayers
- Песочницы: https://github.com/HowProgrammingWorks/Sandboxes
- Node.js модули: ECMA, Common.js, Module API
- Примеры кода: https://github.com/HowProgrammingWorks/Modularity
- Модули и пакеты, использование package.json и node_modules
- Примеры кода: https://github.com/HowProgrammingWorks/Packages
- Инверсия управления и внедрение зависимостей в Node.js
- Инверсия управления: https://github.com/HowProgrammingWorks/InversionOfControl
- Внедрение зависимостей: https://github.com/HowProgrammingWorks/DependencyInjection
- Межпроцессовое взаимодействие в Node.js
- Слои, связанность и связность кода
- Примеры кода: https://github.com/HowProgrammingWorks/Abstractions
- GRASP принципы
- Клиент-сервер на Node.js TCP и UDP, DNS
- Примеры кода: https://github.com/HowProgrammingWorks/Socket
- HTTP сервер на Node.js (routing, cluster, IP sticky)
- Примеры кода: https://github.com/HowProgrammingWorks/NodeServer
- HTTP сессии и cookies на чистом Node.js
- Примеры кода: https://github.com/HowProgrammingWorks/Session
- HTTP запросы в браузере и Node.js: XMLHttpRequest, fetch
- Примеры кода: https://github.com/HowProgrammingWorks/HttpRequest
- Разработка API на Node.js (клиент и сервер)
- Примеры кода: https://github.com/HowProgrammingWorks/API
- WebSocket сервер на Node.js (электронные таблицы и чат)
- Скаффолдинг для API, UI и данных
- Примеры кода: https://github.com/HowProgrammingWorks/Scaffolding
- Высоконагруженные распределенные приложения на Node.js
- Отдача статики в Node.js
- Примеры кода и задачи: https://github.com/HowProgrammingWorks/ServeStatic
- Слой доступа к данным, курсор, транзакция
- Примеры кода: https://github.com/HowProgrammingWorks/Transaction
- Работа с базами данных в Node.js на примере PostgreSQL
- Примеры кода: https://github.com/HowProgrammingWorks/Databases
- Паттерн Команда (Command) действие и параметры как объект
- Этот паттерн понадобится для следующей лекции
- Примеры кода: https://github.com/HowProgrammingWorks/Command
- CQS, CQRS, Event Sourcing - Разделение запросов и модификации данных
- Применение EventSourcing
- См. примеры из предыдущей лекции
- Модель акторов (Actor Model)
- Примеры кода: https://github.com/HowProgrammingWorks/ActorModel
- Утечки памяти в Node.js и JavaScript, сборка мусора и профилирование
- Примеры кода: https://github.com/HowProgrammingWorks/MemoryLeaks
- Atomics, SharedArrayBuffer, worker_threads в Node.js
- Потоки: https://github.com/HowProgrammingWorks/Threads/
- Атомарные операции: https://github.com/HowProgrammingWorks/Atomics/
- Семафоры и мьютексы в JavaScript и Node.js
- Разделяемая память в многопоточном Node.js - доклад на конференции JS Fest 2019 Spring
- Web Locks API in Node.js and browser
- Необработанные ошибки в промисах
- Примеры кода: https://github.com/HowProgrammingWorks/PromiseError
- Проблема асинхронного стектрейса в JavaScript и Node.js
- Примеры кода: https://github.com/HowProgrammingWorks/StackTrace
- Логирование на Node.js и JavaScript
- Примеры кода: https://github.com/HowProgrammingWorks/Logging
- Graceful Shutdown в Node.js
- Примеры кода и задачи: https://github.com/HowProgrammingWorks/GracefulShutdown
- Безопасность приложений Node.js
- Serverless Clouds (FaaS) и изоляция контекстов запросов в Node.js