Joker 2021: прошедшая Java-конференция и общая статистика

Закончилась конференция для Java-разработчиков Joker 2021, проходившая с 25 по 28 октября 2021 года. Мероприятие стало четвёртым из девяти конференций, проводимых в этом году компанией JUG Ru Group в рамках осенне-зимнего сезона.

9guqi9ya1-2g2hnafh1qgm5qc9c.jpeg

Обзор рассказывает об увиденных и услышанных докладах, о полученных при этом впечатлениях и о произошедших изменениях в проведении конференции формата онлайн.
Первая часть обзора посвящена непосредственно происходившему на конференции, во второй части приводится статистика и связанные с ней интересные факты о конференциях и митапах JUG Ru Group.

Открытие


Открыли конференцию Андрей Когунь, Алексей Стукалов и Паша Финкельштейн, представив участников программного комитета, спикеров, экспертов и ведущих главной студии конференции.

mwx_xz1keuxbdpxjatxexzpnixk.jpeg

Были анонсированы предстоящие доклады с указанием их градаций по мере увеличения сложности содержащейся в них информации.

sizhzw4xvnj6j_q4uzd7odjfspa.jpeg

Активности, бывшие на конференции:

  • доклады;
  • мини-доклады;
  • тематические обсуждения.


Доклады


Открывающим конференцию стал доклад Самопишущийся код, авторами которого являются Никита Поваров и Роман Поборчий. Живой, интересный и расширяющий кругозор доклад. Был сделан плавный переход от философских вопросов к техническим подробностям с перечислением существующих на настоящий момент продуктов. На мой взгляд, рассказанное некоторым образом перекликается с докладом Тагира Валеева годичной давности.

Продолжением стало тематическое обсуждение тем доклада ведущими конференции с Никитой и Романом, о чём в обзоре рассказывается чуть дальше.

1peqcloznw7sdahi1i1-2uarbi4.jpeg


Ещё один качественный доклад от Sebastian Daschner под названием Building applications with Neo4j & Quarkus. На этот раз было продемонстрировано совместное использование в одном приложении графовой базы данных Neo4j и фреймворка Quarkus. Были показаны особенности построения модели данных (на любимую у спикера тему кофе), эффективности построения запросов для выборки данных, предоставления рекомендаций пользователям. Код показанного приложения можно найти на GitHubздесь.

uktpm2q87n3w9cg24jud2eqbe94.jpeg


Доклад Архитектура математических вычислений на Kotlin (автор — Александр Нозик) привлёк внимание фундаментальным подходом, продемонстрированным для раскрытия темы. Несмотря на то, что в теме доклада упоминался только Kotlin, повествование охватывало значительно больше языков программирования, поднимая общие для всех них проблемы. Просмотр доклада может оказаться полезным программистам как JVM-языков, так и любых других языков программирования.

dj99qoct_6kk54pxfaxh0jzmfgq.jpeg


Предполагаю, очень многим участникам конференций JUG Ru Group было приятно увидеть и услышать в очередной раз Алексея Шипилёва. Его доклад Java-объекты наизнанку отвечал на часто возникающий у многих Java-разработчиков вопрос — сколько занимает в памяти объект конкретного типа. Скрупулёзно, как это всегда делает Алексей, было изложено, какие факторы могут повлиять на размещение Java-объектов в памяти. Статья для дальнейшего изучения в блоге Алексея.

Алексею в представлении доклада помогал, задавая вопросы и ведя дискуссию, Иван Углянский.

d80_vzmwuiq1okup0ixzdlg4o0o.jpeg


Доклад JPA-паззлеры (+Hibernate и Spring) в исполнении Андрея Беляева проходил в форме вопросов-ответов. В студии ответы старался угадать Андрей Когунь. Всем смотревшим доклад предлагалось во время эфира делать то же самое, присылая ответы в Telegram-чат.

Ключевой темой доклада был JPA (Java Persistence API, ныне Jakarta Persistence) и особенности использования данной спецификации вместе с Lombok, Hibernate и Spring Boot. Доклад получился живым, интригующим, полным неожиданных ответов на заданные вопросы.

noyowuoybqh-juyknz586hxdutc.jpeg


Practical steps for creating safer software (Code included) от Steve Poole был скорее вводным в тему безопасности в отношении языка Java докладом. Примеры кода были (два-три), но большая часть времени была отдана описанию общих принципов и подходов. Просмотр доклада вполне уместен и полезен до последующего изучения вопросов безопасности с детальным изложением технических подробностей.

lu2jbji6w3b_ckd9s2iwh1kfdwu.jpeg


Выходя за рамки контейнера — компактные и быстрые контейнеры с нативным образом (и без) — доклад Дмитрия Чуйко об особенностях развёртывания Java-приложения с использованием контейнеризации, включая преимущества и недостатки дополнительного применения при этом нативных образов посредством GraalVM. Совершенно замечательный доклад с явной практической направленностью. Кроме GraalVM и минималистичного Linux-дистрибутива Alpine был упомянут относительно новый продукт компании BellSoft, называющийся Liberica Native Image Kit. Мастерски ассистировал Дмитрию в представлении доклада Андрей Паньгин.

wq9-g2zaq9d-wdlnolnxjne7ea4.jpeg


Евгений Мандриков в докладе Decomposing Compose рассказал на примере Kotlin-кода для Jetpack Compose об особенностях прохождения пути от пользовательского исходного кода до компиляции и байт-кода. Так как отправной точкой для доклада стала возникшая проблема в библиотеке JaCoCo, которой я сам постоянно пользуюсь (спасибо Евгению за прекрасный инструмент), было вдвойне интересно следить за увлекательным повествованием.

i8_-5xdf7skuoo6-1moqsuwgmpg.jpeg


В заинтриговавшем ещё до просмотра Техническом интервью с Евгением Борисовым под прицел Евгения Борисова попали двое участников программного комитета (Паша Финкельштейн, Андрей Когунь) и Барух Садогурский.

xc2ceemcicvpy0b9dd_wizploeu.jpeg

Каждый из трёх интервьюируемых выступил в двух разных образах. Паша, Андрей и Барух стойко и мужественно переносили нападки Евгения.

jpjr_4rzisxmixodo-gvolp8y6c.jpeg

Барух в очередной раз проявил свои недюжинные артистические способности, поразив даже всё ожидавшего от него Женю.

j6j9iiy-oy8rev8cc7lbvemy9pk.jpeg

Было и весело, и интересно, и познавательно, как и было заявлено в анонсе доклада.


В докладе Обратная совместимость, инструменты и подходы для контроля над dependency hell представители Сбера Евгений Калинин и Александр Лампель поделились опытом управления и контроля компонентами большой системы, постоянно эволюционирующими и использующими новые версии зависимостей. Доклад представляет интерес для разработчиков, часто сталкивающихся с подобными проблемами на практике.

dadvjg_ma2a0kedj7ubevimtj2k.jpeg


Никак нельзя было пройти мимо доклада Алексея Нестерова и Олега Докуки, т.к. хотелось узнать, Что нового в Spring Framework 6? Алексей и Олег собрали и классифицировали всю доступную им информацию о деталях ожидаемой версии 6 популярного Spring Framework. Доклад исключительно содержательный и полезный для большинства, учитывая тот факт, что Spring Framework и Spring Boot являются доминирующими продуктами. Весьма интересно через некоторое время будет узнать, насколько оправдались сделанные предсказания.

В качестве дополнительной информации по этой же теме можно упомянуть о недавних докладе Juergen Hoeller на SpringOne и его же посте в официальном блоге Spring.

1uec75urvlbci-ebw4xsyx6ezew.jpeg

Мини-доклады


Меньшая по продолжительности, но не менее важная форма донесения информации на конференции — мини-доклады.

Иван Крылов делает всегда очень насыщенные техническими подробностями, содержательные и интересные выступления. Доклад От 11 к 17 версии Java не стал исключением, имея в концентрированном виде информацию, полезную для выполнения успешной миграции Java-приложений с версии Java 11 на 17. Как справедливо заметил докладчик, данный доклад отлично дополняется недавним рассказом Тагира Валеева о нововведениях в языке Java в версии 17.

2e7h-njlfc6rexul1uhxk9xq33c.jpeg

Тематические обсуждения


Новой оригинальной формой стали тематические дискуссии в студии в перерывах между докладами. Каждый из разговоров ведущих конференции был посвящён теме одного из докладов дня с участием спикеров этого доклада.

В дискуссии первого дня о перспективах автоматизации написания кода участвовали Никита Поваров и Роман Поборчий.

ew_ssovcaykjesp8_r4apccugrc.jpeg

Во второй день дискуссия велась с Андреем Беляевым про Quarkus.

gijqfi1b8rve4bf0jgf_ud6sky0.jpeg

В третий день разговор шёл о рефакторинге с Максимом Гореликовым, Тагиром Валеевым

x5-quoenlfsu4wlpk9wmw9xkqi4.jpeg

… и о языке программирования Scala с Олегом Нижниковым, Антоном Архиповым.

sxzyj2hpxswvdigzuwggjiyydmi.jpeg

В четвертый день был разговор о Java 17, кроме ведущих, собравший совершенно замечательный набор участников: Дмитрия Чуйко, Владимира Иванова, Тагира Валеева и Алексея Шипилёва.

dvegjknzqkqxtffqyfvoeo4kbgo.jpeg

В тот же четвёртый день с участием Антона Архипова и Тагира Валеева велась дискуссия о языке программирования Kotlin.

w5dvucptbfirc_23cht9wkly7fk.jpeg

Закрытие


Алексей с Андреем закрыли конференцию, напомнив о необходимости заполнения формы обратной связи и ещё раз упомянув о всех причастных к организации конференции: спикерах, участниках программного комитета, экспертах и спонсорах.

ncwb8v3wmdmfrly0h6fapak1w2o.jpeg

Статистика по конференциям и митапам


По ссылке jugspeakers.info доступно приложение (исходный код на GitHub), в котором имеется полная информация о конференциях и Java-митапах от JUG Ru Group, JUG.MSK и JUGNsk (спикеры, доклады, презентации, видео) за все годы.

К осенне-зимнему сезону конференций, проводимых JUG Ru Group, в приложение было добавлено следующее:

  1. Информация о видео ставших публично доступных докладов конференций компании JUG Ru Group и видео докладов конференции SnowOne 2021 от новосибирского Java-сообщества JUGNsk.
  2. В раздел статистики был добавлен подраздел OLAP.


О следующих знаменательных событиях, которые произойдут уже скоро, тоже можно узнать из приложения:

  • DevOops 2021 (8–11 ноября 2021 года) будет сотой конференцией, организованной JUG Ru Group
  • 25 февраля 2022 года исполнится 10 лет JUG Ru Group


Картинка внизу слева демонстрирует первый факт (перейти в раздел События, в области фильтров вверху сбросить флажок Митапы, установить JUG Ru Group в списке Организатор, очистить список Тип события, упорядочить таблицу по конечной дате по возрастанию и перейти на последнюю страницу таблицы). Новая конференция VideoTech станет конференцией номер 103 в конце сезона.

Второй факт (10-летие JUG Ru Group) следует из того, что 25 февраля 2012 года (см. картинку внизу справа) состоялась первая встреча сообщества JUG.ru, на которой выступал Антон Архипов.

image-loader.svg

Пользователям приложения стали доступны возможности OLAP для исследования и визуализации информации о конференциях и митапах (прямая ссылка на веб-страницу OLAP в разделе статистики).

Существуют три OLAP-куба: типов событий, спикеров и компаний. У каждого куба имеется свой набор измерений (dimensions) и показателей (measures). Данные кубов можно детализировать (выполнить drill-down) в таблице и визуализировать в виде графиков.

Куб типов событий имеет 3 измерения: тип события, город проведения и год. Таблица показывает данные по измерениям тип события и год. Графики строятся по данным всех строк таблицы.

Комментарии к картинкам внизу:

  • для получения первой картинки (см. внизу слева) нужно сбросить вверху фильтры полей Организатор и Типы событий;
  • средняя картинка ниже демонстрирует возможность отображения графика по данным строки Всего (вверху слева от области графиков необходимо выбрать ссылку Всего);
  • для просмотра городов, в которых каждое из типов событий проходило, у строки таблицы типов событий нужно щёлкнуть по самой левой ячейке для раскрытия подтаблицы городов (см. картинку внизу справа).


image-loader.svg

Куб спикеров событий имеет 3 измерения: спикер, тип события и год. Таблица показывает данные по измерениям спикер и год. Графики строятся по данным первых пяти строк таблицы.

Для выбора отдельных спикеров, по которым хочется увидеть данные, в поле Спикеры нужно начать набирать на клавиатуре фамилию, после чего выбрать элемент из списка. Далее повторить данные шаги для каждого спикера (см. среднюю картинку внизу).

При щелчке в строке таблицы спикеров по самой левой ячейке раскроется подтаблица типов событий, в которых данный спикер принимал участие. На картинке внизу справа отображена информация по Баруху Садогурскому и Евгению Борисову, лидерам по количеству сделанных докладов.

image-loader.svg

Куб компаний имеет 4 измерения: компания, тип события, спикер и год. Графики строятся по данным первых пяти строк таблицы.

Для выбора отдельных компаний, по которым хочется увидеть данные, в поле Компании нужно начать набирать на клавиатуре наименование компании, после чего выбрать элемент из списка. Далее повторить данные шаги для каждой компании (см. среднюю картинку внизу).

При щелчке в строке таблицы компаний по самой левой ячейке раскроется подтаблица типов событий, в которых данная компания принимала участие. Если щёлкнуть по самой левой ячейке строки подтаблицы типов событий, то внутри строки откроется подтаблица спикеров (которые участвовали в данном типе конференций или митапов и работают в данной компании).

Следует иметь ввиду, что при отображении данных учитывается текущая принадлежность спикера к компании.

image-loader.svg

Интересные факты по статистике конференций и митапов:

  • конференция JUG Ru Group, проведённая наибольшее количество раз в году — это DotNext: она прошла 3 раза в 2016 году (в Москве, Санкт-Петербурге и Хельсинки);
  • 17 раз та же DotNext прошла за все годы, на втором месте Mobius с 13 разами (столько будет после проведения в ноябре этого года) и HolyJS с 12 разами (тоже столько будет скоро после проведения через несколько дней);
  • рекордсмены по длительности проведения в год — суммарно по 9 дней в 2020 году проходили конференции HolyJS и DevOops;
  • больше всего докладов за год (91) было в HolyJS за 2020 год;
  • по количеству спикеров в год всех обогнал Heisenbug, набрав 101 в конференциях за 2021 год;
  • максимальное количество Java Champions (14) было в JPoint 2019;
  • максимальное количество Most Valuable Professionals в год (17) присутствовало на DotNext в 2018 году (7 на конференции в Москве и 12 на конференции в Санкт-Петербурге, т.е. некоторые спикеры приняли участие в обоих);
  • среди спикеров чемпионом по количеству докладов является Барух Садогурский — 50 докладов во всех конференциях и митапах за все годы;
  • по количеству событий первое место у Евгения Борисова — 31 событие;
  • самым разносторонним с максимальным количеством типов событий (10) является Паша Финкельштейн;
  • среди компаний практически по всем показателям лидирует JetBrains, например, 255 докладов во всех конференциях и митапах за все годы сделали спикеры, которые работают в настоящий момент в ней.


Cезон онлайн-конференций JUG Ru Group продолжат конференции HolyJS (2–5 ноября 2021 года), DevOops (8–11 ноября 2021 года), C++ Russia (15–18 ноября 2021 года), Mobius (22–25 ноября 2021 года) и VideoTech (1–3 декабря 2021 года).

Можно как посетить любую из конференций отдельно, так и купить единый билет на все девять конференций сезона (четыре прошедших и пять оставшихся). Видео докладов становятся доступными сразу же после завершения конференций.

© Habrahabr.ru