Доклады
Архитектура (2)
Расширяемый код
Что такое расширяемый код? Из чего он складывается, по каким принципам строится и какой эффект оказывает на процесс разработки ПО? Отвечая на данные, казалось бы очевидные, вопросы мы рассмотрим и проанализируем основные методы построения расширяемого кода, их свойства и ограничения тем самым сформируя более четкое представление по рассматриваемой теме.
Доклад принят в программу конференции
Микрофронты, макрофронты, фронты. Разумный подход к выбору
Когда говоришь слово микрофронты, то все одобрительно кивают головой. Это так модно и стильно. И, вроде, даже понятно.
Но мне кажется, что к теме микрофронтов нужно уже подойти спокойно, забыв про хайп, и понять область их применения, а так же какие еще могут быть способы организации приложений
Мы сделаем обзор от простейших вариантов и дойдем до крупных супер проектов. Подумаем, когда и какие могут быть варианты работы с ними.
Доклад будет полезен разработчикам любого уровня для знакомства и систематизации информации по данной теме
Доклад принят в программу конференции
Перспективы (2)
dialog и popover: инструкция по применению
Во многих интерфейсах встречаются элементы, которые появляются поверх основного контента страницы.
Эти элементы в различных дизайн-системах могут именоваться по-разному: модалка, попап, всплывашка, тултип и т.д.
В докладе рассмотрим предоставляемые веб-платформой средства для создания модальных и всплывающих элементов: элемент dialog и атрибут popover.
Поговорим о сходствах и отличиях диалога с поповером, какие из UI паттернов закрывает каждый из них, когда и как их лучше использовать.
Доклад принят в программу конференции
Можно ли ИИ научить верстке?
Бурное развитие ML в последнее время помогает упростить разработку за счет того, что с его помощью можно автоматизировать многие рутинные задачи.
Часто от фронт-инженеров можно услышать, что верстка им не интересна, но заниматься ей все-таки приходится. Почему не объединить ML и верстку для упрощения разработки?
На самом деле эта идея не нова, и уже есть исследования, которые проводились с целью создать такой инструмент. Цель доклада – познакомить слушателей с тем, что уже есть, и рассказать, как оно работает и какие перспективы развития есть в будущем.
Доклад принят в программу конференции
FrontOps (4)
Юнит-тесты без регистрации и СМС: на что способен нативный тест-раннер Node?
В NodeJS v20 модуль "node:test" получил бейдж “stable”. Стабильность – это хорошо, да и обновлять Jest порядком надоело. Я не смог удержаться и перевёл на новый тест-раннер один из своих проектов на 500+ юнит-тестов. Стоило оно того? А может лучше было взять Vitest? Обсудим! А ещё разберёмся, как в "node:test" обстоят дела с ассёртами, репортерами, моками, таймерами, удобством настройки, обработкой TypeScript и JSX, обсудим применимость на реальных проектах.
Доклад принят в программу конференции
Причины деградации перформанса в веб-приложениях. 10 шагов как оптимизировать скорость фронтенда
Тезисы:
• Почему скорость процессоров не успевает за веб-приложениями
• Причины большого количества JS-кода на сайте
• SPA по 20 мб уже действительность
• Инструменты куда мы смотрим (МТС) чтобы найти проблемы большого размера билдов и сократить его
• Графики скорости и восприятие людей (откуда возникли 60fps и почему важно придерживаться)
• Почему скорость браузерной страницы лагает на 4080ti, а Cyberpunk идет на максималках
Доклад принят в программу конференции
Про жизнь JS отshellников
* CLI от зари компьютерной эры и навсегда (но это не точно)
* Как устроено child_process API, интеграция с ОС
** Отдельно про shell
** Особо про потоки
* Shell-лексеры
** Область применения и устройство
** Сравнение имлементация shelljs, bun, yarn
* Shell-врапперы
** Путь от «сахара» к фреймворкам
** Концепции execa и zx
** $, который теперь не jQuery
* Мысли о будущем:
** А почему бы не <x>, вместо JS?
** shellGPT
Доклад принят в программу конференции
Как приготовить SLO, жить с этим и не пожалеть
Качество поставляемого функционала должно как-то измеряться, а отклонения от нормы фиксироваться. К сожалению во фронтенде часто пренебрегают таким инструментом, как SLO. В докладе я поделюсь опытом нашей компании в формировании ключевых метрик, как мы их агрегируем и куда выводим, какие показатели для нас самые важные. Опишу концепции уровней SL* и приведу примеры реальных кейсов.
* поговорим, для чего собирать метрики
* рассмотрим, что такое SLA, SLO, SLI
* обсудим, как считать базовые показатели и как приготовить сбор данных
* расскажу, какие инструменты существуют и какие из них удобные
* покажу, как это всё хранить, выводить и рисовать красивые графики
* расскажу, куда слать алерты, когда пробило и как выстроить культуру реакций на них
Доклад принят в программу конференции
Производительность (1)
Frontend в космосе: отображение космической системы на картах
Полтора года назад мы поставили перед собой амбициозную задачу — разработать платформу моделирования космической системы.
Самая «эффектная» часть платформы — приложение с интерактивными картами. Мы можем посмотреть на результат моделирования — вывести орбитальные группировки, терминалы связи и шлюзовые станции, отследить их движение и траекторию в режиме реального времени.
В докладе вы узнаете как:
— собрать стек Web-GL технологий, для решения широкого спектра картографических задач
— поделить планету на части вместе с H3-сотами
— отобразить большие данные на карте, используя гибридную кластеризацию
— сэкономить работу на стороне бэка, используя геодезические преобразования при отрисовке линий
— реализовать real-time анимацию объектов на примере спутниковой группировки
Обещаю, будет как минимум красиво, как максимум — полезно!
Доклад принят в программу конференции
Технологии (8)
Уязвимости в современных JS-фреймворках (React, Vue, Angular)
Описание и примеры наиболее актуальных клиентских уязвимостей. Особенности эксплуатации уязвимостей во фреймворках React, Vue, Angular. Рекомендации по предотвращению появления уязвимостей на клиенте.
Доклад принят в программу конференции
Хроники Valibot: Сага о безупречных данных в мире JS
В докладе рассмотрим Valibot — инструмент для валидации данных в JavaScript, улучшающий качество и безопасность приложений. Выделим его ключевые особенности: гибкость в определении правил валидации и способность обрабатывать разнообразные структуры данных.
Осветим три основных кейса использования Valibot:
Валидация форм: облегчение проверки пользовательских данных.
Чистая архитектура: согласованность данных на всех уровнях приложения.
Аналитика: точность данных для обоснованных бизнес-решений.
Заключение доклада подчеркнёт, как Valibot интегрируется в рабочие процессы, повышая качество веб-разработки и способствуя созданию надёжных приложений.
Доклад принят в программу конференции
Селекторы: простые и сложные
Сколько способов выбрать элемент для стилизации при помощи CSS-селектора вы знаете? Ведь бывает же иногда будничная ситуация, когда из всего проекта работать нам разрешают только с CSS-файлом. Но сделать всё равно нужно красиво!
В докладе расскажу, как мощны лапищи современных CSS-селекторов, как их можно необычно применять и почему старые шпаргалки про вес селекторов уже не работают.
Доклад принят в программу конференции
Проклятие седьмой вкладки – или зачем мы перешли на HTTP 2.0
Фронтенд-разработчики пишут на Javascript, Typescript, выбирают себе фреймворк по вкусу, библиотеки компонентов, пишут разнообразные тесты, а сеть принимают как должное. Ну что там – HTTP-запросы во вкладке Network ходят туда-сюда, тут запрос POST, тут GET, все работает – работает, не трогай!
Мы тоже так думали. Пока к нам не пришли странные пользователи, которые зачем-то открывают все в новой вкладке. «Закройте!» – говорили мы им, но с каждым новым репортом становилось все яснее, что долго так продолжаться не может.
И мы отправились в большое приключение – снимать таинственное проклятие седьмой вкладки.
Доклад принят в программу конференции
WebRTC для создания фотографий
Как делать фотографии не хуже чем в нативном приложении?
Что такое WebRTC? Что такое MediaStream?
Как скармливать правильно видеопоток OCR моделям машинного обучения?
Все ответы на эти вопросы вы найдете в данном докладе!
И, разумеется, не забудем про подводные камни!
Доклад принят в программу конференции
Bun vs Node. Почему JSCore?
Сравним Bun vs Node. Так ли он хорош? Рассмотрим, почему был выбран JSCore, как он работает и в чем отличие от V8. Поговорим о Zig, и ответим на вопрос: стоит ли переезжать на Bun уже сейчас или нет?
Доклад принят в программу конференции
Криптография для фронтэндеров
Какая такая криптография на FrontendConf? Предлагаю не разбираться с математикой, а с прицелом на то, что мы фронтэндеры, узнать какие прикольные фичи может принести использование криптографии в ваши проекты - шифрование чувствительных данных, подписи, ассиметричные алгоритмы шифрования и как всё это может пригодиться.
Доклад принят в программу конференции
Применение ИИ в пользовательских интерфейсах с помощью Tensorflow js
Введение:
- Мотивация доклада - почему ИИ это важно на фронтенде и сделает тебя лучше
Про технологию:
- Что такое тенсорфлоу
- Направления применения тенсорфлоу (зрение звук текст..)
- Кейсы решений для бизнеса на фронтенде (у многих нет понимания именно КАК применять?)
Примеры реализаций:
- Процесс работы с TensorFlow
- Делаем "умное рисование"
- Делаем классификацию документов и меняем UI/UX с ИИ
- Использование модели ИИ
Заключение:
- выводы/результаты
Доклад принят в программу конференции
Коммуникация и процессы (2)
Дипломатическая победа: как договориться с любым коллегой
В современном мире ключевым навыком является умение вести переговоры, договариваться и убеждать. Эти навыки существенно влияют на успех бизнеса, способность компании достигать своих целей и обеспечивать свою конкурентоспособность. Даже когда всё идёт наперекосяк, договороспособность может выручить вас из безнадежной ситуации.
В этом докладе я бы хотел поделиться комплексным подходом к развитию этих навыков, начиная от анализа логики аргументации до изучения эффективных стратегий ведения диалога. Разберу сценарии, включающие методы убеждения и логические приемы, которые помогают не только сохранять свою позицию, но и добиваться желаемых результатов. Ну и напоследок хотелось бы уделить внимание тому, как быть неутомимым в спорах и конфликтных ситуациях.
Доклад принят в программу конференции
Разрабатываем без страха и релизим без страха
Боишься, что твой код уронит прод и компания понесет миллионные убытки? Этого легко избежать, если использовать современные практики разработки: автоматизация проверок (линтинг, тестинг), автоматизация мониторинга, практики развертывания и деливери кода. В докладе я расскажу, как все эти практики помогают перестать волноваться после нажатия кнопки "merge" и "deploy"
Доклад принят в программу конференции
Мастер-класс (1)
Менеджмент зависимостей в Javascript
В докладе разберём, какие инструменты для управления зависимостями есть в экосистеме Javascript и поймём, какие проблемы они решают
Доклад принят в программу конференции
Другое (2)
Посадил дед REPL
Как написать свой собственный REPL и где его можно применить
Начнем с простого примера https://raiffeisen-dgtl.github.io/Frontend-editor-light/
применим
- monaco-code-editor
- добавим поддержку библиотек (статически)
- будем собирать TS в браузере через babel-stand-alone
добавим
- загрузку библиотек динамически по вводу строки import ... froom 'название библиотеки' посредством CDN и ESM https://github.com/Tetragius/editor/blob/main/src/Components/Playground/script.ts
- добавим файловую систему
- улучшим сборку перейдем с babel-stand-alone на esbuilder
https://github.com/Tetragius/editor/blob/main/src/Services/ESbuilder.ts
- добавим загрузку ассетов
Итог полноценный REPL для разработки на TS
Дополнительно
- LSP (language server protocol) - или как обстоят дела не с TS
- Добавляем онлайн и совместную работу
Доклад принят в программу конференции
От декларации до отображения
Расскажу, что происходит с вашим CSS после того, как браузер его загрузил и распарсил, как на самом деле работают селекторы и !important, почему ваш сайт хоть как-то выглядит, даже если никакие стили не загрузились, что такое каскад и почему специфичность селекторов - это только его часть. Доклад теоретический, но поможет вам лучше уложить в голове имеющийся опыт и избежать многих ошибок в будущем.
Доклад принят в программу конференции