- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

VM & Runtime

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

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

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

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

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

Enterprise

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

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

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

Reactive

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

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

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

Languages

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

Путеводитель по программе JPoint 2019 - 8 О будущем джавы мы слышали и читали неоднократно. Но тут особый случай — про миграцию на новые джавы будет говорить Саймон Риттер [30] из 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?» [28] Николая Иготти из JetBrains. Как известно, всё становится лучше, если это написано на Котлине :-) Тем не менее, нужность компилируемой в нативный код версии для многих всё ещё остаётся загадкой. Как минимум, компилируемых языков немало, а тут речь идёт ещё и о сравнительно молодом проекте. Не бойтесь, у нас тут не абы кто, а технологический руководитель проекта Kotlin/Native, он точно справится с любыми вопросами.

Tooling

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

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

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

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

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

Тренинг «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 [42].

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

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

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

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

Что дальше?

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

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

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

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

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

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

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

Источник [45]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/309437

Ссылки в тексте:

[1] узнать на сайте: https://jpoint.ru/?utm_source=habr&utm_medium=440990#schedule

[2] от Azul: https://jpoint.ru/talks/7gcedvddxsm9p6k4ywwny1/?utm_source=habr&utm_medium=440990

[3] от Oracle Labs: https://jpoint.ru/talks/7jjesm28gvuujmgbmrwjty/?utm_source=habr&utm_medium=440990

[4] shelajev-oleg: https://habr.com/ru/users/shelajev-oleg/

[5] от IBM: https://jpoint.ru/talks/6nb9luhmk57yk9hmblzoc1/?utm_source=habr&utm_medium=440990

[6] от Excelsior: https://jpoint.ru/talks/1emn9byzaklzozk6ec56dp/?utm_source=habr&utm_medium=440990

[7] pjBooms: https://habr.com/ru/users/pjbooms/

[8] от BellSoft: https://jpoint.ru/talks/35hks9g6etavlgijj8nfvh/?utm_source=habr&utm_medium=440990

[9] от компании Одноклассники: https://jpoint.ru/talks/2o8scc5jbaurnqqlsydzxv/?utm_source=habr&utm_medium=440990

[10] apangin: https://habr.com/ru/users/apangin/

[11] написать GC: https://fosdem.org/2019/schedule/event/build_gc_minutes/

[12] статье Шипилёва: https://shipilev.net/jvm/diy-gc/

[13] поведает: https://jpoint.ru/talks/79c6yjo0q4q4esyosgeyoo/?utm_source=habr&utm_medium=440990

[14] Sebastian Daschner: https://jpoint.ru/talks/c5srr3uywos62ewokgii0/?utm_source=habr&utm_medium=440990

[15] Milen Dyankov: https://jpoint.ru/talks/6fhvshh187ayscc7ahpeju/?utm_source=habr&utm_medium=440990

[16] Юрий Артамонов: https://jpoint.ru/talks/2r0qpl14l6way6guqz5ujq/?utm_source=habr&utm_medium=440990

[17] Григорий Кошелев: https://jpoint.ru/talks/1xa5ea6p9djq1phnauiygm/?utm_source=habr&utm_medium=440990

[18] Владимир Плизга: https://jpoint.ru/talks/6kyixr30fgfmedztyom628/?utm_source=habr&utm_medium=440990

[19] Toparvion: https://habr.com/ru/users/toparvion/

[20] tolkkv: https://habr.com/ru/users/tolkkv/

[21] EvgenyBorisov: https://habr.com/ru/users/evgenyborisov/

[22] немного другая штука: https://jpoint.ru/talks/b9ib3swihayyhnnpjghc2/?utm_source=habr&utm_medium=440990

[23] Victor Rentea: https://jpoint.ru/talks/2w2eubjglmank7bdaurtlk/?utm_source=habr&utm_medium=440990

[24] раз: https://habr.com/ru/company/jugru/blog/424503/

[25] два: https://habr.com/ru/company/jugru/blog/425333/

[26] RSocket: http://rsocket.io/

[27] Олег Докука c докладом по RSocket: https://jpoint.ru/talks/2xelfl2d9mgyweeeq60wiw/?utm_source=habr&utm_medium=440990

[28] два: https://jpoint.ru/talks/vrkxw9dm8sogyiyo8qask/?utm_source=habr&utm_medium=440990

[29] сотрудника: https://jpoint.ru/talks/6tqzgwcm9atqfq4nkazsd9/?utm_source=habr&utm_medium=440990

[30] технический директор Azul: https://jpoint.ru/talks/35kmzgw4ds3gyt849hbaeo/?utm_source=habr&utm_medium=440990

[31] функциональный программист: https://jpoint.ru/talks/y6asxkk0vf5maxfsvkpzt/?utm_source=habr&utm_medium=440990

[32] Scala-подкастер из «Скалалаза»: https://jpoint.ru/talks/65s92phtqgiszcypsnbao7/?utm_source=habr&utm_medium=440990

[33] автора Jenkins: https://jpoint.ru/talks/4yidy6xcly4wuiiueegw2c/?utm_source=habr&utm_medium=440990

[34] главы берлинского JUG: https://jpoint.ru/talks/7btmasarx9jalf9lnkcxir/?utm_source=habr&utm_medium=440990

[35] двух: https://jpoint.ru/talks/4ltyzdxqzmpeofbgkld7ns/?utm_source=habr&utm_medium=440990

[36] сотрудников: https://jpoint.ru/talks/2hsfk1cviekoje6pse6wfy/?utm_source=habr&utm_medium=440990

[37] lany: https://habr.com/ru/users/lany/

[38] yegor256: https://habr.com/ru/users/yegor256/

[39] раз: https://www.amazon.com/Elegant-Objects-1-Yegor-Bugayenko/dp/1519166915/ref=sr_1_1?ie=UTF8&qid=1550658236&sr=8-1&keywords=Elegant+Objects

[40] два: https://www.amazon.com/Elegant-Objects-2-Yegor-Bugayenko/dp/1534908307/ref=sr_1_2?ie=UTF8&qid=1550658236&sr=8-2&keywords=Elegant+Objects

[41] «Просчеты тестирования»: https://jpoint.ru/talks/6wxij7hz0buprldhj02uwg/?utm_source=habr&utm_medium=440990

[42] обратиться на сайт JPoint: https://jpoint.ru/trainings/?utm_source=habr&utm_medium=440990

[43] на официальном сайте: https://jpoint.ru/tickets/?utm_source=habr&utm_medium=440990

[44] YouTube-канале: https://www.youtube.com/user/JUGRuVideo

[45] Источник: https://habr.com/ru/post/440990/?utm_source=habrahabr&utm_medium=rss&utm_campaign=440990