В декабре мы провели очередную HolyJS, и поначалу видеозаписи её докладов были доступны только для зрителей, а теперь открыты для всех. Для Хабра мы традиционно сделали подборку из 10 докладов, получивших от зрителей самые высокие оценки. Они идут по возрастанию рейтинга, так что чем дальше, тем интереснее.
Под катом — и сами видеозаписи докладов, и их короткие описания с сайта конференции, и ссылки на слайды.
Если топ-10 вам окажется недостаточно, есть также более полный YouTube-плейлист.
Глубокое погружение в webpack
Спикер: Стас Курилов
Презентация
Вообще-то десятое место занял Mattias Petter Johansson, известный многим по YouTube-каналу Fun Fun Function. Но его доклад мы не можем показать (по условиям MPJ это эксклюзив для зрителей конференции), поэтому вместо него в пост включили 11-й.
Стас рассказывает о внутреннем устройстве webpack на примере написания лоадера для работы с SVG-спрайтами. Он рассматривает основные этапы его работы, показывая, когда нужен лоадер, когда — плагин, как можно наладить связь между ними и зачем она нужна. Также он объясняет, как работают популярные плагины — extract-text-webpack-plugin, html-webpack-plugin, react-styleguidist.
Маленький Data Science для большого фронтенда
Спикер: Роман Дворнов (lahmatiy)
Презентация
Роман (автор basis.js, CSSTree и не только) почти каждую HolyJS демонстрирует интереснейшие инструменты и подходы, которые не оставляют равнодушным. В этот раз был сделан шаг в сторону Data Science, и публике был представлен Жора.
В докладе:
- Что такое Data Science и почему стоит знать об этом?
- Чем Data Science может помочь во фронтенде и что для этого нужно?
- Анонс инструмента для построения стендов анализа данных и как мы дошли до этого.
- Ответ на вопрос «кто такой Жора?»
- Практические примеры, что можно сделать уже сегодня и планы на будущее.
Final Form: Form state management via observers
Спикер: Erik Rasmussen
Управление состоянием форм — это сложно. Кому об этом знать, как не автору популярной библиотеки Redux Form? В докладе Эрик делится опытом, извлечённым при разработке и поддержке библиотеки.
Микросервисная архитектура
Спикер: Дмитрий Пацура
Презентация
Вокруг микросервисов стало меньше хайпа — а значит, вот теперь пора погружаться в них всерьез. Доклад обсуждает:
- Какие архитектуры бывают
- Базовые принципы в свете преимуществ и недостатков
- Работу в команде
- Контроль зависимостей
- Коммуникацию между сервисами
- Архитектуру сервиса
- Когда мы выделяем новый микросервис
- Сложности и важность CI/CD
- Заблуждения
Разработка под WebAssembly: реальные грабли и примеры
Спикер: Андрей Нагих (AndreyNagih)
Презентация
Текстовая версия доклада на Хабре
Технология WebAssembly стремительно ворвалась во все популярные браузеры и таким образом стала доступной для коммерческой разработки. В докладе рассказано, какие реальные грабли были собраны при переносе большого приложения на C++ в браузер.
В частности, рассматривается:
- Какие есть инструменты и что они могут
- Как пробрасывать объекты между JS и Wasm
- Какие при этом возникают проблемы и как их решить
- Что может Wasm, и чего он не может
- Как увидеть код C++ в отладчике браузера
- Насколько Wasm быстрее JS.
Системы типов в двух словах
Спикер: Вячеслав Шебанов
Презентация
Приложения на JS становятся больше и сложнее, а инструменты вроде Flow и TypeScript набирают популярность. Статическая типизация становится обычной темой в JS-мире, при этом мы редко задаем себе вопрос, почему эти типы выглядят так или иначе. Как формировались системы типов современных языков, какая теория за ними лежит и куда все это движется? Доклад пробует коротко об этом рассказать.
Строим GraphQL-сервер
Спикер: Павел Черторогов
Презентация
REST API и Swagger были хороши для своего времени. Кругом все обсуждают компонентный подход, и бэкендерам пора задуматься о GraphQL: новом стандарте мега-удобного API для фронтендеров и их компонентного подхода. Но что фронтендеру хорошо, то может стать болью для неподготовленного бэкендера.
В докладе рассмотрены моменты, о которых стоит задуматься. Из каких кусочков собирается GraphQL-сервер (в интернетах уже много пакетов, хорошо бы понять, что необходимо установить и зачем)? Что такое схема и как ее написать, чтобы все это дело зашуршало? Рассмотрены авторизация, написание примитивного ACL. Затронут вопрос производительности и безопасности. Разобрана тема загрузки файлов, генерации схем, документирования и версионирования API.
JS-битва: как я написал свой eval()
Спикер: Александр Коротаев
Презентация
Текстовая версия доклада на Хабре
Однажды Александру предложили написать какую-нибудь игру для стенда на конференции WSD. У него было всего три недели, полная свобода в выборе темы и коллеги, на которых он все это тестировал.
Доклад о том, как написать игру для разработчиков, причем не только из мира фронтенда. Почему RxJS и Workers — это круто, а самый популярный игровой движок — нет. Можно ли сделать JS безопасным, а программистов — счастливыми. Как пережить войну с потоками событий и критики, чтобы успеть выкатить все ко дню программиста…
There is a bluebird in my talk that wants to get out
Спикер: Lucas da Costa
Презентация
Сам Лукас говорил, что его доклад достаточно простой и в программе ему можно поставить уровень «смузи». Если вы понимаете, что такое функции в JS, условные и арифметические операторы, то велком. Но программный комитет решил поставить «хардкор».
Основной упор в докладе идет на концепцию Y-комбинаторов и лямбда-исчислений, и если вы используете функциональный подход в промышленной разработке, некоторые концептуальные моменты функционального программирования выходят за рамки вашего кода. И то, что показывает Лукас, будет в максимальной мере полезно практикующим функциональный подход и позволит раскрыть некоторые моменты самой концепции.
Применим ли показанный подход в продакшне? Вряд ли. Но сами идеи дают взгляд с другого ракурса и помогают составить более полную картину.
Надёжный JavaScript: в погоне за мифом
Спикер: Илья Климов
Презентация
Текстовая версия доклада на Хабре
Январь 2018-го. Место действия: собственная маленькая аутсорсинговая компания Ильи. Небольшая ошибка в коде стоит клиенту $600k — суммы, которой нет ни у Ильи, ни (теперь) у клиента. Это событие, хоть и не ставшее (к счастью) фатальным ни для проекта, ни для компании в целом, стало решающим фактором в пересмотре Ильей его взглядов на написание надежного кода командой разработчиков.
В этом докладе Илья освещает результаты своих изысканий, подбора технологий и архитектурных решений для повышения надежности кода его команды так, как понимает это он:
- Плохой и «неправильный» код должен выглядеть неправильно
- Джуну (да и не только) должно быть проще писать правильный код, чем неправильный
- Все, что может быть автоматизировано, должно быть автоматизировано, но максимально малой кровью
Спикеров, занявших в списке два первых места, в мае можно будет увидеть на новой HolyJS с новыми темами: Илья Климов будет говорить про CI/CD, Лукаш да Коста — про рекурсию. Будет и много новых лиц, от Райана Дала (известного по Node.js) до Дэвида Хоршида из Microsoft.
Конференция пройдёт 24-25 мая в Петербурге, программа и билеты — на сайте, и с апреля стоимость билетов возрастёт.