It feels like a law of nature that features are added to software at a pace much faster than they are removed. It seems like our nice simple software always eventually evolves into a slobbering complex monster, incomprehensible for its users and unmaintainable by its developers. Is this an unavoidable phenomenon? If so, how can we adapt to that, as software creators?
Доклады
Many battles have been fought over what is the best way to do state management. A gazillion of strategies and libraries are out there. So... it is time to take one step back. What problems does state management solve, and what are the benefits and disadvantages of the many different state management approaches out there?
Мы посмотрим, как работать с бинарными данными в JavaScript, покопаемся в бинарных файлах на примере *.gif-файлов и разберемся с сериализующими фреймворками, такими как Protobuf или Thrift.
We'll discuss the lessons we took from migrating a visual third-party website tracker tool using D3.js and ES6 from SVG to Canvas. You'll learn how to tackle some of Canvas challenges, how to get better graph performance and how all of this can be converted to an immersive virtual reality experience using A-Frame!
In this session, we'll talk about Flutter, what it is, why it's so cool, and we'll see a real-life application and illustrate how easy it is to build using Dart and Flutter.
Service Worker API дает нам возможность реализовать целый слой логики приложения и содержит массу нюансов в своем поведении, которые и будут представлены в рамках сессии.
Kamil will introduce Nest to you as well as show internals of the framework's key features.
Илья постарается осветить результаты без малого года своих изысканий, подбора технологий и архитектурных решений для повышения надежности кода его команды так, как понимает это он:
- плохой и «неправильный» код должен выглядеть неправильно;
- джуну (да и не только) должно быть проще писать правильный код, чем неправильный;
- все, что может быть автоматизировано, должно быть автоматизировано, но максимально малой кровью.
The current state of cryptography in Node.js regarding security, interoperability and performance: what has happened, what is about to happen? What are our long-term plans?
Подробным образом разберем все возможности по загрузке файлов клиентами. Даже самые критические кейсы из «кровавого» энтерпрайза. По итогу получим код, который вы сможете переиспользовать у себя в проекте.
Хайп прошел, а это значит, самое время погружаться в микросервисную архитектуру. Начнем с разговора об основных принципах технологии, рассматривая ее базовые принципы в свете ее преимуществ и недостатков. Поговорим, как должна выглядеть архитектура сервисов, какие проблемы бывают и как их решать.
Sebastian will give an intro to the endless wonders we can encounter in the hardware world through our browser windows. Aside from learning the basics of USB and serial port communication, we'll paint on USB displays, live tweet to receipt printers, control an Arduino, steal data from Android phones and many more... The only limit is your imagination.
Доклад о том, как написать игру, для разработчиков, причем не только из мира фронтенда. Почему RxJS и Workers — это круто, а самый популярный игровой движок — нет. Можно ли сделать JS безопасным, а программистов — счастливыми. Как пережить войну с потоками событий и критики, чтобы успеть выкатить все ко дню программиста...
Виктор расскажет, как работает «гитернет» с деревьями Merkle и peer2peer-репликацией (на примере DAT, IPFS и, возможно, других технологий) и как выложить в него простенький сайтик (с блэкджеком и CDN).
Сергей расскажет про разные способы создания доступных графиков с помощью библиотеки d3 и на живых примерах покажет, как это работает.
Как формировались системы типов современных языков, какая теория за ними лежит и куда все это движется? Попробуем коротко об этом поговорить.
Это рассказ о том, что за последние несколько лет в браузерах появилось множество новых API, которые можно так замечательно использовать, чтобы перестать доверять и серверу, и браузеру, и даже сетевому подключению и окончательно стать параноиком.
In 2018, it is imperative that information is readily available to everyone, regardless of their disability or financial status. In this talk, you'll find out how to create accessible real-life objects, using run-of-the-mill JavaScript and the basic principles of Internet of Things.
You'll see what happens when we mix computational power and the greatest works of art the world has ever seen! And guess what? All that using Node.js. Hold tight, art class is about to start!
The main part of the talk is to show how to import a 3D model to a WebGL scene using Three.js, how A-Frame is leveraging this to enable developers to create a simple 3D VR scenes and where is WebXR in all of this.
Everyone talks about functional programming these days, but not many people talk about lambda calculus. In this talk, Lucas will show how you can write code using only functions, or, even better, only birds. Lucas promises your mind will be blown or he'll give you your time back.
GraphQL — это не база данных! Это новый стандарт для мега-удобного API, который приходит на смену REST API. В докладе будет затронута тема GraphQL на бэкенде. Вы узнаете, что необходимо для запуска GraphQL-сервера, поймете, как строить схемы и крутить авторизацию, и задумаетесь о безопасности и возможных проблемах.
Erik's talk will discuss the lessons learned from building and maintaining the most popular form library, and how they were used to create a new form library, optimized for minimal React rerenders, but also powerful enough to be used with other libraries.
This talk will focus on what distributed tracing is, how to roll it out across your infrastructure, and how to use it to gain better insights and fix problems.
Целью доклада является демонстрация того, что 3D-разработкой можно и нужно заниматься. Целевая аудитория — это разработчики, которые хотят начать разрабатывать 3D-приложения, но побаиваются сложности. Доклад дает представление о том, как создать свой 3D-движок уже сегодня.
Стас расскажет о внутреннем устройстве webpack на примере написания лоадера для работы с SVG-спрайтами.
Bartosz will show you how to utilize machine learning algorithms and real-time stream processing to recognize gestures made by hand movements.
Обсудим:
- Что такое Data Science и почему стоит знать об этом?
- Чем Data Science может помочь во фронтенде и что для этого нужно?
- Анонс инструмента для построения стендов анализа данных и как мы дошли до этого.
- Ответ на вопрос «кто такой Жора?»
- Практические примеры, что можно сделать уже сегодня и планы на будущее.
Асинхронность: хуки (async_hooks), Continuation (or Thread) Local Storage, трассировка, длительность, статистика, аналитика и обработка ошибок.
Расскажем, почему ваше приложение в опасности. Разберёмся, от чего защищает React, где он бессилен и о чём следует заботиться разработчику.
Узнаем имя счастливчика, которому достанется туристическая поездка в ИТ-город Иннополис по системе «всё включено». И пусть победит наислучайнейший.
Зар расскажет, как увеличить скорость разработки, качество продукта и получить единый пользовательский опыт во всех приложениях в условиях микросервисного подхода.
Расскажем о блокчейне и принципах его работы, покажем, что из себя представляет smart contract и для чего он нужен, приведем примеры реальных кейсов с блокчейном напрямую с фронтенда.
Что такое модуль, как с помощью модулей организовать свой код и как это упростит разработку?
Алексей расскажет о том, как сделать общение микросервисов строго типизированным и не ожидать undefined в клиентском коде.
Паша опишет задачи фронтенд-разработчика в Альфа-Банке и расскажет, какими компетенциями он должен обладать. А еще объяснит, чем они отличаются от своих коллег в других компаниях.
Подведем итоги хакатона, объявим победителей.
Артем расскажет, как увеличить производительность приложения с 3D-сценой, на примере стека React/Redux/WebGL. Объяснит, на что стоит тратить драгоценные ресурсы CPU и GPU, а также поведает про специфику разработки 3D-приложений в браузере.
Расскажем про путь разработки в hh.ru от идеи до реализации, про наш стек технологий и немного про то, как у нас происходят релизы.
Узнаем имя счастливчика, которому достанется туристическая поездка в ИТ-город Иннополис по системе «всё включено». И пусть победит наислучайнейший.
Оркестратор API — программное решение, цель которого — ускорить и упростить разработку фронтенд-приложений, предоставляя диджитал-командам и партнерам возможность самостоятельного управления процессами развертывания, масштабирования, тестирования и мониторинга.
Расскажем о проблемах sticky header в нативной таблице, о методах решения, об оптимизации больших таблиц, а также о том, как это все подружить с IЕ.
Узнаете о правилах хакатона и условиях участия. Все, что от вас потребуется — придумать классный кейс использования бота Facebook Messenger и создать его на платформе ManyChat, добавив интеграцию с внешним сервисом.
Расскажем:
- зачем UI Toolkit для hh.ru и какие задачи мы решаем с его помощью;
- почему мы решили переходить на новый стек;
- какие сложности могут быть при переходе на новый стек;
- как можно сгладить углы перед переходом на новый стек в проекте в целом.
Получать сущности с сервера по id — что может быть проще? Однако существуют сценарии с массовой загрузкой и разными тонкостями. Виктория расскажет, какое решение они придумали и реализовали в своем проекте, покажет примеры кода и поделится демкой.
Мини-доклад о кастомном рендерере для React на PixiJS: как React Reconciler помогает уменьшить объём кода и упростить позиционирование в 2D-приложениях.
Объявим 4-х победителей среди тех, кто заполнил лотерейный билет и принял участие в розыгрыше. Личное присутствие победителя во время объявления результатов — обязательно.
Расскажем, какие реальные грабли мы собрали при переносе нашего большого приложения на C++ в браузер.
Что делать, если Bootstrap и Material UI уже не удовлетворяют, а дизайнеры хотят все больше и больше кастомизации? Кажется, настало время для Yet Another UI Kit.
Расскажем, зачем вам может понадобиться собственная библиотека компонентов, чем это лучше использования готовых решений, а также о реальном опыте применения собственной единой библиотеки компонентов на 3 разных проектах.
Почему продуктовая компания — это хорошо для кода? Какие проблемы были на ревью и как мы их решали? Расскажем про то, как мы в hh.ru делаем наш код лучше.