17 декабря собираем Java-сообщество на предновогоднем митапе. В программе три доклада: погрузимся в детали работы Spring и его аспектов, а также узнаем, как Quarkus использует build-time для ускорения старта и экономии памяти, избегая затратных механизмов, таких как рефлексия. Кроме того, обсудим, как поддерживать высокое качество тестов и не допускать деградации покрытия, используя концепцию «Тестов на тесты» для защиты критичных частей кода. Участников мероприятия ждем к 18:30, а доклады начнутся в 19:00

Доклады

19:00 – 19:40
Spring Аспекты Jжесть
Доклад посвящен глубокому анализу производительности аспектов в Spring, включая детальное рассмотрение механизмов работы AspectJ, различных подходов к Weaving и их влияния на производительность. Будут представлены расширенные замеры производительности разных конфигураций аспектов, сравнение с аналогичными механизмами
Антон Курако
Ведущий разработчик
Т-Банк
19:40 – 20:20
Как Java-фреймворки ускоряются, на примере Quarkus
Почему Quarkus стартует быстро даже без GraalVM? Как ему удается обходиться без рефлексии и тяжелых сканирований классов? Что именно делает ArC (как имплементация CDI), при чем здесь Gizmo/ASM и индексирование классов через Jandex? Доклад — верхнеуровневый обзор подходов к оптимизациям, которые современные Java-фреймворки используют для ускорения работы на JVM: анализ классов на этапе сборки, генерация байткода, подготовка DI-контейнера до запуска приложения и превращение сложной CDI-логики в прямолинейный статически оптимизируемый код. На примере Quarkus разберем, что он делает на build-time и почему это дает реальный прирост к startup time и памяти.
Андрей Кулешов
Руководитель отдела разработки
Yandex Infrastructure
20:40 – 21:20
Тесты на тесты
Стоит один раз срезать углы при написании тестов — и, согласно теории разбитых окон, через некоторое время качество тестового покрытия начнет деградировать. В итоге тесты перестанут проверять то, что действительно важно.

В этом докладе разберемся, почему существующие системы оценки тестового покрытия и линтеры не справляются с проверкой качества тестов. Узнаем, как с помощью тестов на тесты можно напоминать разработчикам писать тесты на особо ответственные части системы. Погрузимся в принципы, на которых строятся такие тесты, и обсудим, когда и зачем имеет смысл их применять.
Артём Бояршинов
Ведущий разработчик
Мир Plat.Form
Регистрация на митап
Все поля обязательны для заполнения
Иванов Алексей Петрович
Регистрируясь, я соглашаюсь с
Я даю согласие на обработку моих персональных данных для цели (целей):
Мы обрабатываем ваши данные в соответствии с

Подписывайтесь на Т-Банк

Java — объектно-ориентированный язык программирования и платформа для создания кроссплатформенных приложений. Spring — фреймворк для создания приложений, упрощающий конфигурацию и инфраструктурные задачи. Quarkus — фреймворк, оптимизированный для быстрого запуска и низкого потребления памяти. Build-time — этап сборки, на котором компилятор или фреймворк выполняет подготовительные операции. AspectJ — фреймворк аспектно-ориентированного программирования для внедрения дополнительной логики без изменения исходного кода. Weaving — процесс внедрения аспектов или дополнительного байткода в классы во время компиляции, загрузки или выполнения. GraalVM — высокопроизводительная виртуальная машина, позволяющая запускать Java и другие языки, а также собирать нативные образы. CDI — спецификация Java для внедрения зависимостей и управления контекстами в приложениях. Gizmo/ASM — библиотеки для генерации или модификации байткода Java на низком уровне. Yandex Infrastructure — внутренняя технологическая платформа компании «Яндекс», включающая инструменты, сервисы и инфраструктурные решения для разработки.