Какие доклады стоит посетить на HolyJS, мнение PiterJS сообщества
Уже на этой неделе пройдет очередная HolyJS в Москве. Так получилось что половина программного комитета состоит из организаторов PiterJS (Это я и Миша Полубояринов). В этой статье, от лица сообщества PiterJS, мы хотим вам порекомендовать доклады на которые стоит сходить по тем или иным причинам. Плюс хочется немного рассказать о предыстории и мотивации некоторых докладчиков на написание докладов. Думаю, это поможет определиться с выборов и немного глубже окунет вас в тематику докладов. Частично мы уже рассказали о докладах в нашем интервью с Олегом и на SPB Frontend Drinkcast’e.
Подготовка к Московской HolyJS началась еще до того, как прошла Питерская конференция. Собственно, как и сейчас, подготовка к весенней конференции в фоне уже началась ;)
Но продолжим, хотелось немного раскрыть занавесу внутренней кухни и показать, как шла подготовка к holy “под капотом”. Причем, фраза “под капотом” очень значима, так как, по сути, доклады, которые прозвучат на конференции покажут, что есть “под капотом” технологий которые мы используем.
Например, вы задумывались когда-либо, как именно происходит процесс выключения музыки на вкладке вконтакте, когда на соседней мы нажимаем на play?..
И как бы вы реализовали подобную функциональность? Следить за тем, в какой вкладке играет музыка через бэкенд? А если он находится слишком далеко? Есть ли возможности делиться данными непосредственно между вкладками? А если нужно общаться не только между вкладками, но и с десктопным приложением, открытым у пользователя на компьютере? А как быть, если по этим коммуникуциям нужно еще передавать защищенные данные банковских счетов или пользователей? Ответы на эти вопросы я для себя нашел при подготовке доклада Миши Удалова.
Еще хочется отметить доклад Николая Матвиенко, ранее на HolyJS выступал с докладом Thomas Whatson, в котором разбиралась тема отладки Node.js на продакшн платформах. В данном докладе Николай глубже раскрывает практики оптимизации, отлова утечек памяти, мониторинг и инструментарий, который у нас, как сообщества вокруг Node.js, есть, и какие еще моменты достаточно сырые, а какие нет. Коле удалось год поработать в силиконовой долине, где уже совсем не боятся использовать Node.js и успешно справляются с проблемами с помощью все более удобных инструментов для отладки, мониторинга и профилирования.
Мне немного удалось разузнать о внутренней кухне Коли и вот что он о ней рассказывает:
В продакш на Node.js мы с 2015 года. У нас большая Enterprise архитектура где Node.js интегрируется с множеством систем и сторонних сервисов. В случаи ошибки в продакш (это потеря денег) создаются War room (командный штаб) из лидов команд систем этой архитектуры. В этот момент нужно быстро найти причину и подготовить фикс.
Сейчас работают 10 Node.js application серверов. Количество приложений варьируется от нагрузки, распределяемой f5 load balancer’ом. Нагрузка сильно варьируется от времени суток — до праздничных дней. Максимальная нагрузка идет в дни благодарения, black friday и канун НГ. В это время запросы на один application server примерно равны 30 тысячам в минуту (в случае когда в CDN Akamai Edge cache нет закэшированной страницы). На микросервисы в среднем 150–160 тысяч запросов в минуту (при условии отсутствия кэша). В такие дни особенно нужно поддержка стабильности работы приложения в продакшн. Подготовка к дням повышенной нагрузки идет тщательная и заранее, ведь до этого времени выходит порядка 10 релизов ежемесячных с новым функционалом, каждый из которых — потенциальный риск. Их нужно прогонять нагрузочным тестированием. Далее при попадании в продакшн необходимо в случае обнаружения ошибки быстро ее диагностировать, найти причину ошибки и сделать фикс. Каждая минута очень критична. Бывают случаи, когда диагностировать причину очень тяжело. Тогда приходится прибегать к техничкам посмертной отладки с генерацией core dump и heap dump. Анализ core dump может так же занять много времени, если не контролировать момент создании dump (для определенной ошибки, или же когда тяжело найти природу ошибки).
Кажется, что уже давно вышла эта новость. О ней писал Виталий Cлободин. И на HolyJS он продолжит говорить о безголовых. За это время браузеры открылись нам с другой стороны. С появлением headless-браузеров открылись и оптимизировались процессы тестирования, парсинга сайтов. А вы еще используете Selenium с великим и ужасным WebDriver? Или уже переписали тесты с использованием puppeteer? (Если по секрету, то ребята из Avito, уже переписали. Спросите у Ромы Дворнова, как ;) Хотя доклад на HolyJS у него будет больше по другой теме ). А как насчет безопастности? Только представьте, насколько сложнее теперь станет распознать реального человека от паука который парсит ваш сайт? По этой теме можете спорсить Егора Малькевича.
За последнее время было достаточно много споров “flow или typescript”, но одно мы знаем точно: статическая типизация все плотнее приходит в мир JavaScript. С одной стороны, как инструмент СТ очень мощный и на первый взгляд достаточно простой. Но так ли это на самом деле? Подробности того как проверяются типы напиши IDE расскажет Антон Лобов.
Конечно, есть доклады, которые не нужно презентовать. Их название о описание говорит само за себя. Ребята подготовили отличные доклады, на которых еще осталось тепло от кремния процессоров с серверов и устройств на которых крутятся код о котором пойдет речь ;)
Это доклад про GraphQL Павла Черторогова.
Доклад Мелихова про React Native.
И в заключении хочу рассказать про еще пару интересных докладов.
Недавно мы с моей любимой женой посмотрели стрим прохождения карты paragon 2.0, которую автор писал 5(!!!) лет. Тогда я подумал “вот настоящий фанатик своего увлечения”. А чего стоит вот эта история. Как же я был удивлени услышав доклад Александра Коротаева о его реализации Героев в браузере. Это поистине уникальный опыт, который лично меня окунул во времена беззаботного детства с одной стороны, а с другой раскрыл занавесу игростроительства, в котором так хорошо используются класические алгоритмы поиска пути и прочие интересные вещи на грани математики и информационных технологий.
А как же ложка дегтя в этом разнообразии прекрасных технологий? Конечно и про нее не забыли ;) Алексей Охрименко поделится с вами некоторыми не совсем приятными моментами при работе с Node.js, а самое главное, поделится спобами их обхода и решения.
Еще интересный research провел Алексей Тактаров, разбирая способы грязных анимаций. Он расскажет про тонкие тропы которые позволят вам добраться до “чистых” способов смешать коктель из анимаций и состояний.
Надеюсь участие в конференции доставит вам огромное удовольствие и будет правтически полезным в профессиональном развитие. Встретимся на конференции!