Joker 2019 — Как это было?

Всем привет. Сегодня я хочу рассказать, как сходил на конференцию Joker 2019. Про мои походы на другие конференции вы можете прочитать тут: Joker 2017, TechTrain 2018 и JPoint 2019.

Бытовуха

Обзор состоит из двух частей. В первой я опишу бытовое вопрос про конференцию, а во второй части этой статьи — доклады и другой контент.

За организцию конференции, как обычно, отвечал Алексей Фёдоров и компания JUG Ru Group . В целом, можно сказать, что всё организовано довольно хорошо. Видно, что от года к году кучество только растёт.

В 2017-м году на Джокере было несколько проблем. Во-первых, на стойках регистрации был тихий ужас — участники могли регистрироваться только на той стойке, к которой отнесена фамилия человека. Теперь же можно регистрироваться на любой стойке. Это стало возможно благодаря принтерами, с помощью которых распечатывался бейдж участника прямо в момент, когда участник подходил к стойке. Данное нововведение незаметно тем, кто пришёл на конфу в первый раз, но это прямо безумно крутое отношение к мелочам от Оргов.

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

Время обедов. Супер интересное улучшение. Теперь обед идёт нахлест с докладом. Все голодные участники могут убежать с доклада (кто вообще эти люди, кто так дорожит обедом, жертвуя докладом?). За счёт этого очередь за обедом резко сокращается. Очень круто.

Joker проводится в питере, в Экспофоруме. Это хорошая площадка, но она не у метро. Поэтому есть бесплатные автобусы, которые подвозят участников от метро до места. Раньше автобусы хлдили раз в 30-60 минут, в зависимости от времени. Сейчас в час пик были автобусы с интервалом в 10 минут — очередное место, где мелочь, а приятно. Наш фидбек действительно читают.

Доклады

Как устроена многопоточность в Hazelcast — Владимир Озеров

Первым я посетил доклад от Владимира про многопоточность. Почему сюда пошел? Причины две — люблю многопоточность, а также было крайне интересно послушать Владимира из новой фирмы. Раньше он работал в конкуренте Hazelcast — фирме GridGain.

По контенту — на мой взгляд, это лучший доклад (из тех, что я послушал). Рассказывалось, какие есть thread pools в Хазеле. Почему они появились. Про модель вычислений. Про Event Loop. Про thread contention. Про context switch. Про NUMA архитектуру в контексте многопоточности. В общем, весь доклад можно брать и применять на практике.

Из минусов — Владимир немного волновался, это чувствовалось. А повода совсем не было — доклад дейтствительно крутой.

Улучшаем производительность реактивного сервиса — Олег Докука

Ожидаемо, что Олег в очередной раз пиарит реактивность. А что ещё ему остается делать, работая в фирме, которая делает RSocket. Доклад не понравился. Почему? Потому, что не было никакого контента. Всё, что было показано в докладе — это демки, и как в них закостылять код, чтобы стало быстрее.

Какой же сырой до сих пор Реактивный стек в спринге. От того, как вы напишите код вашего реактивного стрима, зависит, на сколько быстро всё будет работать. Это прям супер неправильно. От декларативного программирования такого не ждешь просто совсем.

Краш-курс по IntelliJ IDEA Plugin DevKit — Юрий Артамонов

Мне интересно, в JetBrains — кузнеца талантов-спикеров, или как? Есть такие признанные спикеры, как Тагир Валеев, Андрей Бреслав, Антон Архипов и Роман Елизаров. А вот и Юрий. Я его слушал в первый раз, но супер понравилось. Замечательная подача материала, интересный контент. Сам я плагины к IDEA не пишу (пока), но даже захотелось какую-нибудь из задач решить ими. Рекомендую доклад, даже, если вам эта тема не близка.

Тестирование многопоточных алгоритмов с помощью Lincheck — Никита Коваль

Никита постоянно рассказывает про computer science около темы про Multithreading. Однако обычно в докладах довольно много практической пользы. Тут же весь доклад был про инструмент тестирования kotlinx-lincheck. Как-то показалось довольно скучно и сумбурно.

Cassandra — истории из жизни performance-инженера — Дмитрий Константинов

Если у вас в проде Cassandra , и вы испытываете перфоманс проблемы, то обратите внимание на этот доклад. Важного контента тут крайне много. Однако слушать доклад — супер сложно. Подача материала сухая, монотонная, неприятная. Такое можно слушать только, если надо решить вашу проблему с базой в проде.

Микросервисы, отвечающие за несколько микросекунд — друзья и враги — Дмитрий Писклов

Наверное, самый hardcore доклад из тех, что я послушал. Дмитрий описывает, как писать код, если вы — пишите софт для трейдинга (High-frequency trading), и вам важна каждая микросекунда latency. Тут вы наыйдете всё — offheap, unsafe, однопоточность для снижения переключения контекста, тюнинг сетевого стека (у ребят своя либа для этого), конфигурацию Linux Kernel, советы по работе с Intel процессорами. В общем, ничерта не применимо для обычной жизни, но крайне интересно. Рекомнедую, если вы любите по жостче.

Java 9-14: Маленькие оптимизации — Тагир Валеев

Собственно, последние несколько лет Тагир — звёздный докладчик. У него есть одновременно две вещи. Умение выступать (которое обычно пресуще всем маркетолагам евангелистам), но и отличное знание JVM и Java. Поэтому доклады Тагира всегда получаются интересными. Они, собственно, всегда в топе докладов.

Данный доклад — не лучшее выступление Тагира. Тут представлены 9 различных оптимизаций, которые появились в последних версихя Java. Все оптимизации, как можно видеть из названия доклада, мелкие. Вряд ли вы даже использовали все из них. Однако подачаа материала хорошая — слушать было приятно. Так что, если вы хотите посмотреть, как оптимизируются алгоритмы внутри java — смотрите этот доклад, не пожалете.

Эффективные надежные микросервисы — Олег Анастасьев

Все мы знаем Олега, как главного по Cassandra в россии. Тут, собственно, в том числе и про эту бьзу. Хотя на самом деле, идея доклада куда шире. Доклад — условно говоря — перевод статьи этого года, в которой описывались проблемы микросервисной системы, в которой всё состояние хранится во внешних базах данных. В таких системах мы тратим кучу ресурсов на marshal/unmarshal данных. Кроме того, надежнлость системы может падать, так как у нас много разных подсистем. каждая из которых общается с другими по сети (а сеть — ненадежна).

Решение всех проблем — встроить базу данных в само приложение (а-ля embedded database). Это имеет как свои плюсы, так и минусы. Собственно, в статьи (и докладе) и рассуждается, как это сделать, и надо ли нам на самом деле иметь stateful в эпоху Kubernetes и stateless. Доклад рекомендую, даже, если вы не читали оригинальную статью.

Нужны ли в Java «инлайн»-типы? Узкий взгляд инженера по производительности на проект Valhalla = Сергей Куксенко

Сергей описал в докладе текущее получение дела по проету Valhalla (те самые Value types, или, как теперь их принято называть, Inline типы). Доклад хороший — тут и про проблемы с производительностью у данной фичи, и про будущее проекта, и про настоящее. Рекомендую к просмотру.

Decrypting tech hype for the busy coder — Stephen Chin

Я не знаю. Либо Барух своего коллегу протощил мимо всего программного комитета, либо я что-то в жизни не понимаю. Доклад — лютая вода. Даже дипломная работа студента саратовского политеха содержит больше смысла, чем это. Просто ноль полезных муслей за доклад. Грустно, что конференция закончилась этим.

Общие впечатления

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

Категории: Программирование

Метки: