Только что, c 25 по 28 ноября 2020 года, прошла Java-конференция Joker 2020. Это уже второй сезон конференций, проводимых JUG Ru Group в формате онлайн.

В онлайн-формате конференция стала лучше или хуже? Что нового организаторами было придумано? Кого из спикеров с какими докладами можно было увидеть и услышать? Что полезного и интересного было в докладах? Имеет ли смысл посещать конференцию в следующем году?



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

В замечательной статье из блога компании JUG Ru Group на Хабре Руслан ARG89 Ахметзянов постарался проанализировать ситуацию (попробуйте оценить, Вы в большей степени персонаж Саша или Женя в отношении конференций). Далее там же анонсируются дополнительные механики, добавленные в стриминговую платформу конференций для того, чтобы удовлетворить вкусы как можно большего числа участников. Удалось или нет достигнуть этим поставленных целей, постараемся разобраться далее.

В преддверии конференции также вышло 8 выпусков шоу Вторая чашка кофе с Joker, в которых в эфире ведущие успели взять интервью с Алексеем Фёдоровым, Дмитрием Чуйко, Александром Белокрыловым, Дмитрием Александровым, Олегом Шелаевым, Сергеем Егоровым, Евгением Борисовым и Тагиром Валеевым.

Так что же, собственно, сама-то конференция?

Открытие


В проведение, открытие, закрытие каждой конференции организаторы раз за разом стараются привнести что-то новое. В данном случае открытие началось с импровизаций Алексея Фёдорова и Глеба Смирнова. На правом фото Алексей Фёдоров демонстрирует возможности игрового вида конференции (о нём рассказывается далее в отдельном разделе обзора).



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

  • интервью;
  • большие доклады;
  • мини-доклады партнёров;
  • воркшопы.

Интервью


В интервью Эволюция Java и Kotlin. Что нас ждет?, взятом у Романа Елизарова, можно было узнать о пути развития языка программирования Kotlin. Накануне конференции официально было объявлено о передаче управления и координации работ по проекту Kotlin от Андрея Бреслава к Роману Елизарову. По этой причине особенно интересно было узнать мнение Романа и про его изменившийся круг обязанностей, и о возможных изменениях развития языка и платформы.



Зачем нужно знание многопоточной разработки в enterprise — мини-интервью Евгения phillennium Трифонова с Юрием Бабаком, представителем компании-партнёра конференции. Любопытными показались разнообразные примеры из собственной практики, про которые Юрий живо и интересно рассказал в ответ на очень уместные вопросы Евгения.

Адская кухня: Как приготовить новую версию Java и не отравить пользователей LTS релизов? — мини-интервью с Александром Белокрыловым из компании BellSoft, хорошо известной, вероятно, большинству по дистрибутиву Liberica JDK. Новостью стала информация о вхождении представителей компании в исполнительный комитет JCP.



Доклады


Доклад Кирилла Тимофеева под названием JVM-профайлер, который смог (стать кроссплатформенным) был про добавление поддержки Windows в async-profiler при его использовании из среды разработки IntelliJ IDEA. Андрей Паньгин (поздравляем его с присвоением звания Java Champion за неделю до конференции!) выступил в качестве приглашённого эксперта доклада. Отличный докладчик (автор Windows-порта), хороший доклад с глубоким пониманием темы, идеальный эксперт (автор оригинального продукта), полезная информация о скором появлении предмета обсуждения в составе IntelliJ IDEA.



Предполагаю, что абсолютное большинство видевших доклад и читающих данный обзор использует Spring Boot — как-никак это промышленный стандарт Java-разработки сегодня. «Толстый» («fat») JAR при использовании Spring Boot — также абсолютно распространённая практика. Рискну предположить, что Владимир Плизга со своим докладом Spring Boot «fat» JAR: Тонкие части толстого артефакта представил информацию, которая наиболее практически применима и востребована. Неплохо дополнили доклад три Андрея — Беляев, Когунь и Зарубин.



Доклад Thread Safety with Phaser, StampedLock and VarHandle от легендарного Heinz Kabutz (ведущий известнейшей рассылки JavaSpecialists) и его коллеги John Green. Просмотр данного доклада может быть полезен тем, что в нём акцентируется внимание на менее известных concurrency-классах Phaser, StampedLock и VarHandle (в отличие от многим знакомых классов CountDownLatch и CyclicBarrier).



Spring Patterns для взрослых в исполнении (сначала буквально даже в сопровождении гитары) Евгения Борисова. Ничто не помешало в итоге Жене (ни разряжающаяся батарея ноутбука, ни стремительно заканчивающееся время) успешно завершить доклад. В отличие от привычных докладчику стиля и тем — технической жести, хардкора и расчленёнки (только библиотек и фреймворков, естественно) — речь в этот раз шла как раз о наиболее типовом использовании Spring Framework. Ещё один абсолютно практически применимый доклад в блестящем исполнении с рекомендацией к просмотру.



Доклад Заменят ли роботы программистов? от Тагира Валеева расстроил меня — вслед за докладчиком я тоже осознал, что «роботы» (библиотеки, сервисы, плагины) в значительной части уже заменили программистов. Частично успокаивает то, что ими автоматизируется наиболее неинтересная и рутинная часть работы программиста. Полезной и приятной частью в подобных докладах является информация о каких-то сервисах, которые можно будет попробовать после конференции. В случае доклада Тагира это информация о сервисах Mergify (есть приложение для GitHub) для автоматизации принятия pull request и сервис Diffblue (есть плагин для IntelliJ IDEA) для автоматизации создания unit-тестов (выглядит впечатляюще, надо попробовать). Полезный, интересный и даже неожиданно, не побоюсь этого слова, философский доклад.



Мини-доклады партнёров


На мой взгляд, мини-доклады партнёров — очень удачная форма докладов, относительно коротких и информативных одновременно. Подводные камни загрузчиков классов в Java и как они могут повлиять на скорость работы с XML от Ильи Ермолина (слева) и Как сказать «нет» архитектору? Советы по выбору размера микросервиса в исполнении Андрея Даминцева (справа) являются примерами таких докладов.



В мини-докладе Java Licensing Tips от Юрия Милютина были, например, представлены волнующие многих теперь (после изменении компанией Oracle модели лицензирования) данные о сокращении (или даже исключении) расходов на лицензирование используемой в промышленной эксплуатации Java.

После мини-доклада Самое время попробовать машинное обучение на Java у Артёма Селезнева (фото справа) взял интервью Евгений Трифонов. В какой-то степени были развенчаны мифы (или хотя бы изменено мнение) о слабой применимости Java для машинного обучения.



Воркшопы


Ещё одна замечательная форма донесения технической информации — воркшопы (мастер-классы). Их на конференции было два: GraalVM (его проводил Thomas Wuerthinger с Олегом Шелаевым) и Хватит писать тесты, пора писать спецификации! (воркшоп вёл Алексей Нестеров).

Во время просмотра конференции выбор пал на второй воркшоп. Алексей работает в VMware (ex-Pivotal Labs) в команде Spring Cloud Commerical и является очень известной личностью, в настоящий момент он — один из соведущих популярнейшего подкаста Радио-Т (т.н. «Алексей второй» и «Алексей добрый», в отличие от Алексея Абашева).

Воркшоп на конференциях JUG Ru Group обычно разбит на две части и суммарно занимает один конференционный день, к чему надо быть готовым. Для демонстрации написания тестов использовался проект в репозитории (если используете Windows, то дополнительно придётся изменить две строчки в файле frontend/package.json). Высококвалифицированный приятный инструктор-докладчик, возможность спокойно покопаться в проекте на своём привычном рабочем месте, настоятельно рекомендую.



Сайт


Сайт онлайн-платформы для стриминга конференций, как уже говорилось ранее, претерпел существенные изменения. Имеющаяся функциональность была значительно расширена. Кроме добавления удобства существующим возможностям (например, изменение скорости воспроизведения и возможность «догнать» текущее время доклада), появился совершенно новый «игровой» вид конференции. Участник конференции может выбрать персонажа и совершать виртуальную прогулку по разным локациям.

Слева представлен общий план возможных локаций, справа — локация «Холл».



Далее локация «Улица» — слева, «Партнёрская выставка» — справа. При приближении к персонажам других людей внизу появляется видео рядом расположенных субъектов с возможностью диалога. Наверное, следующим шагом могут стать VR-шлемы и трёхмерное пространство выставки с видом от первого лица.



Просмотр информации о конференциях и игра


В обзорах предыдущих конференций уже рассказывалось про приложение, доступное на сайте jugspeakers.info (репозиторий с кодом находится на GitHub). Приложение состоит из двух частей:

  1. Просмотр информации о конференциях JUG Ru Group и JUG-митапах (с поиском данных о конференциях, спикерах, докладах, просмотром видео докладов и презентаций).
  2. Игра «Угадай спикера».

Первая часть приложения была дополнена возможностью просмотра статистики по компании, к которым относятся спикеры на момент последнего доклада или в настоящий момент. По количеству сделанных докладов (так сказать, в командном зачёте) уверенно побеждает компания JetBrains. То есть в настоящий момент в данной компании работают спикеры, сделавшие в сумме наибольшее количество докладов в конференциях JUG Ru Group (с учётом и без учёта Java-митапов).



Во второй части приложения (в игре «Угадай спикера») было добавлено 2 новых режима: угадывание компании по спикеру и спикера по компании. Можно проверить, так ли хорошо Вы знаете принадлежность спикеров к их компаниям. В режиме «угадать спикера по компании» правильным ответом может быть множественный выбор — спикеры, относящиеся к одной компании.



Java-код программы на 100% покрыт тестами, для сбора информации о покрытии кода используется библиотека JaCoCo, для контроля покрытия тестами и качества кода — сервисы Codecov и SonarCloud.

На конференции Heisenbug две недели назад Евгений Мандриков, ведущий разработчик проектов JaCoCo и SonarQube, проводил воркшоп Покрытие кода в JVM. Посмотреть видео воркшопа могут обладатели билета на конференцию Heisenbug или единого билета.

Закрытие


Открывавшие три дня назад Алексей Фёдоров и Глеб Смирнов и закрыли конференцию. Традиционный выход на сцену спикеров, участников программного комитета и организаторов вынужденно пока заменён демонстрацией слайдов с фото.



В качестве итогов можно сказать, что конференция стала ещё интереснее и разнообразнее (по крайней мере, насколько ей это позволяют рамки онлайн-конференции). Любители социальности тоже получили в этом сезоне желаемое в виде возможности пообщаться, пусть виртуально.

Всем — до следующих Java-конференций!

Осенне-зимний сезон онлайн-конференций JUG Ru Group продолжится конференциями DotNext, DevOops (2-5 декабря 2020 года) и SmartData (9-12 декабря 2020 года). Можно посетить любую из конференций отдельно или купить единый билет на все восемь конференций сезона (пять уже прошедших и три оставшихся), видео докладов при этом доступны сразу же после завершения конференций.