Доклады HolyJS на офлайн-части DotNext 2022 Autumn
Сэм Булатов, Waliot, krd.dev
«Введение в реактивное программирование»
React — не реактивен (спойлер: не совсем), а вот Vue, Svelte и Angular — да. Но почему? Во времена jQuery, когда программа получала данные, она должна была знать все места, где эти данные задействованы, чтобы обновить их.
Сейчас же фреймворки позволяют вам просто обновить данные, а отображением они уже займутся сами. Это один из принципов реактивности — инверсия зависимостей. Сэм расскажет о ней и других фундаментальных вещах, на которых базируется реактивное программирование.
Василий Маркитан и Андрей Власов, Сбер
«WebTransport»
Зачем W3C разрабатывает WebTransport, и где эту технологию можно применять? Из доклада вы узнаете, на каком этапе находится новая технология и чем она отличается от существующих.
Спикеры продемонстрируют взаимодействие с API WebTransport и покажут, как происходит развертывание необходимого локального окружения. Так что вы сможете пощупать технологию заранее и быть готовыми к ее выходу из статуса draft.
Антон Жуков, Контрол Системс
«Event Sourcing: глубокое погружение»
При построении Event Sourcing-системы неправильный выбор архитектурных решений может похоронить весь проект. Антон занимался разработкой такой системы более четырех лет — в своем докладе он поделится опытом и покажет, как не наступить на грабли. Вы узнаете больше о концепции Event Sourcing, стратегиях сборки и тестировании технологии.
Андрей Мелихов, Osome
«Сколько это стоит»
Ведущий Youtube-канала «Девшахта» предлагает посчитать, что нужно, чтобы запустить более-менее приличный сервис на Node.js на VDS (blue-green деплой, балансировка, база данных, логи).
Сравним все это с подходом на AWS-стеке (лямбды, RDS, API-gateway). А может быть, даже удастся сравнить и Selectel с Yandex Cloud.
Артем Акутин, Ситидрайв
«Ситидрайв: поездка продолжается»
Артем Акутин расскажет удивительную и местами невеселую историю о том, как в Ситидрайв удается давать клиентам доступ к десяти тысячам машин круглые сутки. Рецепт одного из крупнейших каршерингов: NodeJS, Redis, RabbitMQ и маленькая щепотка удачи. Вы услышите о деталях и интересных нюансах работы сервиса, а также о реальных кейсах вроде полного переезда с одной инфраструктуры на другую.
Роман Троицкий, Комус-Тех
«Анимации и их оптимизация в корпоративных проектах»
Анимации на сайте позволяют управлять вниманием пользователя, делают просмотр более приятным, а информацию более запоминающейся. Но для браузера они остаются «тяжелой» историей. Давайте посмотрим, какие существуют способы оптимизировать анимации и повысить FPS. На примере реальных проектов Роман покажет состояние 10 универсальных библиотек для создания анимаций.
Обсудим плюсы и минусы их использования, разберемся, когда удобнее использовать конкретную библиотеку, рассмотрим частые случаи проблем с производительностью и варианты их решения.
Иван Попелышев, White Frame
«Хаки и ветчина из JS-геймдева, которые подходят для велосипедных оптимизаций приложений в вебе»
Иван рассмотрит связь некоторых высокоуровневых концептов и простого кода на JS. Вы узнаете об эффективных структурах данных, о том, как использовать shared-код и избежать использования чужого DI.
Доклад основан на GameDev-опыте и будет полезен всем, кто пишет свои игры или высоконагруженные распределенные модели данных. Например, стартап с бесконечной доской и тасками на ней. А еще эти знания можно применить при написании собственных велосипедов и изучении низкоуровневых вставок в коде популярных библиотек.
Иван Малюгин, Билайн
«А почему бы не вынести все конфиги в отдельный пакет, сократив бойлерплейт до нуля?»
Вам когда-нибудь приходилось копировать конфиги ESlint, Babel, Webpack и других инструментов из проекта в проект? В вашем package.json уже столько плагинов, что среди них невозможно найти реальные зависимости проекта?
А что если можно избавиться от всех лишних зависимостей вынесением в отдельные тематические пакеты? И все конфиги сократятся до одной строки импорта, а бойлерплейт — до 100 байтов.
Иван расскажет, как его команде это удалось — он поделится историей решения, а заодно расскажет, сколько боли они схватили там, где совсем не ожидали.
Денис Красновский, Домклик
«ESLint — больше чем просто extend»
ESLint — мощный инструмент, и при должном обращении он будет служить верой и правдой. Денис расскажет, как раскрыть его потенциал, сократить время проверки кода и как сделать реюзабельный конфиг. Он также ответит, что будет, если попытаться внедрить ESLint в большой компании, и зачем нужно линтить, если есть Prettier.
Дмитрий Грош, Wis Software
«Батчинг в React»
Дмитрий обратил внимание, что на собеседованиях мало кто из разработчиков отвечает на вопрос о батчинге. Некоторые даже впервые слышат такое слово. Спикер расскажет, как батчинг работал в старых версиях React и как работает сейчаc.
Александр Мышов, 2ГИС
«High refresh web»
На рынке с каждым годом появляется все больше устройств с дисплеями, поддерживающими высокие частоты обновления экрана.
Разрабатывая сложный софт в вебе (ГИС-системы, графические редакторы, игры), нужно учитывать их специфику. В непродуманных решениях анимации синхронизируются с частотой обновления дисплея и могут проигрываться слишком быстро. Александр расскажет, как решить эту проблему — он представит три способа сделать анимации более плавными.
Полная программа офлайн-дня — на сайте.
