Java Community (JUGNsk) Meetup #5


Сведения
Привет!
Добро пожаловать на пятый митап JUGNsk!
В этот раз в программе у нас не только доклады, но и активности в перерывах.
Начало в 11.00 в субботу 15 декабря в Точке Кипения.
Окончание в 17-00.
Программа:
[11:00] Открытие и приветственное слово от организаторов
[11:15] Сергей Мельников: "Профилируем с точностью до микросекунд и инструкций процессора"
Доклад посвящен особенностям профилирования небольших участков кода, которые сильно влияют на характеристики всего приложения. Как быть, если профилируемый код выполняется 0.0001 секунды, но хочется его ускорить до 0.00005 секунды? Мы рассмотрим пределы Java-профилировщиков и как выжать максимум из штатного профилировщика Linux — perf. Далее посмотрим, какие аппаратные особенности процессоров помогут нам получать репрезентативный профиль еще быстрее. В конце будет рассказано о технологии Intel Processor Trace, которая позволяет сделать еще один шаг в точности профилирования и реконструировать выполнение участка программы.
[12:15 - 13:00] Перерыв #1
[13:00] Кирилл Кармакулов: "End-to-End тесты на Spring Boot: трудно ли даются и что дают?"
В докладе:
-как пройти путь от "нет тестов" до "покрытие - 90%" без титанических усилий: за 20% от кода приложения и 50% от времени разработки
-какие подходы оправдали себя, какие доставили боль и страдание,
какие инструменты "будут нам в помощь"
-что было бы хорошо, но на практике - дорого
Доклад даст слушателям набор инструментов и средств для каждодневной работы.
[14:00 - 14:45] Перерыв #2
[14:45] Владимир Воскресенский: "Медленная Java? Проблемы производительности, которые не списать на GС".
Azul Zing JVM известна благодаря уникальному C4 (Continuously Concurrent Compacting Collector), в котором изначально решена проблема остановок Java приложений для сборки мусора. На этой сессии мы рассмотрим проблемы производительности Java приложений, которые нельзя списать на Garbage Collection. Обсудим как некоторые из них пытаются решить различные AOT (ahead-of-time) технологии. И в частности заглянем под капот технологии ReadyNow - реализации Profile Guided "AOT" для Zing JVM.
[15:45 - 16:15] Перерыв #3
[16:15] Закрытие и розыгрыш призов от спонсоров
---
Программа на перерывы:
Перерыв #1
-- Углянский, Яковлев: "JUGNsk планы на будущее".
JUGNsk существует уже год, пора поговорить о результатах и планах на будущее! Покажем немного статистики за 2018 год, расскажем, что планируем делать дальше и обсудим, какие еще активности могут быть интересны интересны нашему сообществу
-- Денис Горбатых: "Как разгоняли 18-летнего слона до первой космической"
История о прокачке performance'а 18-летнего Java Enterprise проекта, начавшаяся с хакатона и растянувшаяся на несколько эпиков длиною больше года. Как прооперировать лапшичный легаси код и сохранить здоровье монолита? Как сохранить консистентность данных от начала и до конца операции? Как проверить успех? Ответы на эти и другие вопросы можно будет услышать в нашей хронике.
---
Перерыв #2
-- Алексей Добрынин: "Что может пойти не так, если запускать Maven сервисом?"
Реальная история от одного из разработчиков TeamCity о том, зачем запускать мавен сервисом, какие с этим могут возникнуть проблемы и как их решать.
-- Максим Ястребов: Consumer-Driven Contract Tests with Spring Cloud Contract
В распределенных системах, таких как микросервисные приложения, тестирование взаимодействия между различными ее составными частями является очень важной задачей. Зачастую для ее решения используются End-To-End тесты, но существует специализированный подход - использование паттерна Consumer Driven Contract (CDC). Основная идея паттерна CDC - это публикация контракта взаимодействия, и написание на его основе тестов для всех сторон, использующих и реализующих этот контракт. Одним из инструментов, который применяет принцип CDC является Spring Cloud Contract. В докладе я расскажу об этом инструменте и покажу примеры его использования на нашем опыте. Расскажу какие цели ставили, чего достигли и как.

Java Community (JUGNsk) Meetup #5