5-6 апреля 2019 в Конгресс-центре ЦМТ прошел JPoint — на сегодняшний день, самая большая Java-конференция в России (пока не прошел новый Joker). Давайте вспомним, как прошёл JPoint, чего интересного там случилось… и начнём готовиться к Joker.
Под катом много картинок, и, соответственно, вам понадобится много трафика. В прошлый разе попросили пережимать всё в JPG. Теперь так и сделано, но всё равно получилось весьма объемно.
Как всё прошло
JPoint 2019 — на данный момент самая большая Java-конференция в России и самая большая наша профильная конференция вообще. Это очень важное событие в истории российского сообщества Java-разработчиков.
К сожалению, именно от размера пошла и главная проблема: на конференции стало тесновато. На некоторых докладах люди не помещались в залы, и за это приносим глубочайшие извинения. Даже в дополнительном зале с трансляцией и на демо-стейдже случались овербуки. Есть ощущение, что вот это и есть настоящий размер конференции, которая может без дополнительных ухищрений поместиться в Центр Международной Торговли.
Как вообще так получилось? Место, где проводится конференция мы назваем коротко — «площадка». Площадка выбирается сильно заранее (минимум за год) исходя из планируемой загрузки, и потом, в случае больших расхождений с планом, решение может корректироваться. Загрузка залов — это ключевая вещь, мы за ней внимательно следим. За две недели до конференции людей было не то что с избытком, а даже чуть меньше запланированного — и ничто не предвещало проблем. И вдруг в самый последний момент люди резко и массово начали оплачивать новые билеты. Пока мы закрывали продажи, билеты приобрели еще 200 человек сверх плана. Что-то поменять было, очевидно, уже невозможно. Что делать в следующем году — вопрос. В Москве есть площадки больше, например, Крокус. Но Крокус — это очень, очень дорого, да и не совсем подходит по залам и оборудованию. Там низкие потолки, нерегулируемый свет, эхо в залах и что-то нужно делать со звукоизоляцией. Есть Сколково, но это вообще не то — все залы маленькие, на 100-200 человек. Там тоже низкие потолки — настолько, что экран нормально не повесить, и тоже вопросы к оборудованию. Так что да, найти хорошую площадку для следующего JPoint будет непросто. Но не волнуйтесь, мы что-нибудь придумаем.
В остальном же конференция удалась на славу. Даже доклад «Игра в Бога», который вообще не про Java и поэтому мог вызвать неоднозначную реакцию, обернулся большим успехом. Спикеры тоже воодушевлены. Кто-то из них обсуждает, как получить многоразовую визу в Россию (как вы, наверное, знаете — с визами в Россию всегда есть некоторые сложности). Кто-то измеряет, сколько часов он простоял в дискуссионной зоне и собирается в следующий раз обогнать коллег. Интересные отзывы от спикеров о том, что немногие Java-конференции в мире могут сравниться по уровню организации и, выбирая между ними и JPoint, они выберут именно его. Кажется, ставка на качество начала давать долгоиграющие позитивные последствия.
Фотографии и видеозаписи докладов
Если вы участвовали в конференции (неважно — вживую или в онлайн-трансляции), то все почищенные и порезанные видео появятся у вас совсем скоро. А вот всем остальным придётся подождать не менее чем полгода, мы планируем выложить записи ближе к Joker 2019.
Первые фотографии уже есть в нашей группе во ВКонтакте. Остальные фотографии будут где-то через десять дней.
Дальше в этом посте описываются события примерно в том порядке, как они происходили на конференции: открывающий кейноут, доклады, закрывающий кейноут, бофы и так далее.
Открывающий кейноут Антона Кекса «The world needs full-stack craftsmen»
Это очень необычный доклад, который утверждает, в том числе, что проект хотя бы без одного fullstack-инженера — мертв. Был интересный момент, когда Антон спрашивает: кто смог бы в одиночку переписать весь проект с нуля, если всю команду переедет грузовик? Поднимается лес рук. Следующий вопрос — получится ли у вас проект лучше, чем текущий? Скорей всего, да — по крайней мере, тут было тоже достаточно рук. Но потом по ходу доклада оказывается, что просто написать код с нуля недостаточно. Нужно общаться с клиентом напрямую, предлагать решения, дизайнить UI и так далее и тому подобное, туча слайдов со списками. Антон продолжает набрасывать и набрасывать навыки — в результате дискуссия не обрывается с концом доклада — в дискуссионной зоне собралась целая толпа участников, продолжающих обсуждение темы.
Доклады первого дня
Очевидно, что мы с phillennium и golodnyj большинство докладов посмотреть не смогли, потому что большую часть времени провели, занимаясь интервью, общением с компаниями, спикерами и так далее. Так что, наверное, пост с обзором докладов лучше бы написать кому-то другому. Но у тебя, дорогой читатель, сейчас есть только я, поэтому расскажу я только о том, что сам успел посмотреть!
Во-первых, это весьма прорывной доклад «Create your own interpreter with a JIT in 1 hour» от Charlie Gracie. Кстати, сколько ещё людей с должностью Garbage Collection Architect вы знаете? Не уверен, что эту должность даже стоит сокращать как «GCA в IBM». Представьте, вы — Чарли, приходите на встречу и представляетесь: «Я GCA в IBM». И все вокруг такие: «Он — кто???» Короче. Ожидаемо, Чарли не стал рассказывать, как построить мир за 7 дней без использования фреймворков, а принёс свой Eclipse OMR. Пишем интерпретатор, интерпретатор становится компилятором, в теории всё просто, на практике — нужно понимать много нюансов. Как минимум, там везде C++ и код, в который нужно вникать. Чарли кодит прямо на своём макбуке, зачастую при C++ программировании это фатальная ошибка (потому что баги искать долго), но у Чарли всё проходит гладко. Ах да, слайдов у этого доклада нет, и как делать расшифровку лайвкодингга на Хабр — непонятно.
Вторая очень достойная штука, «Сказ о том, как мы алгоритм каналов в Kotlin Coroutines делали». Здесь слайды уже есть. И можно сказать, Никита — король слайдов, ибо по слайдам всё понятно, и там даже есть кое-что, что не проговаривалось словами вживую. Когда-то я написал шуточную статью о том, почему Kotlin — это плохо(судя по 321 предельно серьёзному комментарию, никто не догадался, что это шутка). На самом деле, Kotlin — это фантастическая штука, которая создаётся и разворачивается прямо на наших глазах. Когда создавались корутины, в рантайме не было для них поддержки — и до сих пор нет, Пресслер отказывается даже примерно намекнуть на дату релиза. Каким же образом всё это работает в Kotlin, как оно вообще может работать? И вот на сцену выходит волшебник и показывает секреты своих величайших фокусов. Отлично. Конечно, надо бы что-то покритиковать, и вот вопрос: какой вывод может сделать из этого доклада обычный разработчик? И хотя собственно о Kotlin в докладе ни слова, по мне так это отличная история для расширения кругозора (и именно так об этом и говорит Никита во вступительном слове), но все желающие отыскать в нём какие-то навыки для мгновенного применения могут оказаться глубоко оскорблены.
В-третьих, это «Нас Spring Boot, а мы крепчаем: невыносимая легкость AOT-компиляции Spring-приложений» от Никиты Липского (pjBooms). Это очень популярная сейчас тема AOT-компиляции, да ещё и на примере Spring Boot, про который интуитивно кажется, что AOT с ним работать не должен. И в GraalVM оно действительно не работает (Spring Fu не в счёт). А в Excelsior JET оно работает, и это ещё одно большое колдунство. Как всегда, я рассматриваю это скорей как доклад для увеличения кругозора: ты начинаешь лучше понимать, как работает Spring, как работает Java вообще — почему разработчики языков и рантаймов выбирают именно такие решения, а не какие-то другие. Ты ближе понимаешь проблемы современных облаков, и так далее. Ну наверное, если у вас есть купленный JET, это ещё и чисто рабочий вопрос, но у меня такового пока нет.
Все доклады первого дня (со ссылками)
Олег Докука, Simon Ritter, Егор Бугаенко @yegor256, Charlie Gracie.
Kohsuke Kawaguchi, Дмитрий Чуйко, Victor Rentea, Tomasz Nurkiewicz.
Sebastian Daschner, Allard Buijze, Thomas Wuerthinger, Никита Коваль @ndkoval.
Сергей Егоров, Bernd Rücker, Юрий Артамонов, Никита Липский.
René Gröschke, Александр Ноздрин-Плотницкий, Chris Hegarty, Кирилл Толкачёв и Евгений Борисов.
Demo Stage
На демо-стейдже можно было послушать разнообразные доклады. Например, вот Александр Белокрылов alexbel из BellSoft расказывает о Liberica:
Воркшоп Thomas Wuerthinger
Томас специально для нас выделил время и провёл воркшоп. Он хотел работать с очень небольшой аудиторией (так получается эффективней), поэтому мы не делали больших анонсов: велик был шанс, что после его доклада весь зал встанет и переместится на воркшоп, а это сильно больше планируемых 20 человек. В результате всё получилось отлично.
BOF
BOF — теперь уже традиционный формат на наших конференциях. Что-то вроде круглого стола или дискуссионной группы, в которой могут принять участие все желающие. Этот формат исторически восходит к первым неформальным дискуссионным группам Internet Engineering Task Force (IETF). Здесь нет деления на докладчика и участника: наравне участвуют все. Тем не менее, на каждом бофе есть модератор, направляющий дискуссию, и как минимум несколько признанных экспертов — все вместе они составляют ядро, с которого начинается дискуссия, а дальше — как пойдёт.
Microservices, cloud и куда все это двигается (RU)
Участники: Олег Анастасьев, Дмитрий Чуйко, Александр Ноздрин-Плотницкий, Владимир Плизга Toparvion, Максим Гореликов somemaxim;
Модератор: Кирилл Толкачёв.
Reactive — today's need and future perspectives (EN)
Участники: Сергей Егоров bsideup, Олег Докука, Tomasz Nurkiewicz, Вадим Цесько;
Модератор: Антон Архипов.
Rumble in the Java jungle (Oracle JDK, your own OpenJDK build, alternatives) (EN)
Участники: Александр Белокрылов, Simon Ritter, Bruno Borges;
Модератор: Volker Simonis.
Why does Java run slow? (EN)
Участники: Николай Иготти, Rafael Winterhalter, Андрей Паньгин apangin, Andrzej Grzesi, Владимир Ситников;
Модератор: Иван Крылов.
Интересно, что рядом со стендом Леруа Мерлен образовался стихийный BOF с участием Антона Черноусова golodnyj, Андрея Когуня, Алексея Абашева, Егора Бугаенко и остальных. Столько тепла и позитива!
Вечеринка
В конце первого дня была большая вечеринка, позволяющая немного остудить плавящиеся
Открывающий кейноут второго дня: Александр Панчин, «Игра в Бога. Перешла ли наука границу»
Этот кейноут вообще не про джаву. Он про вот что: учитывая последние достижения генной инженерии, продолжим ли мы играть в Бога или пора его переиграть?
Несмотря на то, что доклад временами касается довольно жутковатых вещей, Александр умудряется сгладить углы. Например, там, где речь идёт о «пушистом геноциде». Есть известная история о том, что в Австралии нет природных хищников, которые могут бороться с кроликами. И когда кроликов завезли, они сожрали там всё, на этой фотографии нет травы. Они активно размножаются и разрушают природные экосистемы. Никто не даст убить всех этих несчастных животных, но есть гипотетический пример, когда можно вывести специальных кроликов-мутантов, у которых после множества скрещиваний закончатся самки и они исчезнут сами по себе. При этом ни один кролик не пострадал, все занимались исключительно приятным процессом размножения.
Доклады второго дня
Расскажу ещё о парочке докладов. Точно стоило сходить на доклад Олега Шелаева, «Суперкомпиляция, partial evaluation, проекции Футамуры и как GraalVM спасет мир». Эту тему мы активно обсуждали в прошлом году в сообществе @graalvm_ru в Телеграме, и наконец-то, Олег приехал к нам с полноценным докладом. Это тема с острым вкусом патриотизма: начиная изучать документацию к Truffle, быстро натыкаешься на то, что теория построена на работах российских учёных прошлого века. Непонятно, как разработчики Graal с этим уживаются — скорей всего, они не умеют читать по-русски. Приятно, что ничего не забыто, и идеи новосибирских академиков наконец-то приобрели своё инженерное воплощение. А ещё там были ананасики! (шутка для тех, кто присутствовал)
Точно стоило сходить на «Атомарный рефакторинг в IntelliJ IDEA: прогибаем IDE под себя» Тагира Валеева (lany). Во-первых, потому что это Тагир. Во-вторых, потому что это что-то весьма практическое. Многие рефакторинги делают эквивалентные преобразования — но не все. Если у вас не сильно странная программа, то всё в порядке, но иногда она ломается. Иногда она ломается позитивно — например, можно заменить хвостовую рекурсию циклом, при этом семантика поменяется — программа перестает падать, но это даже к лучшему. Об этом и многом другом было в докладе Тагира, и я пересмотрел бы его ещё раз, когда появятся видеозаписи.
Более подробные разборы, наверное, нужно будет сделать в TOP-10 или каком-то таком традиционном для Хабра формате, где можно написать целую стену текста.
Все доклады второго дня (со ссылками)
Паша Финкельштейн @asm0dey, Андрей Паньгин, Sebastian Daschner, Simon Ritter.
Milen Dyankov, Николай Иготти, Иван Пономарёв, Олег Шелаев.
Michał Płachta, Григорий Кошелев, Marc Hoffmann и Евгений Мандриков, Тагир Валеев.
Владимир Ситников @vladimirsitnikov, Nikhil Nanivadekar, Владимир Плизга, Rafael Winterhalter.
Ольга Махасоева, Дмитрий Говорухин, Andrzej Grzesik, Антон Архипов.
Завершающий кейноут: Bruno Borges, «Making sense out of serverless computing»
Необычно видеть в качестве кейноутера на Java-конференции кого-то из Microsoft, ведь за долгие годы все привыкли, что Microsoft — это о .NET, C# и так далее. Сам по себе Бруно раньше работал Developer Advocate в Oracle. Он начал карьеру Java-разработчика в 2001 году, писал приложения на Swing, потом на JSP и Servlets, Apache Struts… И вот теперь он Developer Advocate уже в Microsoft. При этом даже в Microsoft он не пользуется Windows, использует Mac. Мы живём в удивительное время. Не последнее значение в этом играют облака, и вот об этом и есть весь рассказ Бруно. Как написано на одном из первых слайдов, «Serverless is a State of Mind», и это состояние подразумевает, что мы можем более свободно выбирать свои технологии, чем когда-либо раньше. Когда Бруно начинал доклад, он спросил, сколько людей используют serverless и рук было совсем мало. К концу доклада у многих людей, которые раньше и не задумывались об использовании serverless-технологий появилось желание их попробовать — вот это та особая магия кейноутных докладов, когда тебе даже не демонстрируют никакого шокирующего низкоуровневого хардкора, километров кода, а просто показывают большую картину всего происходящего — и для тебя это становится дорогой в будущее.
Выставка
Конференция проходила в Центре международной торговли (ЦМТ). При входе на площадку нас ждала красивая выставка, которую старательно обсутроили и наполнили активностями всевозможные компании. Написать обо всех компаниях и активностях не представляется возможным, их слишком много, поэтому, как всегда, накидаю несколько случайных фотографий.
На стенде Леруа Мерлен я задержался на секунду, чтобы понять, что это за странные железные штуки, и мне тут же предложили сосканировать QR-код. Угадайте, что было по ссылке.
На стенде Спортмастера и Райффайзенбанка играют в настольный хоккей:
Вот так люди обсуждают детали решения задач на стенде ТехЦентра Дойче Банка и выигрывают призы у Mediascope:
А на стендах Альфа-Банка и HeadHunter можно чиллить, общаться с сотрудниками и потреблять огромное количество кофе:
А ещё можно было к небольшой книжной лавке издательства Питер и приобрести первый том Егора Бугаенко. Если же писать по заветам этой книги не получается и кодирование — вообще не ваша тема, то можно попробовать себя в аджайле:
Что угодно становится лучше, если написать это на Kotlin!
Организация конференции и команда
Отдельное спасибо хочется сказать всем коллегам, кто участвовал в организации конференции и кто сейчас читает эту статью.
Кстати, это был первый JPoint, который начался без Алексея Фёдорова 23derevo, он в этот момент был в Порту на финале ICPC, но прилетел на второй день, и его можно было увидеть в спикер-руме.
Спикер-рум вообще очень интересное место, и там происходят свои интересные штуки, закрытые от внешнего мира. Например, Олег Шелаев умудрился несколько раз подряд прогнать свой доклад про проекции Футамуры и подправить слайды (и один из этих прогонов был со мной).
Лёша слева, а Олег — справа :)
Никто не замечает фотографов, а они есть! Благодаря им в этом посте столько снимков. По правде говоря, это единственный снимок фотографа, который у меня вообще есть — похоже, они сами себя не фотографируют.
Кроме того, тихо и незаметно работают операторы видеозаписи и видеотрансляции. У нас появилась новая система мониторинга видео, спасибо Артёму Никонову, Максиму Звереву и остальным участникам этого подвига.
Кроме того, на площадке можно встретить программных координаторов — благодаря ним всё работает как часы.
Ну и наконец, залы и всё, что там происходит — это забота большого количества людей, которые могут решать любые возникающие проблемы. Проблем, кстати, не сказать чтобы было много — один раз микрофон начал ловить звук из соседнего зала, это быстро починили, и из серьёзного — это всё.
Можно продолжать ещё долго: рассказать о нашей собственной вайфай-сети (над которой колдует Максим Зверев), об онлайн-трансляции (которую обычно ведёт phillennium и я, olegchir), о докладах с демо-стейджа… Но так этот пост не закончится никогда.
Что дальше: Joker 2019
Давайте подведём итоги. JPoint 2019 завершён, он получился очень хорошим, и дальше нас ждут новые конференции.
У нас открываются продажи Joker, который состоится этой осенью, 25-26 октября. Прямо сейчас известно несколько докладчиков:
- Juergen Hoeller их Pivotal, сооснователь и предводитель Spring Framework;
- Mark Heckler — тоже из Pivotal, известный автор и евангелист облачных и IoT решений;
- Stephen Chin — директор Oracle Groundbreakers Team в Oracle, кейноутер конференции Java One, создатель Raspberry Pi with Java, соавтор Pro JavaFX Platform, председатель Oracle Code One Content;
- Олег Ненашев — разработчик core team в CloudBees, эксперт по разработке инфраструктуры и фреймворков для Jenkins;
- Антон Архипов — Developer Advocate в компании JetBrains, резидент подкаста «Разбор Полётов».
Кроме того, можно самому подать доклад — по ссылке есть хорошая инструкция, что для этого нужно сделать.
Информация о новых спикерах постоянно обновляется на сайте. Там же можно приобрести билеты.
Участникам прошлого Joker настоятельно стоит следить за своим почтовым ящиком, куда вскоре придёт письмо с промокодами.
В общем, оставайтесь с нами, встретимся на следующем Joker и JPoint!
Автор: olegchir