Є ідея гри чи геймінг-сервісу? Реєструйся на онлайн-хакатон 7.08! Призовий фонд — $3000
×Закрыть

Node.js в 2020 // школа Метархии

Пройдет
22 — 23 августа
Место
Санаторий под Киевом
Стоимость
4000-5000 грн

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

Регистрация

Google Calendar iCal
LinkedIn

1 комментарий

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

𝗡𝗼𝗱𝗲.𝗷𝘀 в 𝟮𝟬𝟮𝟬: Выйди и зайди нормально

За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможности, а если и узнает про них, то это не влияет на написание ежедневного кода. В Node.js, да и в JavaScript, слабо проникают фундаментальные знания по программной инженерии и архитектуре, параллельному программированию, GRASP, SOLID, GoF, а если и проникают, то не подвергаются адаптации и переосмыслению. Поэтому, среди других языков программирования JavaScript воспринимается, как несерьезный, а Node.js, как платформа для малограмотных людей. Как преодолеть эту тенденцию и как изменить подход к разработке на Node.js в 2020 году, с использованием всех современных возможностей и знаний, а так же, что нужно изменить в ежедневных практиках написания кода, эти и другие вопросы будут освещены в докладе «Node.js в 2020: Выйди и зайди нормально».

Доклад на JavaScript fwdays’20 будет по этой теме: fwdays.com/...​t-out-and-come-back-again

Ну и потом школа Метархии, для более подробного разбора: поговорить, ответить на вопросы, решить проблемы, если аудитория набросит конкретные кейсы и и всем это будет интересно, то и полайвкодим.

Подписаться на комментарии