HowProgrammingWorks - JavaScript and Node.js Programming
6.33K subscribers
308 photos
7 videos
1 file
750 links
Программная инжененрия для JavaScript, TypeScrip, Node.js 👉 Group: https://t.me/MetarhiaHPW 👉 Node.js channel: https://t.me/metarhia 👉 Node.js group: https://t.me/nodeua
Download Telegram
HowProgrammingWorks - JavaScript and Node.js Programming pinned «https://www.slideshare.net/tshemsedinov/asynchronous-programming-and-mutlithreading»
ШКОЛА МЕТАРХИИ: 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/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
Давно просили добавить консультации к планам на Патреоне, вот добавил 30 мин в месяц к плану $50 и час/месяц к плану $100
https://www.patreon.com/tshemsedinov
У программистов на JavaScript и TypeScript есть деньги, есть женщины, а что осталось у Java и С# программистов — только геморой, простатит и шутки про Fortran и Cobol
HowProgrammingWorks - JavaScript and Node.js Programming pinned «У программистов на JavaScript и TypeScript есть деньги, есть женщины, а что осталось у Java и С# программистов — только геморой, простатит и шутки про Fortran и Cobol»
Чем менеджмент от кибернетики отличается – знаете?
Внимание, правильный ответ: Кибернетика – это наука об управлении в биологических, технических, экономических и социальных системах. А менеджмент – это народный фольклор менеджерского сословия, собираясь по вечерам у костра они рассказывают, свои кейс стадиз и саксес сториз...
Обратите внимание на объем материала. Велик соблазн скопипастить содержимое сертификата в резюме, но, конечно же, все это даже за 20 часов не успеть. Дело в том, что до школы люди еще 10-200 часов видео смотрят у меня на канале, чтоб закрыть пробелы в знаниях. А за 20 часов мы успеваем эти темы обсудить и сформировать мировоззрение или же перевернуть старое/кривое мировоззрение, сформированное ВУЗовским недообразованием или годами бессознательного программирования в погоне за дедлайнами, когда опыт обобщать просто времени не остается.

Надеюсь, что эти школы перерастут во что-то большее. Я пытаюсь показать, что можно добиться большей производительности за 2-3 часа программирования в день, чем обычно выходит за 8+ часов говнокодерства. Оставшееся же время можно посвятить освоению новых знаний, общению с коллегами на профессиональные темы, переосмыслению опыта, участию в открытом программном обеспечении.

Следующая группа 22-23 августа.
TypeScript-у уже 8 лет, а ведет себя как пятилетний
This media is not supported in your browser
VIEW IN TELEGRAM
Нашел ранее неизвестную человечеству возможность github: если сделать репозиторий с именем своего профиля и положить в него README.md, то он появится прямо на странице профиля. Вот так это выглядит (если использовать заранее припасенные emoji): https://github.com/tshemsedinov
⚪️ Metarhia ищет: кто хочет выступить на конференции JS Fest или стать моим ассистентом и попробовать преподавать программирование, вести семинары по лекциям, для разной аудитории (студентов, школьников или уже практикующих специалистов), пишите мне в личку, мы собираемся открывать образовательный проект @tshemsedinov