2 полных дня интенсивного обучения через практику в хорошем пансионате под Киевом плюс неформальное общение, живые обсуждения и разбор практических внедрений Node.js, ответы на вопросы и советы в решении проблем Ваших проектов.
Когда: с 09:00 субботы 22 августа до 20:00 воскресенья 23 августа 2020 г.
Условия проживания: комфортные двухместные номера блочного типа с балконами, трехразовое питание, чистый весенний воздух, тишина санаторной зоны пригорода Киева, вековые сосны и красивый ухоженный парк входят в стоимость билета.
Цена: ранние пташки — 4000 грн.
после 8 марта — 5000 грн.
Регистрация
Программа школы
Автор: Тимур Шемсединов
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-тесты, нагрузочные, интеграционные и системные тесты
Ссылки на автора:
github.com/tshemsedinov
youtube.com/TimurShemsedinov
Группы митапов сообщества Метархия:
meetup.com/HowProgrammingWorks
meetup.com/NodeUA
Телеграм-каналы:
t.me/HowProgrammingWorks
t.me/NodeUA
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів