Этой весной прошла HolyJS 2019 Piter — большая конференция для JavaScript-разработчиков. Вместе с программным комитетом конференции мы составили для вас список лучших докладов, посвящённых следующим темам:
- Алгоритмы на графах;
- Протокол Chrome DevTools и Puppeteer;
- Статические типизаторы;
- CI/CD;
- Миграции: с Backbone на Polymer, с Polymer на Angular.js;
- Большие данные на Node.js в serverless-архитектуре;
- SEO с точки зрения разработчиков Google Search;
- GraphQL;
- Продвижение опенсорс-проектов.
Под катом всё это структурировано следующим образом:
- Видеоролик на YouTube;
- Страница доклада с полным описанием на сайте конференции;
- Ссылка на слайды или специальный сайт доклада (если они есть).
Доклады упорядочены по месту, которое он занял в рейтинге по мнению участников. Список на полный плейлист конференции тоже имеется. Добро пожаловать под кат!
10. Марина Миронович — Алгоритмы на графах
В своем докладе Марина рассмотрела практическое применение графов на примере несложной задачи о рекомендациях. Тема графов очень важна для разработчиков на JavaScript, с ней приходится всё чаще и чаще сталкиваться. Доклад был в категории fundamentals, эту категорию мы сейчас активно продвигаем.
Этот доклад поможет вам начать осваивать графы и понимать области их применения.
9. Алексей Козятинский — Протокол Chrome DevTools
Изначально была задача каким-то образом отлаживать V8, ставить точки останова и всё такое прочее. Вместо того, чтобы делать под это конкретный инструмент, ребята разработали общий протокол, и при помощи этого протокола написан Chrome DevTools. Поверх него можно делать всякие интересные штуки, например, отлаживать Node.js из Chrome или сделать собственную реализацию Electron, использующую текущий, установленный в системе, Chrome. Можно делать скринкасты, видеокасты, скриншоты, много всякой всячины. Поверх этого протокола написан фреймворк Puppeteer, а поверх него есть уже различные end-to-end системы тестирования. То есть это такая базовая вещь, через которую можно делать неявные прикольные штуки с рантаймом, на котором бежит JavaScript.
После просмотра доклада вы осознаете, насколько просто пользоваться этим протоколом, что с помощью него можно сделать, использовать эти знания для написания своих инструментов. Там нет никакого адского rocket science, и в докладе показывается, как всё это работает вплоть до самого низкого уровня, и это вдохновляет.
8. Артём Кобзарь — Как и зачем я пишу свой статический типизатор
Артём поработал с большим количеством инструментов, таких как Flow и TypeScript, обнаружил в них много проблем и решил не просто хейтить эти проблемы, а попробовать решить их самостоятельно, провести исследование. Получился инструмент Hegel, про который и рассказывается в докладе. Инструмент пытается решить многие проблемы JavaScript, поэтому доклад всячески рекомендуется к изучению. А ещё Артем намекает, что можно помогать поддерживать и контрибьютить в сам Hegel.
Чисто практически вы узнаете конкретные проблемы Flow и TypeScript и увидите, что проблемы могут быть решены. Посмотрите на концепции, лежащие в основе инструмента Артёма: это может быть полезно, если вам интересно устройство вывода типов, там очень много таких базовых объяснений. Вы сможете глубже понять, как устроены ваши любимые инструменты.
7. Денис Мишунов — Я создал Франкенштейна: 3 истории миграции
Денис рассказывает несколько историй миграций. Несколько разных подходов к миграции фронтенда, всё на основе собственного опыта. Речь пойдёт о переходе с ASP.NET на Backbone, с Backbone на Polymer, с Polymer на Angular.js, где он попытается показать, как веб-компоненты могут в этом помочь. Вы сможете разобраться с полезными концепциями стыковки различных фреймворков на время миграции, а иногда и после.
6. Илья Климов — Ламповый CI/CD. Как и с чего начать
Данный доклад относился к «экспериментальной» секции. Это секция про доклады, которые напрямую не относятся к JavaScript, но являются очень полезными для современных разработчиков. Илья Климов рассказал, как построить базовые пайплайны CI/CD на конкретных примерах. Объяснил концепции и показал на примере GitLab.
Для себя вы можете вынести отсюда основные идеи и базовые рецепты для своих проектов, чтобы начать делать деплой более автоматическим. Как обычно, Илья представил доклад интересно и зрелищно, благодаря чему он очень хорошо запоминается.
5. Николай Матвиенко — Обработка озера данных на Node.js в serverless-архитектуре
Один из самых крутых спикеров в секции Node.js. Рассказывает о практическом примере применения лямбд в AWS для решения очень сложных задач их заказчика. Он показывает, как с помощью лямбд и Node.js можно выстроить гибкую отказоустойчивую архитектуру, которая перерабатывает огромный объем данных. Речь пойдёт об основных концепциях использования на реальном примере из продакшена, в докладе раскрываются все плюсы и минусы. Это не просто какая-то вводная в лямбды и Node.js (таких рассказов видимо-невидимо), а рассказ о том, как построить рабочую архитектуру, выдерживающую высокие нагрузки. Вплоть до того, чтобы выбрасывать из бэкенда Java и переходить на JavaScript, используя его в хардкорной дата-инженерии. Вы сможете понять преимущества такого подхода и поймете, как строить системы на сервисах Amazon.
4. Martin Splitt — Technical SEO 101 for web developers
Martin — developer advocate в Google for Search & Web, он рассказывает людям, как работает SEO со стороны самих создателей гуглопоиска (а не как обычно, с точки зрения чёрной маги: «Делай вот так и станет хорошо, почему — неизвестно»). Martin ведёт про это видеоблог на YouTube. На докладе он рассказывал практики, которых следует придерживаться разработчикам, чтобы делать SEO хорошо и правильно, без использования грязных приёмов.
3. Andrey Lushnikov — Modern web testing and automation with Puppeteer
Это второй в нашем топе доклад про Puppeteer, но на этот раз с уклоном в тесты. Андрей на практическом кейсе показывает, как с помощью Puppeteer начать писать end-to-end тесты. В принципе, таких докладов немало, но Андрей рассказывает это с точки зрения автора данной технологии и приводит очень интересные кейсы.
2. Павел Черторогов — ApolloClient или Relay с фрагментами, «волосатый» GraphQL и TypeScript — всё, что нужно для правильного статического анализа React-приложения
GraphQL сейчас уже в такой стадии внедрения, когда все уже налюбовались простыми примерами, и начались первые попытки реального использования. Технология набирает зрелость. Павел сравнивает две реализации — Relay и Apollo, и дальше рассказывает, как правильно и неправильно готовить GraphQL. Для слушателя практическая ценность в том, что Павел показывает примеры построения более GraphQL-ориентированной схемы API, чтобы, переходя на него, вы не просто заворачивали REST в GraphQL, а именно пользовались особыми фишками GraphQL. В частности, Павел вводит термин «волосатый GraphQL», который показывает на примере GitHub API. А ещё это просто очень весёлый доклад!
1. Андрей Ситник — Продвижение опенсорс-проектов
В своем докладе один из самых знаменитых фронтендеров русскоязычного сообщества, чей инструмент используют во всём мире, рассказывает, как правильно подходить к продвижению ваших собственных продуктов. Он акцентирует внимание на том, что важно не только качество вашего решения, но и подход к его продвижению. Всё это подкреплено конкретными примерами. В докладе он рассматривает разные концепции продвижения — как агрессивные, так и те, когда нужно не только пушить инструмент с помощью маркетинга, но и вначале нужно довести инструмент до приемлемого качества, и только потом показывать. И всё это проиллюстрировано собственными проектами — PostCSS и Logux. Доклад будет полезен тем, кто занимается open source или хочет выложить какую-то библиотеку, например, чтобы более качественно подготовить её описание, чтобы она была более понятна пользователю. Также Андрей рассматривает то, как разработчики изучают вашу документацию и на что они обращают внимание в первую очередь.
Полный плейлист
Все доклады конференции HolyJS 2019 Piter доступны по ссылке на YouTube.
8-9 ноября в Москве состоится новая конференция — HolyJS 2019 Moscow. Это будет восьмая по счёту Холи, вас ждёт ещё больше докладов, больше известных международных спикеров и больше тысячи JavaScript разработчиков под одной крышей. Программу конференции можно посмотреть на официальном сайте, билеты можно приобрести там же.
Автор: Олег Чирухин