Обзор программы Joker 2019: парад планет, или Что нас ожидает

Любое событие, особенно если оно завершилось, можно сравнить с чем-то необычным. Например, был на митапе, и он оказался слетом ведьм для обмена премудростями, или, допустим, забежал на вечеринку — как будто попал под ливень с грозой. И вот уже в конце месяца 25–26 октября в Санкт-Петербурге пройдет Joker 2019, еще ничего не произошло, но я для себя сравниваю эту конференцию с парадом планет.

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

image

VM/runtime


Первой планетой, традиционно находящейся в фокусе конференции Joker, является блок докладов VM/runtime. В этом блоке традиционно много зажигательного.

imageМеня как слушателя всегда поражает возможность JUG Ru Group доставать крутых спикеров из-за рубежа. И хочу начать с Forax Remi, он выступит с докладом «The sinuous path toward Valhalla». Много байткода, внутренности компонентов VM, кровь, кишки, расчлененка — все, как мы любим.

Несмотря на то, что Remi работает в небольшом университете в пригороде Парижа, он изрядно успел поучаствовать в жизни Java-сообщества: является одним из отцов invokedynamic introduces в Java 7, помог создать спецификации lambdas (Java 8), modules (Java 9) и constant dynamic (Java 11). В настоящее время участвует в проектах Amber и Valhalla, по мнению некоторых экспертов именно в этих проектах сейчас происходит самое интересное в мире Java.

Заранее можно познакомиться с манерой повествования Remi из 2015 и 2017 годов соответственно:

cspxqfbmy2jfdzxycr7cf5ljaxe.jpegИ пока мы касаемся проекта Valhalla, невозможно пройти мимо Сергея Куксенко Walrus, он выступит с докладом — «Нужны ли в Java «инлайн»-типы? Узкий взгляд инженера по производительности на проект Valhalla»

Сергей работает в Oracle, и в августе мы опубликовали на Хабре большое интервью с ним — «Тысячи вещей, которые в Java стоило бы поправить с первой версии»

Конечно, Сергей как докладчик знаком многим уже очень длительное время. А те, кого он заинтересовал только сейчас, могут напасть на следующие доклады:

ejzxcyatqbajvnskgzrgvwbdrno.jpegВообще программный комитет Joker 2019 не мог пройти мимо новинок в Java, и Dan Heidinga, ведущий архитектор OpenJ9 и член экспертной группы JSR 292 (invokedynamic), — один из тех, кого следует послушать. Название его доклада — «Condy? NestMates? Constable? Understanding JDK 11 & 12's JVM features» — говорит само за себя. Сотрудник IBM, канадец и просто отличный спикер с прекрасным и понятным произношением ведет твиттер, в котором, помимо зарубежных экспертов по JVM, мелькают наши соотечественники: Алексей Шипилёв, Иван Крылов, Роман Елизаров и т.д. Количество полезной информации в твиттере Dan Heidinga зашкаливает.

n0p4edawgagp-ba9nbkieu3rq-a.jpegИ вот представим, вам хочется настоящего хардкора. Вы уже много знаете о компиляторах, знакомы с основами теории графов, моделью выполнения байт-кода, Java-загрузкой и выгрузкой кода, а также зачатками генерации кода. И вот вы хотите глубже погрузиться в JIT HotSpot «C2», тогда вам обязательно нужно попасть на выступление Cliff Click «The Sea of Nodes and the HotSpot JIT»

Около 15 лет Клиф работал в HotSpot JVM. Он участвовал в изначальной разработке JVM, был одним из создателей знаменитого HotSpot Server Compiler (C2), улучшил значительную часть технологического стека Azul и доказал миру, что JIT-компиляция имеет право на жизнь. Просто Клифф Клик — легенда Java-мира.

Пара выступлений Клиффа этого года:

pm0gvjrv83ymom3gmhmtaz7pak8.jpego5s3809s_p_ctkdcpzgnbn637qw.jpeguibic679dnktz-edsszodopktw8.jpeg

В этом же блоке масса интересного и про другие VM (GraalVM, TornadoVM, TeaVM):

Language


Второй планетой в параде Joker 2019, безусловно, является блок докладов Language. И тут для многих просто подарок судьбы — возможность встретиться с человеком, открывшим многим дверь в мир Java.

jnhfaepwh0ekjmzuzazd0qmkcz4.jpegCay Horstmann собственной персоной выступит с докладом — «Feature Evolution in Java 13 and Beyond». Кей Хорстманн является одним из известнейших авторов в мире Java и есть вероятность что вы читали одну из его книг (есть ненулевая вероятность получить автограф, несите книги с собой), из последнего вас может заинтересовать:


Вы могли уже видеть выступление на Joker 2017:
Нельзя пройти и мимо парочки интервью:

baboevllsacxb-dvnfgikv7u0os.jpegМногим кажется, что Java так быстро бежит вперёд, что проекты за ней не поспевают. Олег Ненашев oleg-nenashev в докладе «War Story: как мы внедряли поддержку Java 11 в Jenkins» расскажет о том, с какими проблемами он столкнулся в реальном крупном Maven-проекте при переезде, а точнее, при желании поддержать Java 11.

Олег является разработчиком в CloudBees, состоит в core team проекта Jenkins. Для многих будет полезно посмотреть на доклады разных лет от Олега, посвященные Jenkins:

_zituekukdikqmcnjvcrjt7pzuk.jpegМы знаем Тагира Валеева lany как разработчика JetBrains, он занимается статическим анализатором кода IntelliJ IDEA, инспекциями и квик-фиксами. И как человек, буквально на кончиках пальцев ощущающий изменения в Java, Тагир выступит с докладом «Java 9–14: Маленькие оптимизации» Незаметно для нас с вами Java становится немного быстрее тут или там каждый день, эта работа в стандартной библиотеке идет постоянно. В этом докладе Тагир расскажет о маленьких улучшениях производительности в самых базовых и вездесущих классах вроде String, ArrayList, HashSet, которые были реализованы после выхода Java 8 и делают нашу жизнь лучше.

Предыдущие доклады Тагира:


И буквально парочка интервью:

oamfoklkohmkan_k6aithash-fy.jpegwylqnub1fvly0ev5h0ih-bmxtui.jpeg0z9cqcyabpknfadygwyifbveoy4.jpeg

В этом блоке нельзя пройти мимо следующих докладов:

Tooling


atj8tlcgyoyx14pdywauekauaay.jpegТретья планета Tooling не может состояться без сотрудников компании JetBrains, главной кузницы кодо-тулов в мире.
Никита Коваль ndkoval, один из членов команды Kotlin, выступит с докладом «Тестирование многопоточных алгоритмов с помощью Lincheck». Никита в своем докладе расскажет про инструмент Lincheck, который помогает в тестировании и отладке многопоточного кода, затронет API и внутреннее устройство. Учитывая, что отладка многопоточного кода — не самое легкое занятие, освоить новый инструмент будет не лишним.

Никита многократно выступал, и иногда стоит пересмотреть что-то из недавнего прошлого:

e1ckatpvq2wsoqsyt_rikg3seiw.jpegНу и куда деться в этой секции Tooling без Developer Advocate, на этот раз Sebastian Daschner выступит с докладом — «Striving towards more productive development workflows». Нас ожидает сессия лайв-кодинга на сцене, а мы это любим и жить без этого не можем. Sebastian расскажет о подходах и технологиях, которые поддерживают команды в разработке более продуктивных рабочих процессов разработки. К тому же есть что-то гипнотическое в выступлениях Sebastian, ты сам можешь в этом убедиться, посмотрев одно из последних его выступлений:


А еще Sebastian Daschner ведет совершенно замечательный блог, например, в сентябре у него стартовала серия из шести постов — «Thoughts on efficient enterprise testing»

3x8_zn5c1teol1-jzehqv-to604.jpegИ если мы заговорили о тестировании, то невозможно пройти мимо библиотеки Testcontainers. Она позволяет быстро и кроссплатформенно запускать из ваших JUnit (и не только) тестов Docker-контейнеры с популярными базами данных, Selenium-браузерами и вообще всем, что умеет бегать в Docker. С возможностью запускать как локально при разработке, так и на CI-серверах без изменений, а это немаловажно. Сергей Егоров bsideup из компании Pivotal как раз выступит с докладом «Testcontainers: год спустя»

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

jiog2exovpty_ibn2qwuw_8yrhs.jpegПока все призывают вас быть эффективными и автоматизировать рутину, Юрий Артамонов jreznot из компании JetBrains выступит с докладом — «Краш-курс по IntelliJ IDEA Plugin DevKit». После его выступления вы воскликнете «Хватит это терпеть!» и запилите собственный плагин. В докладе Юрий расскажет, как быстро разобраться в Plugin DevKit и написать что-то полезное, не погибнув под грузом новых знаний.

Может быть полезным посмотреть что-то из ранних выступлений Юрия:

Spring и Reactive


Ни одна Java-конференция не может пройти мимо такого звездного явления, как Spring, особенно если его представляют Josh Long, Juergen Hoeller и Mark Heckler. Все из ранее упомянутой компании Pivotal.

chojrqy54zuatqms0ncdknkktfy.jpegdgnyuf7hpctmez7towjubx318dq.jpeg

Пользоваться Spring и не знать, кто такие Холлер и Лонг, наверное, странно, потому в представлении они не нуждаются. Во-первых, они проведут совместный открывающий доклад «Reactive Spring revisited», в рамках которого ожидается сессия лайв-кодинга на Spring Framework 5.2 с применением Spring Boot 2.2, особенно полезно будет посмотреть, как со стороны одного из основателей Spring Framework и, пожалуй, главного Spring Developer Advocate в мире должно выглядеть создание реактивных микросервисов нового поколения для облачных архитектур.

А во-вторых, у каждого из них есть и сольный доклад:


В докладе Юргена основное внимание уделяется основным средствам для оптимизированных архитектур приложений в современных средах развертывания с поддержкой Java, а также Kotlin в качестве основы для функций более высокого уровня в Spring Data и Spring Boot. В то же время выступление Джоша учит тестировать Spring Boot-приложения. Оба доклада предназначены для практикующих инженеров.

Что у Джоша, что у Юргена всегда есть что посмотреть и чему поучиться:

a6qhoefdmqaaibajinqaq-2n2vq.jpegMark Heckler выступит с докладом «Spring Security for N00bz: A quick introduction for the terminally insecure» С одной стороны, простой доклад посвященный Spring Security, а с другой именно та часть нашей работы о которой подавляющее большинство разработчиков даже не задумывается. Spring Security обеспечивает проверенную платформу безопасности приложений. Она интегрируется с многочисленными языками и компонентами для обеспечения сквозной безопасности. Если вы не знакомы со Spring Security самое время подтянуть свои знания в этой области.

А вот пара докладов Марка для разогрева:


В этом блоке помимо Spring есть еще три доклада по теме Reactive, и я вам расскажу только про один, но какой! Если вы были на весенней конференции JPoint 2019, то вы не могли пройти мимо выступления Евгения Борисова и Кирилла Толкачёва tolkkv. Доклад дуэта стал третьим популярности. И с тем же названием, но совершенно другим содержанием доклад — «Reactive или не reactive: вот в чем вопрос» — обрушится на аудиторию утром второго дня конференции.

th9fv0kebpmbzdm-t3zckpqkblo.png-nbvrc58rwqz7i53wk7pqbv3xs8.jpegКоллеги рассмотрят пример системы, в которой есть проблемы. Наживую попробуют отрефакторить систему в реактивном стиле. В ходе доклада рассмотрят преимущества и недостатки не только подхода, но и API конкретных реализаций. И самое важное, помогут разобраться, что игрушки, а что нет.

Доклад «Reactive или не reactive: вот в чем вопрос» — один из тех докладов, который я ожидаю, скрестив пальцы, со словами «Хоть бы, хоть бы». А если вы не убеждены, то рекомендую взглянуть на некоторые из предыдущих докладов, например «Boot yourself, Spring is coming» (в двух частях: раз, два).

Тренинги


Чтобы два раза не вставать сразу, расскажу о двухдневном тренинге ранее упомянутого дуэта. Евгений Борисов и Кирилл Толкачёв 27 и 28 октября, сразу после конференции, проведут спаренный тренинг «Spring Boot Mastering + Spring Cloud Mastering».

Если вы хотите реально понимать:

  • что именно делает Spring Boot, когда вы пишете микросервисы;
  • как можно всё кастомизировать;
  • как решать проблемы асинхронных запросов, чтобы у Tomcat не заканчивались потоки;
  • как правильно разбивать микросервис на модули;
  • писать тесты;
  • строить модель без наследования, чтобы не иметь потом проблем с десериализацией;


то Spring Boot Mastering для вас.

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

С другой стороны конференции, а точнее до её начала, 23-го и 24-го октября, пройдет тренинг «Эффективное профилирование Java-приложений», автором и ведущим которого является Алексей Рагозин. Алексей имеет более 10 лет опыта в области разработки высоконагруженных распределенных систем в различных индустриях, активный докладчик на российских и зарубежных конференциях в области ПО и контрибьютор в open source.

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

Звездопад


И вот, казалось бы, основные планеты покрыты, но среди участников могут быть настоящие нераскрытые звезды, которым есть что сказать. И у них есть для этого время и место. В первый день, 25 октября, начиная с 20:30 во время вечеринки будут проходить мини-доклады. Каждые десять минут на сцену выходит докладчик со слайдами, и это его звездный час. Если вы — один из таких, и вам есть что сказать, смело отправляйте заявку — вы ещё успеваете.

Если вы всё это время сомневались, идти ли на Joker 2019, то надеюсь, мне удалось вас убедить. Приходите и разделите отличное настроение с 2000 участниками конференции Joker, которые уже приобрели билет и предвкушают настоящий Java-хардкор. Все еще есть возможность приобрести билеты, спешите запрыгнуть в последний вагон.

© Habrahabr.ru