ШКОЛА МЕТАРХИИ: Node.js в 2020
2 полных дня интенсивного обучения через практику в хорошем пансионате под Киевом плюс неформальное общение, живые обсуждения и разбор практических внедрений Node.js, ответы на вопросы и советы в решении проблем Ваших проектов.
Когда: с 09:00 субботы 11 июля до 20:00 воскресенья 12 июля 2020 г.
Условия проживания: комфортные двухместные номера блочного типа с балконами, трехразовое питание, чистый весенний воздух, тишина санаторной зоны пригорода Киева, вековые сосны и красивый ухоженный парк входят в стоимость билета.
Цена: 5000 грн.
Регистрация:
https://forms.gle/yA2xEW731TxAZNH6AПРОГРАММА ШКОЛЫ
Автор: Тимур Шемсединов
1. Обзор платформы Node.js
* Новое в Node.js за последние два года
* Состояние платформы в 2020 и готовность к серьезным проектам
* Обзор и анализ встроенного API Node.js
* Отладка и профилирование приложений
* Процессы и потоки, IPC, Atomics, SharedArrayBuffer
* Изоляция контекстов: worker_threads, vm.Script, песочницы
* Streams, файловая система, I/O, Buffers
2. Разработка высокопроизводительных APIs на Node.js
* Сетевые протоколы: HTTP(S), TCP, TLS, UDP, WebSocket, SSE, QUIC
* Кластеризация, роутинг и балансировка, IP sticky, надежность
* HTTP сессии, cookies, отдача статики и потоков
* Как не привязывать API к фреймворку и транспорту
* Контексты запросов и безопасность исполнения
* Использование WebSocket для интерактивных приложений
* Изменение кода и статических файлов без перезапуска
3. Архитектура серверов на Node.js
* Структура проектов: модули, слои, зависимости
* Применение принципов и паттернов GRASP, SOLID, GoF
* Распределенные системы и межпроцессовая коммуникация
* Инверсия управления и внедрение зависимостей
* Высоконагруженные приложения, балансировка нагрузки
* Интроспекция, рефлексия и скаффолдинг
* Мультипарадигменное и метапрограммирование
4. Асинхронное программирование
* Контракт callback-last error-first
* Event-loop, таймеры, EventEmitter и AsyncEmitter
* Контракт Thenable, promises, cancelable, promise с таймаутами
* Обработка ошибок, unhandled, stack trace, async hooks
* Async/await, асинхронные функции, методы и конструкторы
* Адаптеры асинхронности: promisify, callbackify, asyncify
* Async генераторы и неблокирующие асинхронные итераторы
* Композиция асинхронных функций, коллекторы данных
* Асинхронная очередь, Future, Deferred, Observer, RxJS
5. Параллельное программирование Node.js
* Обзор проблем: состояние гонки (race condition), data race
* Data race в асинхронном программировании
* Примитивы: semaphore, mutex, spin locks, etc.
* Реализация Web Locks API
* Разделяемая память in Node.js
* Модель акторов и другие способы
6. Базы данных
* Слой доступа к данным
* Работа с базами данных на примере PostgreSQL
* Синтаксис SQL, построители запросов, курсоры, транзакции
* CQS, CQRS, Event Sourcing
* Безопасность: SQL-инъекции и другие проблемы
7. Node.js паттерны и антипаттерны
* Утечки памяти и других ресурсов
* Graceful Shutdown в Node.js
* Безопасность в Node.js: DoS, XSS, Path traversal, SQLI, CSRF и др.
* Serverless облака и FaaS на Node.js
* Code review, рефакторинг и оптимизация
* Unit-тесты, нагрузочные, интеграционные и системные тесты
Ссылки на автора:
https://github.com/tshemsedinovhttps://youtube.com/TimurShemsedinovГруппы митапов сообщества Метархия:
https://meetup.com/HowProgrammingWorkshttps://meetup.com/NodeUAТелеграм-каналы:
https://t.me/HowProgrammingWorkshttps://t.me/NodeUAРегистрация:
https://forms.gle/yA2xEW731TxAZNH6A