Хабрахабр

Путеводитель по программе JPoint 2019

Благо, всего месяц остался до JPoint 2019 — международной Java-конференции, которая пройдёт в начале апреля в Москве. Последний месяц зимы подходит к концу, и просыпается здоровое желание сходить на какую-нибудь большую Java-конференцию. Программа почти стабилизировалась, и настало время раскрыть все карты.

На какие из них идти? Программа нового JPoint огромная: два дня, каждый день по двадцатке докладов. Можно упростить себе задачу, разбив доклады на несколько категорий:

  • VM & Runtime — 8 хардкорных докладов от лидеров индустрии: Oracle, BellSoft, IBM, Azul, Excelsior, Одноклассники и GridGain;
  • Enterprise — 5 докладов от российских и международных энтерпрайзов: Spring, JavaEE, Liferay, Vaadin, Kafka, Netflix OSS vs Kubernetes, архитектура больших систем;
  • Reactive — 10 докладов про страшный и волшебный реактивный мир: Spring Web Reactive Framework, Spring Project Reactor, RSocket, Reactive Streams, реактивная архитектура;
  • Languages — 7 докладов по языкам: Java 9-12 (deputy CTO Azul), Kotlin и Kotlin/Native (JetBrains), Scala, функциональное программирование;
  • Tooling — 5 докладов про тулинг: создатель Jenkins (CEO CloudBees), разработчики Gradle и IntelliJ IDEA;
  • Несколько докладов вне категорий.

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

Конечно, JVM-инженеров среди участников не много, их вообще очень немного. Так сложилось, что именно на JPoint и Joker традиционно делают самые хардкорные в России доклады про внутреннее устройство джавовых рантаймов. Можно прочувствовать всю скрытую механику, научиться использовать её особенности, да и просто удовлетворить любопытство. Такие доклады в первую очередь нужны для того, чтобы почувствовать «сродство с машиной», как говорят профессиональные автогонщики. Эти доклады ведут самые известные в сообществе люди, представители разных рантаймов и компаний: В этой знаковой категории докладов, программе конференции никак нельзя ударить в грязь лицом, и у неё явно получается.

  • от Azul приедет их технический директор Саймон Риттер;
  • от Oracle Labs будет Thomas Wuerthinger — директор по исследованиям и главный архитектор Graal/Truffle, и Олег Шелаев shelajev-oleg — первый и единственный пока официальный евангелист GraalVM;
  • от IBM — Charlie Gracie, архитектор сборщиков мусора в OpenJ9 и Eclipse OMR;
  • от Excelsior — один из старейших разработчиков JET, Никита Липский pjBooms;
  • от BellSoft — известный перформанс-инженер Дмитрий Чуйко, ранее работавший в Oracle в команде Java SE Performance;
  • от компании Одноклассники — Андрей Паньгин apangin, ранее работавший в Oracle в команде HotSpot, который раз за разом бьёт все рекорды посещаемости своих докладов;
  • и так далее.

Давайте взглянем только на парочку докладов. Здесь не перечислить всех, поскольку нет задачи скопировать программу с сайта, а только передать суть происходящего.

Charlie Gracie расскажет нам ещё более сакральную штуку — как написать свой JIT-компилятор за час. Помните доклад о том, как написать GC за 20 минут (основанный на статье Шипилёва)? Конечно же, не обойдётся без проверенных решений вроде OMR, над которыми трудится Чарли.

Андрей Паньгин расскажет про очередной важный способ работы с OpenJDK: работу с JVM Tool Interface — стандартный API для разработки всевозможных инструментов: профайлеров, отладчиков и диагностических утилит. Но часто ли вам действительно нужно писать свой JIT или GC? Многие знают, что он полезен для написания Java-агентов, но он годится и для многого другого. Это нечто более существенное, легко представить, где это понадобится в ежедневной работе. Если же всё-таки хочется услышать про Java-агенты, про них поведает Rafael Winterhalter.
На докладе будут разбираться способы работы с ним, баги, фичи, инсайты.

Никогда не пишу!» О да, и поэтому все остальные категории докладов делают упор на применимость в различных направлениях разработки и архитектуры. Тут критик воскликнет: «Да и Java-агенты я пишу, мягко говоря, не каждый день. В этой секции есть не только зарубежные звёзды вроде Sebastian Daschner (гуру JavaEE из IBM) и Milen Dyankov (евангелист Liferay), но и ведущие российские разработчики — Юрий Артамонов из Haulmont (CUBA, восемь лет с Vaadin), Григорий Кошелев из Контура, Владимир Плизга Toparvion из ЦФТ и так далее.
Начнём, пожалуй, с самой очевидной категории — с кровавого энтерпрайза.

Формально он Lead Java Developer Advocate в IBM, ответственный, кроме всего прочего, за стандарты JAX-RS и JSON-P и кучу опенсорсных проектов. Я в первую очередь схожу на доклад Себастиана. Совершенно очевидно, что если тема JavaEE и JakartaEE вообще хоть как-то интересует, то это ваш человек. Мы совсем недавно сделали с ним интервью для Хабра, которое скоро опубликуем. Главное, не забудьте, что говорит он по-английски. Наибольшую ценность может принести общение в дискуссионной зоне, потому что Себастиан варится в JavaEE-мире, и к нему можно подходить с очень таргетированными вопросами, обсуждать и договариваться о конкретных вещах. В прошлый раз я выписал все интересующие меня вопросы на бумажку и нудно зачитывал по списку (не сказать, что так делать надо, но это работает):-)

В этот раз у них немного другая штука, а обязательную тему Spring раскрывают Владимир Плизга из ЦФТ и Victor Rentea (техлид в IBM). Вы, наверное, привыкли, что про Spring рассказывают Толкачёв tolkkv и Борисов EvgenyBorisov. У Виктора намечается длинная сессия лайв-кодинга, прерывающаяся на рассмотрение глубоких теоретических вопросов, а теория там потребуется — ибо это ваша любимая тема написания всевозможных прокси на Spring.

Сейчас же эта тема прёт неостановимым паровозом: так получилось, что на этом JPoint докладов реактивной тематики больше всего! Можно напрячься и вспомнить времена, когда реактивщина была разделом архитектурной астронавтики. И знаете, всё какие-то знакомые имена. Например, их в два раза больше, чем докладов по «чистому» энтерпрайзу. Давайте пройдёмся по парочке докладов.

Они возьмут какое-то приложение и попробуют отрефакторить его в реактивном стиле, раскрывая особенности вещей вроде Spring Web Reactive Framework. Кирилл Толкачёв и Евгений Борисов постараются разобраться, что из современных технологий всего лишь модные игрушки, а что — дельная вещь. Рекомендую взглянуть на предыдущий мегадоклад «Boot yourself, Spring is coming» (в двух частях: раз, два) — один из немногих, ради которого было зарезервировано два часовых слота подряд. Звучит очень просто и незамысловато, но как мы знаем, их доклады — одни из лучших по рейтингам, посещаемости и проработке. По ссылкам есть как видео, так и текстовая расшифровка, но я настоятельно советую смотреть видео, потому что способ изложения имеет значение.

Есть такая штука, RSocket — симметричный бинарный протокол поверх байтовых транспортов вроде TCP или вебсокетов, наконец-то позволяющий работать асинхронно. Давайте теперь немного о будущем, стремительно превращающемся в настоящее. И на JPoint у нас есть специальный человек, Олег Докука c докладом по RSocket — коммиттер Reactor 3, автор книги «Reactive Programming with Spring 5», а теперь ещё и коммиттер RSocket. Он ещё не релизнулся до конца, но ждать недолго, да и открывающиеся перспективы широки. Если вам страсть как хочется работать на нормальных протоколах, но вначале нужно разобраться в теме и плотно пообщаться с создателями технологии, то вам нужен Олег.

Две следующие категории — языки и тулинг. Давайте нырнём назад к более системным штукам. К счастью, у нас тут не Haskell и не Common Lisp: в Java-мире есть и умный язык, и отличные IDE, и мощные доклады по этому всему. У меня эта дихотомия на «физиков и лириков» ассоциируется с бесконечными священными войнами на Хабре и Реддите о том, что важней — иметь умный язык, который сам всё умеет, или IDE с искусственным интеллектом внутри, помогающую на каждом шагу. В общем, отряд укомплектован чуть менее, чем полностью. С языковой стороны баррикады нас ждут два сотрудника JetBrains, технический директор Azul, функциональный программист из геймдева и даже живой Scala-подкастер из «Скалалаза» — Ольга Махасоева.

Но тут особый случай — про миграцию на новые джавы будет говорить Саймон Риттер из Azul. О будущем джавы мы слышали и читали неоднократно. Рейнхольд, Гёц, Роуз… Риттер. Именно тот человек, который на такие речи имеет полное право. Сейчас Саймон представляет Azul в JCP Executive Committee и на экспертных группах по JSR 379 и JSR 383. Ну вы поняли. Ещё один человек, с которым крайне рекомендую пообщаться в дискуссионной зоне — может быть, ваши вопросы окажут влияние на будущее Java.
В докладе он даст обзор широкого круга вопросов миграции: изменения в языке, библиотеках, настройках, и даже затронет эффекты от нашумевшего ускорения релизного цикла.

What is beyond JVM?» Николая Иготти из JetBrains. Вторым докладом я бы сходил на «Kotlin/Native: why make a native language in 2019? Как минимум, компилируемых языков немало, а тут речь идёт ещё и о сравнительно молодом проекте. Как известно, всё становится лучше, если это написано на Котлине 🙂 Тем не менее, нужность компилируемой в нативный код версии для многих всё ещё остаётся загадкой. Не бойтесь, у нас тут не абы кто, а технологический руководитель проекта Kotlin/Native, он точно справится с любыми вопросами.

С одной стороны, каждый может про него что-то сказать, с другой — обычно такие разговоры, и даже целые доклады, сворачиваются в обычную вкусовщину или непонимание тонкостей разработки инструментов, которыми пользуешься не только ты лично, а ещё и половина мира. Тулинг — штука тонкая. Наш «Tooling Team» на JPoint состоит из автора Jenkins, одного из разработчиков Gradle, главы берлинского JUG, и как повелось — двух сотрудников JetBrains. Такие компетенции есть обычно только у разработчиков соответствующего тулинга или евангелистов, тесно общающихся с пользователями этих инструментов.

И конечно, он не будет рассказывать о каменных веках и далеко забытых багах. Kohsuke Kawaguchi, технический директор CloudBees, — легендарная личность, он вот этими самыми руками сделал Jenkins и во многом определил уклад CI/CD технологий в России и мире. Доклад прямо сейчас находится в проработке вместе с Программным комитетом, и в будущем название и план доклада, опубликованные на сайте JPoint, могут меняться.
Речь пойдёт о совершенно новых и революционных вещах в Jenkins.

На этот раз будет доклад про атомарный рефакторинг, который рассматривает насущную проблему и боль: не сломается ли программа после автоматического рефакторинга? Вторым докладом, конечно, стоит упомянуть Тагира Валеева lany — разработчика в JetBrains, изобретателя множества крутых штук, которыми все мы пользуемся, запустив IntelliJ IDEA. Тагир научит, каким образом можно заставить IntelliJ IDEA рефакторить атомарно, не ломая семантику, даже если она сопротивляется.

Он написал как минимум две книги о правильном ООП (раз, два — там не очередное описание паттерна Singleton, а реально есть чего почитать), контрибьютит кучу кода в опенсорс и делает необычные провокационные доклады. А ещё у нас есть докладчик вне категорий — Егор Бугаенко yegor256, директор компании Zerocracy. Сейчас этого маркера на докладе не стоит, а название «Просчеты тестирования» и описание доклада выглядят предельно серьезно и прагматично. Постоянные посетители наших конференций знают, что когда-то давно специально ради него изобрели маркер «Готовьтесь, будет подгорать». Посмотрим.
Умеет ли Егор делать доклады, которые не взрывают аудиторию?

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

За один день до начала JPoint, то есть 4 апреля, Виктор собирается провести большой 8-часовой тренинг, посвященный дизайну чистого, хорошо спроектированного кода (в том числе тому, как отрефакторить свой легаси до такого состояния).

Обучаться предстоит примерно следующему:

  • Основные архитектурные принципы: SRP, DRY, KISS, YAGNI, SOLID, и т.п.
  • Мрачная неприятная жизнь с синглтонами и глобальным состоянием, и что здесь можно сделать;
  • Adapter — наш анти-коррупционный слой;
  • Декораторы, прокси и другая магия Spring;
  • Фасады и эволюционный подход к архитектуре;
  • Наблюдатели и event-driven компоненты в Spring;
  • Итераторы и стримы как концепция;
  • Стратегия и цепочка ответственности, применение принципа единственной ответственности (SRP);
  • Паттерн Команда, асинхронность;
  • Шаблонный Метод и как его убить с помощью...
  • Passing Block и функционального программирования;
  • Антипаттерны и что с ними делать;
  • Заключительные тесты и награды.

Участнику тренинга лучше заранее ознакомиться со Spring, если он этого ещё почему-то не сделал, и вообще уметь программировать на Java.

За подробной информацией о тренинге стоит обратиться на сайт JPoint.

Этим живое присутствие отличается от онлайн-трансляции, которую мы тоже планируем сделать. Конечно, конференция — это не только доклады, но и море общения.

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

Можно найти интересующие компании, что-нибудь узнать у их представителей и поучаствовать в конкурсах. Можно просто встретиться с интересными людьми из сообщества, которые тоже пришли, но без доклада. Словом, всё что можно представить о большой конференции. Будут разные побочные активности, которые мы сейчас продумываем.

Он пройдёт 5-6 апреля 2019 в Москве. А дальше нужно приходить на JPoint!

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

По сравнению с предыдущим JPoint, система покупки билетов стала гибче и теперь умеет выдавать билеты четырех типов: Academic, Personal, Standard и Online. Важное замечание про цены и скидки. А если вы студент, аспирант или преподаватель (и имеется соответствующий документ для подтверждения), то скидка получается особенно внушительной. Почему это важно: если вы покупаете билеты себе сами, то это будет стоить сильно дешевле, чем билет для компании. Подробные условия, конечно, нужно читать на сайте — всё вышенаписанное было только для ознакомления.

Они аккуратно лежат на нашем YouTube-канале. В ожидании JPoint 2019 можно посмотреть записи с конференций за прошлые годы. Прошлогодние записи выкладываются туда перед началом новой конференции, и таким образом вы можете наглядно оценить качество докладов.

Встретимся на JPoint 2019!

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть