Дополнение к обзору с подведением итогов конференции Joker, проходившей в Санкт-Петербурге 3-4 ноября 2017 года.
На какие темы какие доклады были на конференции, кто из спикеров принял участие, что было интересного, чем отличался этот год от предыдущих — обо всём можно прочитать дальше.
В названии предыдущего обзора было обыграно наименование фильма Роберта Земекиса, поэтому в названии этой статьи интересным показалось провести аналогии с его следующим фильмом (Удивительные истории или Amazing Stories) и прошедшей конференцией.
Проект Удивительные истории является серией фильмов по идее и при продюсерстве Стивена Спилберга (команда JUG.ru с Алексеем Фёдоровым во главе). Каждый из фильмов серии снят одним из известных режиссёров — самим Спилбергом, Мэттью Роббинсом, Майклом Муром, Робертом Земекисом и другими (спикеры Алексей Шипилёв, Барух Садогурский, Евгений Борисов, Тагир Валеев и т.п.).
Множество интересных ярких оригинальных фильмов (докладов) были успешно объединены продюсером (организаторами) в рамках серии фильмов (конференции), от всего этого в итоге выиграли только зрители (участники конференции).
Подготовка конференции
В подготовку конференции командой JUG.ru Group было вложено много сил и потрачено много времени. В ходе подготовки на Хабрахабре была опубликована серия статей:
- Конференции для разработчиков как путь в Senior? И что, работает?
- «Работаю над проектами, объединяющими книгу и интерактив»: Кей Хорстманн о книгах и не только
- «Есть плюсы как для админов, так и для разработчиков»: Олег Анастасьев про облако Одноклассников
- «Java-разработчики не осознают проблему с профайлерами»: Андрей Паньгин и Нитсан Вакарт о Java-профилировании
- В поисках перформанса, часть 2: Профилирование Java под Linux (интервью с Сашей Гольдштейном)
- Много, быстро, распределенно: как выбирать In-Memory Data Grid-решение (интервью с Виктором Гамовым, Андреем Ершовым и Владимиром Озеровым)
- Что такое Spring Cloud и как его готовить – интервью с Евгением Борисовым и Кириллом Толкачёвым
- Что общего у разработки программного обеспечения с разработкой настольных игр? (интервью с Сергеем Абдульмановым)
- «Иногда приходится заглядывать в код Spark»: Александр Морозов (SEMrush) об использовании Scala, Spark и ClickHouse
- «В ЕЕ всегда есть альтернатива» — Дмитрий Александров (T-Systems) о Java EE / EE4J
Второй год подряд конференция проводилась в конгрессно-выставочном центре Экспофорум, что вызвано всё увеличивающимся числом участников.
Пустой зал, ждущий докладчиков и участников перед началом конференции. Холл в перерывах между докладами. Стенды спонсоров (Red Hat).
Ещё спонсоры — SEMrush, JetBrains и Альфа-Банк.
Как и ранее, кроме залов со спикерами, можно было встретиться в дискуссионных зонах. Кроме того, у докладчиков и представителей компаний-спонсоров брались интервью Олегом olegchir Чирухиным и Евгением phillennium Трифоновым. Интервью могли видеть зрители онлайн-трансляции конференции в перерывах между докладами.
Открытие конференции
Андрей Дмитриев и Алексей Фёдоров открывают конференцию. Заполненный зал во время открытия.
Доклады первого дня
Очень насыщенная программа конференции включала четыре трека с докладами, из которых можно было выбрать любой. Доклады параллельных треков доступны в записи и могут быть просмотрены участниками конференции в любое удобное время.
Ниже представлен краткий обзор примерно лишь четверти всех докладов.
Java 9: the good parts (not modules)
Cay Horstmann, San Jose State University
Кей Хорстманн является одним из известнейших авторов в мире Java, написавшим множество книг. Самая известная его книга — двухтомник Core Java (раз, два десятого издания на английском и раз, два оно же на русском языке). Даже просто посмотреть на столь выдающуюся личность было интересно.
В докладе рассказывалось о новых возможностях Java 9, не относящихся к модульности. Кроме более широко известных (удобные методы для конструирования коллекций, JShell, улучшения в Stream API), заинтересовали и прочие упомянутые возможности (например, новые методы I/O и регулярных выражений, получение информации о процессах операционной системы, файлы текстовых ресурсов в UTF-8).
Java Puzzlers NG S03 — Откуда вы все лезете-то?!
Тагир Валеев, JetBrains и Барух Садогурский, JFrog
Был представлен третий сезон Java Puzzlers NG как продолжение второго, который был показан полгода назад на конференции JPoint 2017. Тагир и Барух отлично дополняли друг друга в докладе такого типа.
Ввёл в смятение при просмотре приём, опробованный в докладах этой серии первый раз — правильным из четырёх ответов сначала объявлялся вовсе неправильный! Барух вполне насладился полученным эффектом и даже выслушал объяснение неправильного ответа (если не ошибаюсь, у Евгения Мандрикова).
Java и GPU: где мы сейчас?
Дмитрий Александров, T-Systems
Прекрасный обзор современного положения дел по возможностям использования GPU из Java. После интереснейшего экскурса в историю развития вычислений на графических процессорах последовало описание актуальных технологий (CUDA, OpenCL) и библиотек (вплоть до Aparapi).
Полезная хорошо изложенная информация. Докладчик отлично владеет темой, способен интересно изложить материал и, что немаловажно, полно и чётко ответить на вопросы слушателей.
Модули Java 9. Почему не OSGi?
Никита Липский, Excelsior LLC
В мае этого года Никита в ходе тура выступлений на конференциях выступал на встрече jug.msk.ru. На следующий день было запланировано его выступление на Oracle Code 2017 Moscow с более ранним вариантом этого доклада. Было интересно послушать, наконец, этот доклад и на Joker.
Весьма глубокое любопытное исследование (с уместным цитированием Хармса и Толстого), почему же спецификация OSGi не была использована для модульности в Java 9 и был спрооектирован Jigsaw.
Впечатлило интервью Никиты, взятое Евгением Трифоновым во второй день конференции (фото можно посмотреть ниже). Информация об истории Excelsior JET была ещё дополнена в ходе интересного рассказа.
Текстовый редактор — это вам не высшая математика, тут думать надо
Алексей Кудрявцев, JetBrains
Занимательный рассказ о внутреннем устройстве редактора Intellij IDEA. Используемые подходы, структуры данных и алгоритмы. Сравнение с другими известными редакторами. Объяснение причин принятых архитектурных решений, их преимущества и недостатки.
Shenandoah: сборщик мусора, который смог (часть 2)
Алексей Шипилёв, Red Hat
Вторая часть повествования о сборщике мусора Shenandoah. Первая часть была представлена на конференции JPoint 2017, его видео доступно здесь.
Доклад продолжал знакомить с особенностями технической реализации Shenandoah, акцентируя внимание слушателей более детально на проблемах, которые встают перед сборщиком мусора с низкими паузами.
Большая притягательность и популярность докладов Алексея, несмотря на их высокую техническую сложность, очередной раз вызвала искреннее восхищение.
Java 8: Хороший, плохой, злой
Николай Алименков, XP Injection
Доклад Николая был завершающим в первый день конференции. Несмотря на недавний выход Java 9, тема правильности использования множества возможностей Java 8 всё ещё актуальна.
Показанный в ходе доклада код можно посмотреть на GitHub. Просмотр доклада был полезен, приведённые примеры интересны, переписка с Тагиром lany Валеевым даже забавна.
Интервью первого дня
Смотревшие онлайн-трансляцию в перерывах между докладами имели счастливую возможность видеть интервью, которые брали Олег и Евгений. Интервьюируемыми были участники программного комитета, спикеры и представители компаний-спонсоров.
Например, представителем первой группы (участник программного комитета) является Владимир Ситников. Примерами спикеров — Нитсан Вакарт и Тагир Валеев. Представителем параллельной вселенной .NET — Андрей DreamWalker Акиньшин (спикер другой конференции, проводимой JUG.ru — DotNext 2017).
Доклады второго дня
Доклады второго дня были не менее интересными, чем доклады дня первого.
Boot yourself, Spring is coming
Кирилл Толкачёв, Альфа-Лаборатория и Евгений Борисов, Naya Technologies
Спикерский тандем Кирилла с Евгением уже отлично ранее себя зарекомендовал. На этот раз в их исполнении был доклад о Spring Boot, состоявший из двух частей. Первая и вторая часть были разделены получасовым перерывом.
Докладчики с огромной скоростью доносили информацию до слушателей, показывая слайды попеременно с кодом. Зрителям действие нравилось — на обоих частях доклада зал был полон. Одобрительный отзыв о докладе другого спикера конференции не заставил себя долго ждать.
Amazon Alexa vs Google Home: Большая битва голосовых интерфейсов на Java
Барух Садогурский, JFrog и Леонид Игольник, CA Technologies
Доклад воспринимался как продолжение серии, начатой Барухом и Леонидом на конференции DevOops докладами этим и этим.
Доклад был стилизован под боксёрский поединок (приглядевшись, можно заметить на спикерах белые халаты), рефери в котором выступил Антон Архипов. В нескольких раундах сравнивались Amazon Alexa (Леонид) и Google Home (Барух). Отличный доклад, много положительных эмоций от него и у зрителей, и у самих докладчиков, я думаю.
Дизайн реактивной системы на Spring 5/Reactor
Максим Гореликов, Альфа-Лаборатория
Максим рассказал о реактивных возможностях (интеграции Project Reactor) в Spring 5. Для примера была взято несколько взаимосвязанных синхронных сервисов и пошагово проводилось улучшение данной системы с помощью реактивных подходов.
Эксперименты, облечённые в код, можно посмотреть на GitHub.
TestContainers — интеграционное тестирование с Docker
Сергей Егоров, Uvita
Доклад анонсировался Сергеем ещё до конференции в одном из выпусков подкаста Разбор полётов. Заинтриговавшись анонсом, с интересом послушал и посмотрел.
Целью библиотеки TestContainers является наибольшее приближение во время выполнения тестов к промышленной среде, в которой приложение будет работать. Библиотека активно используется рядом известных Java-проектов и компаний (в том числе и в ZeroTurnaround, где Сергей недавно работал и где как раз начал заниматься TestContainers).
Проект Amber: вести с полей
Тагир Валеев, JetBrains
Персональным докладом Тагира на конференции (кроме парного доклада с Барухом) стал рассказ об Amber Project — собрании разных перспективных (или не очень) возможностей, которые могут появиться в следующих выпусках Java.
Кроме трёх JEP, перечисленных на странице проекта, были упомянуты JEP 303, JEP 309 и JEP 305. Слушатели доклада не преминули Тагира процитировать.
Как мы расширяли бутылочное горлышко разработки
Сергей Абдульманов, Мосигра
Завершающим конференцию стал доклад Сергея Milfgard Абдульманова — звезды Хабрахабра, пишущего отличные статьи и с 2010 года работающего в компании Мосигра.
Рассказывалось о трудном пути масштабирования при организации процесса выпуска настольных игр. На каждом из этапов напрашивались аналогии с выпуском программного обеспечения, что и, вероятно, в качестве одной из целей доклада преследовалось.
Интервью второго дня
Сергей Егоров, Кирилл Токачёв, Барух Садогурский и Леонид Игольник, Никита Липский, Алексей Шипилёв в качестве интервьюируемых. Алексей Фёдоров и Андрей Дмитриев подводят итоги конференции в конце второго дня.
Закрытие конференции
Алексей Фёдоров закрывает конференцию. Организаторы, волонтёры и спикеры конференции на традиционных завершающих общих фотографиях.
Итоги
- отличный сбалансированный набор докладов — возникает желание посмотреть несколько параллельных докладов;
- хорошая организация конференции (претензии по поводу киноа, предполагаю, будут учтены);
- сложился новый тандем спикеров Баруха Садогурского и Леонида Игольника;
- круглый стол и дискуссионные зоны были ещё более продуктивны и органичны.
С презентациями всех докладов можно ознакомиться на сайте конференции. Всем участникам конференции, оставившим отзывы, отправлена ссылка на видео всех докладов.
Автор: Дмитрий Белобородов