Skip to content

Node.js в 2020 школа Метархии (2 дня)

Photo of Timur Shemsedinov
Hosted By
Timur S.
Node.js в 2020 школа Метархии (2 дня)

Details

ШКОЛА МЕТАРХИИ
Node.js в 2020

2 полных дня интенсивного обучения в хорошем пансионате под Киевом плюс неформальное общение, живые обсуждения и разбор практических внедрений Node.js, ответы на вопросы и советы в решении проблем Ваших проектов.

Когда: с 09:00 субботы 22 августа до 20:00 воскресенья 23 августа

Условия проживания: комфортные двухместные номера блочного типа, трехразовое питание.

Цена: 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
  1. Разработка высокопроизводительных APIs на Node.js
  • Сетевые протоколы: HTTP(S), TCP, TLS, UDP, WebSocket, SSE, QUIC
  • Кластеризация, роутинг и балансировка, IP sticky, надежность
  • HTTP сессии, cookies, отдача статики и потоков
  • Как не привязывать API к фреймворку и транспорту
  • Контексты запросов и безопасность исполнения
  • Использование WebSocket для интерактивных приложений
  • Изменение кода и статических файлов без перезапуска
  1. Архитектура серверов на Node.js
  • Структура проектов: модули, слои, зависимости
  • Применение принципов и паттернов GRASP, SOLID, GoF
  • Распределенные системы и межпроцессовая коммуникация
  • Инверсия управления и внедрение зависимостей
  • Высоконагруженные приложения, балансировка нагрузки
  • Интроспекция, рефлексия и скаффолдинг
  • Мультипарадигменное и метапрограммирование
  1. Асинхронное программирование
  • Контракт 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
  1. Параллельное программирование Node.js
  • Обзор проблем: состояние гонки (race condition), data race
  • Data race в асинхронном программировании
  • Примитивы: semaphore, mutex, spin locks, etc.
  • Реализация Web Locks API
  • Разделяемая память in Node.js
  • Модель акторов и другие способы
  1. Базы данных
  • Слой доступа к данным
  • Работа с базами данных на примере PostgreSQL
  • Синтаксис SQL, построители запросов, курсоры, транзакции
  • CQS, CQRS, Event Sourcing
  • Безопасность: SQL-инъекции и другие проблемы
  1. Node.js паттерны и антипаттерны
  • Утечки памяти и других ресурсов
  • Graceful Shutdown в Node.js
  • Безопасность в Node.js: DoS, XSS, Path traversal, SQLI, CSRF и др.
  • Serverless облака и FaaS на Node.js
  • Code review, рефакторинг и оптимизация
  • Unit-тесты, нагрузочные, интеграционные и системные тесты

Ссылки на автора:
https://github.com/tshemsedinov
https://youtube.com/TimurShemsedinov

Группы митапов сообщества Метархия:
https://meetup.com/HowProgrammingWorks
https://meetup.com/NodeUA

Телеграм-каналы:
https://t.me/HowProgrammingWorks
https://t.me/NodeUA

Регистрация:
https://forms.gle/yA2xEW731TxAZNH6A

Photo of NodeUA group
NodeUA
See more events
Needs a location