- PVSM.RU - https://www.pvsm.ru -
Только что, c 25 по 28 ноября 2020 года, прошла Java-конференция Joker 2020 [1]. Это уже второй сезон конференций, проводимых JUG Ru Group [2] в формате онлайн.
В онлайн-формате конференция стала лучше или хуже? Что нового организаторами было придумано? Кого из спикеров с какими докладами можно было увидеть и услышать? Что полезного и интересного было в докладах? Имеет ли смысл посещать конференцию в следующем году?
[3]
Второй сезон онлайн-конференций: казалось бы, что ещё можно придумать, кроме возможности просмотра докладов при вынужденных ограничениях, наложенных пандемией? Теперь часть потенциальных посетителей (стремящихся преимущественно к получению новых знаний и свежей информации в области профессиональных интересов) конференцию по-прежнему посетит и билет купит, а другая часть (которую в большей степени привлекает личное общение) — увы, больше нет. Выхода из создавшейся ситуации нет или он всё же есть? Можно ли конференции стать по-прежнему привлекательной и для второй части участников конференций, которые жаждут социальности?
В замечательной статье [4] из блога компании JUG Ru Group на Хабре [5] Руслан ARG89 [6] Ахметзянов постарался проанализировать ситуацию (попробуйте оценить [4], Вы в большей степени персонаж Саша или Женя в отношении конференций). Далее там же анонсируются дополнительные механики, добавленные в стриминговую платформу конференций для того, чтобы удовлетворить вкусы как можно большего числа участников. Удалось или нет достигнуть этим поставленных целей, постараемся разобраться далее.
В преддверии конференции также вышло 8 выпусков шоу Вторая чашка кофе с Joker [7], в которых в эфире ведущие успели взять интервью с Алексеем Фёдоровым, Дмитрием Чуйко, Александром Белокрыловым, Дмитрием Александровым, Олегом Шелаевым, Сергеем Егоровым, Евгением Борисовым и Тагиром Валеевым.
Так что же, собственно, сама-то конференция?
В проведение, открытие, закрытие каждой конференции организаторы раз за разом стараются привнести что-то новое. В данном случае открытие началось с импровизаций Алексея Фёдорова и Глеба Смирнова. На правом фото Алексей Фёдоров демонстрирует возможности игрового вида конференции (о нём рассказывается далее в отдельном разделе обзора).
Все виды прошедших активностей, связанных с донесением технической информации посредством слайдов и видео, можно было бы условно разделить на
В интервью Эволюция Java и Kotlin. Что нас ждет?, взятом у Романа Елизарова, можно было узнать о пути развития языка программирования Kotlin. Накануне конференции официально было объявлено [9] о передаче управления и координации работ по проекту Kotlin от Андрея Бреслава к Роману Елизарову. По этой причине особенно интересно было узнать мнение Романа и про его изменившийся круг обязанностей, и о возможных изменениях развития языка и платформы.
Зачем нужно знание многопоточной разработки в enterprise — мини-интервью Евгения phillennium [11] Трифонова с Юрием Бабаком, представителем компании-партнёра конференции. Любопытными показались разнообразные примеры из собственной практики, про которые Юрий живо и интересно рассказал в ответ на очень уместные вопросы Евгения.
Адская кухня: Как приготовить новую версию Java и не отравить пользователей LTS релизов? — мини-интервью с Александром Белокрыловым из компании BellSoft [12], хорошо известной, вероятно, большинству по дистрибутиву Liberica JDK [13]. Новостью стала информация о вхождении представителей компании в исполнительный комитет JCP [14].
Доклад Кирилла Тимофеева под названием JVM-профайлер, который смог (стать кроссплатформенным) был про добавление поддержки Windows в async-profiler [16] при его использовании из среды разработки IntelliJ IDEA. Андрей Паньгин (поздравляем его с присвоением звания Java Champion [17] за неделю до конференции!) выступил в качестве приглашённого эксперта доклада. Отличный докладчик (автор Windows-порта), хороший доклад с глубоким пониманием темы, идеальный эксперт (автор оригинального продукта), полезная информация о скором появлении предмета обсуждения в составе IntelliJ IDEA.
Предполагаю, что абсолютное большинство видевших доклад и читающих данный обзор использует Spring Boot — как-никак это промышленный стандарт Java-разработки сегодня. «Толстый» («fat») JAR при использовании Spring Boot — также абсолютно распространённая практика. Рискну предположить, что Владимир Плизга со своим докладом Spring Boot «fat» JAR: Тонкие части толстого артефакта представил информацию, которая наиболее практически применима и востребована. Неплохо дополнили доклад три Андрея — Беляев, Когунь и Зарубин.
Доклад Thread Safety with Phaser, StampedLock and VarHandle от легендарного Heinz Kabutz (ведущий известнейшей рассылки JavaSpecialists [20]) и его коллеги John Green. Просмотр данного доклада может быть полезен тем, что в нём акцентируется внимание на менее известных concurrency-классах Phaser, StampedLock и VarHandle (в отличие от многим знакомых классов CountDownLatch и CyclicBarrier).
Spring Patterns для взрослых в исполнении (сначала буквально даже в сопровождении гитары) Евгения Борисова. Ничто не помешало в итоге Жене (ни разряжающаяся батарея ноутбука, ни стремительно заканчивающееся время) успешно завершить доклад. В отличие от привычных докладчику стиля и тем — технической жести, хардкора и расчленёнки (только библиотек и фреймворков, естественно) — речь в этот раз шла как раз о наиболее типовом использовании Spring Framework. Ещё один абсолютно практически применимый доклад в блестящем исполнении с рекомендацией к просмотру.
Доклад Заменят ли роботы программистов? от Тагира Валеева расстроил меня — вслед за докладчиком я тоже осознал, что «роботы» (библиотеки, сервисы, плагины) в значительной части уже заменили программистов. Частично успокаивает то, что ими автоматизируется наиболее неинтересная и рутинная часть работы программиста. Полезной и приятной частью в подобных докладах является информация о каких-то сервисах, которые можно будет попробовать после конференции. В случае доклада Тагира это информация о сервисах Mergify [23] (есть приложение для GitHub [24]) для автоматизации принятия pull request и сервис Diffblue [25] (есть плагин для IntelliJ IDEA [26]) для автоматизации создания unit-тестов (выглядит впечатляюще, надо попробовать). Полезный, интересный и даже неожиданно, не побоюсь этого слова, философский доклад.
На мой взгляд, мини-доклады партнёров — очень удачная форма докладов, относительно коротких и информативных одновременно. Подводные камни загрузчиков классов в Java и как они могут повлиять на скорость работы с XML от Ильи Ермолина (слева) и Как сказать «нет» архитектору? Советы по выбору размера микросервиса в исполнении Андрея Даминцева (справа) являются примерами таких докладов.
В мини-докладе Java Licensing Tips от Юрия Милютина были, например, представлены волнующие многих теперь (после изменении компанией Oracle модели лицензирования) данные о сокращении (или даже исключении) расходов на лицензирование используемой в промышленной эксплуатации Java.
После мини-доклада Самое время попробовать машинное обучение на Java у Артёма Селезнева (фото справа) взял интервью Евгений Трифонов. В какой-то степени были развенчаны мифы (или хотя бы изменено мнение) о слабой применимости Java для машинного обучения.
Ещё одна замечательная форма донесения технической информации и ещё одна известная личность — воркшоп (мастер-класс) Хватит писать тесты, пора писать спецификации! от Алексея Нестерова. Алексей — в настоящий момент один из соведущих популярнейшего подкаста Радио-Т [30] (т.н. «Алексей второй» и «Алексей добрый», в отличие от Алексея Абашева).
Воркшоп на конференциях JUG Ru Group обычно разбит на две части и суммарно занимает один конференционный день, к чему надо быть готовым. Для демонстрации написания тестов использовался проект в репозитории [31] (если используете Windows, то дополнительно придётся изменить две строчки в файле frontend/package.json
). Высококвалифицированный приятный инструктор-докладчик, возможность спокойно покопаться в проекте на своём привычном рабочем месте, настоятельно рекомендую.
Сайт онлайн-платформы для стриминга конференций, как уже говорилось ранее, претерпел существенные изменения. Имеющаяся функциональность была значительно расширена. Кроме добавления удобства существующим возможностям (например, изменение скорости воспроизведения и возможность «догнать» текущее время доклада), появился совершенно новый «игровой» вид конференции. Участник конференции может выбрать персонажа и совершать виртуальную прогулку по разным локациям.
Слева представлен общий план возможных локаций, справа — локация «Холл».
Далее локация «Улица» — слева, «Партнёрская выставка» — справа. При приближении к персонажам других людей внизу появляется видео рядом расположенных субъектов с возможностью диалога. Наверное, следующим шагом могут стать VR-шлемы и трёхмерное пространство выставки с видом от первого лица.
В обзорах предыдущих [35] конференций [36] уже рассказывалось про приложение, доступное на сайте jugspeakers.info [37] (репозиторий с кодом находится на GitHub [38]). Приложение состоит из двух частей:
Первая часть приложения была дополнена возможностью просмотра статистики по компании, к которым относятся спикеры на момент последнего доклада или в настоящий момент. По количеству сделанных докладов (так сказать, в командном зачёте) уверенно побеждает компания JetBrains. То есть в настоящий момент в данной компании работают спикеры, сделавшие в сумме наибольшее количество докладов в конференциях JUG Ru Group (с учётом и без учёта Java-митапов).
Во второй части приложения (в игре «Угадай спикера») было добавлено 2 новых режима: угадывание компании по спикеру и спикера по компании. Можно проверить, так ли хорошо Вы знаете принадлежность спикеров к их компаниям. В режиме «угадать спикера по компании» правильным ответом может быть множественный выбор — спикеры, относящиеся к одной компании.
Java-код программы на 100% процентов покрыт тестами, для сбора информации о покрытии кода используется библиотека JaCoCo [41], для контроля покрытия тестами и качества кода — сервисы Codecov [42] и SonarCloud [43].
На конференции Heisenbug две недели назад Евгений Мандриков [44], ведущий разработчик проектов JaCoCo и SonarQube, проводил воркшоп Покрытие кода в JVM [45]. Посмотреть видео воркшопа могут обладатели билета на конференцию Heisenbug [46] или единого билета [47].
Открывавшие три дня назад Алексей Фёдоров и Глеб Смирнов и закрыли конференцию. Традиционный выход на сцену спикеров, участников программного комитета и организаторов вынужденно пока заменён демонстрацией слайдов с фото.
В качестве итогов можно сказать, что конференция стала ещё интереснее и разнообразнее (по крайней мере, насколько ей это позволяют рамки онлайн-конференции). Любители социальности тоже получили в этом сезоне желаемое в виде возможности пообщаться, пусть виртуально.
Всем — до следующих Java-конференций!
Осенне-зимний сезон онлайн-конференций JUG Ru Group продолжится конференциями DotNext [49], DevOops [50] (2-5 декабря 2020 года) и SmartData [51] (9-12 декабря 2020 года). Можно посетить любую из конференций отдельно или купить единый билет [47] на все восемь конференций сезона (пять уже прошедших и три оставшихся), видео докладов при этом доступны сразу же после завершения конференций.
Автор: Дмитрий Белобородов
Источник [52]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/359278
Ссылки в тексте:
[1] Joker 2020: https://jokerconf.com
[2] JUG Ru Group: https://jugru.org
[3] Image: https://habr.com/ru/company/jugru/blog/529984/
[4] замечательной статье: https://habr.com/ru/company/jugru/blog/527900/
[5] блога компании JUG Ru Group на Хабре: https://habr.com/ru/company/jugru/
[6] ARG89: https://habr.com/ru/users/arg89/
[7] Вторая чашка кофе с Joker: https://meetup-joker.jugru.org
[8] Image: https://habrastorage.org/webt/83/j_/pg/83j_pg8s3ht_by1ot7_nbvs9tug.jpeg
[9] официально было объявлено: https://blog.jetbrains.com/kotlin/2020/11/roman-elizarov-is-the-new-project-lead-for-kotlin/
[10] Image: https://habrastorage.org/webt/66/ze/sj/66zesjnilbfq0fpn9xzk29ccl5u.jpeg
[11] phillennium: https://habr.com/ru/users/phillennium/
[12] BellSoft: https://bell-sw.com
[13] Liberica JDK: https://bell-sw.com/pages/libericajdk/
[14] вхождении представителей компании в исполнительный комитет JCP: https://twitter.com/bellsoftware/status/1328851200243011588?s=20
[15] Image: https://habrastorage.org/webt/sa/g6/xs/sag6xsjgg7sqq4aqpxr0o7hmrme.jpeg
[16] async-profiler: https://github.com/jvm-profiling-tools/async-profiler
[17] присвоением звания Java Champion: https://twitter.com/Java_Champions/status/1328386739681984513?s=20
[18] Image: https://habrastorage.org/webt/lq/sw/pu/lqswpupgxl0ihy1kx3e7utblens.jpeg
[19] Image: https://habrastorage.org/webt/s0/im/-u/s0im-ussl4qkkjaj-_jdrk3cbis.jpeg
[20] JavaSpecialists: https://www.javaspecialists.eu
[21] Image: https://habrastorage.org/webt/8k/op/24/8kop240d-8fwm1hrucsbih3q9kk.jpeg
[22] Image: https://habrastorage.org/webt/hn/fn/dp/hnfndpy06q6nthz6cy-hrj16gmy.jpeg
[23] Mergify: https://mergify.io
[24] приложение для GitHub: https://github.com/marketplace/mergify
[25] Diffblue: https://www.diffblue.com
[26] плагин для IntelliJ IDEA: https://plugins.jetbrains.com/plugin/14946-diffblue-cover-community-edition--unit-test-generator
[27] Image: https://habrastorage.org/webt/rx/mn/lq/rxmnlqpw1pd9l50ykubrmwrcjm8.jpeg
[28] Image: https://habrastorage.org/webt/ia/ig/rp/iaigrpta0zo5enkatlcafwgtre0.jpeg
[29] Image: https://habrastorage.org/webt/op/1z/hb/op1zhbw10mlrbbxntcx324zkrls.jpeg
[30] подкаста Радио-Т: https://radio-t.com/about/
[31] репозитории: https://github.com/alek-sys/animal-rescue-tdd
[32] Image: https://habrastorage.org/webt/ec/m7/nv/ecm7nv3w7pp2ipub1d8de_hrx0w.jpeg
[33] Image: https://habrastorage.org/webt/ez/5t/p4/ez5tp4jctoxhq1wyyisqjl6ukbk.jpeg
[34] Image: https://habrastorage.org/webt/zf/fq/3d/zffq3dyjpprnuetmeg95k1lguoc.jpeg
[35] предыдущих: https://habr.com/ru/company/jugru/blog/473550/
[36] конференций: https://habr.com/ru/company/jugru/blog/508594/
[37] jugspeakers.info: https://jugspeakers.info
[38] находится на GitHub: https://github.com/JugruGroup/guess-game
[39] Image: https://habrastorage.org/webt/nf/eh/xn/nfehxnlbfqz45vdlikeq2tg6rki.jpeg
[40] Image: https://habrastorage.org/webt/it/ay/eq/itayeql2j5iy2rtguxmay6nubtu.jpeg
[41] JaCoCo: https://github.com/jacoco/jacoco
[42] Codecov: https://codecov.io/gh/JugruGroup/guess-game
[43] SonarCloud: https://sonarcloud.io/dashboard?id=JugruGroup_guess-game
[44] Евгений Мандриков: https://jugspeakers.info/information/speaker/47
[45] Покрытие кода в JVM: https://jugspeakers.info/information/talk/2617
[46] Heisenbug: https://heisenbug-moscow.ru/?utm_source=habr&utm_medium=529984
[47] единого билета: https://fullpass.jugru.org/?utm_source=habr&utm_medium=529984
[48] Image: https://habrastorage.org/webt/6i/-1/11/6i-111v7-kglmzkgm5qkewjpjyu.jpeg
[49] DotNext: https://dotnext-moscow.ru/?utm_source=habr&utm_medium=529984
[50] DevOops: https://devoops-piter.ru/?utm_source=habr&utm_medium=529984
[51] SmartData: https://smartdataconf.ru?utm_source=habr&utm_medium=529984
[52] Источник: https://habr.com/ru/post/529984/?utm_source=habrahabr&utm_medium=rss&utm_campaign=529984
Нажмите здесь для печати.