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

в 13:20, , рубрики: java, jpoint, JPoint 2019, Блог компании JUG.ru Group, высокая производительность, конференции, Программирование

Последний месяц зимы подходит к концу, и просыпается здоровое желание сходить на какую-нибудь большую Java-конференцию. Благо, всего месяц остался до JPoint 2019 — международной 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;
  • Несколько докладов вне категорий.

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

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

VM & Runtime

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

  • от 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, который раз за разом бьёт все рекорды посещаемости своих докладов;
  • и так далее.

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

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

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

Enterprise

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

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

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

Reactive

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

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

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

Languages

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

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

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

Tooling

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

Путеводитель по программе JPoint 2019 - 10 Kohsuke Kawaguchi, технический директор CloudBees, — легендарная личность, он вот этими самыми руками сделал Jenkins и во многом определил уклад CI/CD технологий в России и мире. И конечно, он не будет рассказывать о каменных веках и далеко забытых багах. Речь пойдёт о совершенно новых и революционных вещах в Jenkins X, включая Kubernetes, администрирование Jenkins Essentials, применение хороших практик вроде Configuration as Code (по настоящему, а не как всегда), и так далее.

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

Вне категорий

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

Тренинг «Pragmatic Design Patterns with Spring», ведущий — Victor Rentea

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

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

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

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

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

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

FAQ: и всё, только доклады?

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

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

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

Что дальше?

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

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

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

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

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

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

Автор: Олег Чирухин

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js