- PVSM.RU - https://www.pvsm.ru -
Дополнение к обзору с подведением итогов [1] конференции Joker [2], проходившей в Санкт-Петербурге 3-4 ноября 2017 года.
На какие темы какие доклады были на конференции, кто из спикеров принял участие, что было интересного, чем отличался этот год от предыдущих — обо всём можно прочитать дальше.
[3]
В названии предыдущего обзора [1] было обыграно наименование фильма [4] Роберта Земекиса, поэтому в названии этой статьи интересным показалось провести аналогии с его следующим фильмом (Удивительные истории [5] или Amazing Stories [6]) и прошедшей конференцией.
Проект Удивительные истории [5] является серией фильмов по идее и при продюсерстве Стивена Спилберга (команда JUG.ru [7] с Алексеем Фёдоровым во главе). Каждый из фильмов серии снят одним из известных режиссёров — самим Спилбергом [8], Мэттью Роббинсом [9], Майклом Муром [10], Робертом Земекисом [11] и другими (спикеры Алексей Шипилёв, Барух Садогурский, Евгений Борисов, Тагир Валеев и т.п.).
Множество интересных ярких оригинальных фильмов (докладов) были успешно объединены продюсером (организаторами) в рамках серии фильмов (конференции), от всего этого в итоге выиграли только зрители (участники конференции).
В подготовку конференции командой JUG.ru Group [12] было вложено много сил и потрачено много времени. В ходе подготовки на Хабрахабре была опубликована серия статей:
Второй год подряд конференция проводилась в конгрессно-выставочном центре Экспофорум [23], что вызвано всё увеличивающимся числом участников.
Пустой зал, ждущий докладчиков и участников перед началом конференции. Холл в перерывах между докладами. Стенды спонсоров (Red Hat).
Ещё спонсоры — SEMrush, JetBrains и Альфа-Банк.
Как и ранее, кроме залов со спикерами, можно было встретиться в дискуссионных зонах. Кроме того, у докладчиков и представителей компаний-спонсоров брались интервью Олегом olegchir [26] Чирухиным и Евгением phillennium [27] Трифоновым. Интервью могли видеть зрители онлайн-трансляции конференции в перерывах между докладами.
Андрей Дмитриев и Алексей Фёдоров открывают конференцию. Заполненный зал во время открытия.
Очень насыщенная программа конференции включала четыре трека с докладами, из которых можно было выбрать любой. Доклады параллельных треков доступны в записи и могут быть просмотрены участниками конференции в любое удобное время.
Ниже представлен краткий обзор примерно лишь четверти всех докладов.
Java 9: the good parts (not modules)
Cay Horstmann, San Jose State University
Кей Хорстманн является одним из известнейших авторов в мире Java, написавшим множество книг [30]. Самая известная его книга — двухтомник Core Java (раз [31], два [32] десятого издания на английском и раз [33], два [34] оно же на русском языке). Даже просто посмотреть на столь выдающуюся личность было интересно.
В докладе рассказывалось о новых возможностях Java 9, не относящихся к модульности. Кроме более широко известных (удобные методы для конструирования коллекций, JShell, улучшения в Stream API), заинтересовали и прочие упомянутые возможности (например, новые методы I/O и регулярных выражений, получение информации о процессах операционной системы, файлы текстовых ресурсов в UTF-8).
Java Puzzlers NG S03 — Откуда вы все лезете-то?!
Тагир Валеев, JetBrains и Барух Садогурский, JFrog
Был представлен третий сезон Java Puzzlers NG как продолжение второго, который был показан полгода назад на конференции JPoint 2017 [36]. Тагир и Барух отлично дополняли друг друга в докладе такого типа.
Ввёл в смятение при просмотре приём, опробованный в докладах этой серии первый раз — правильным из четырёх ответов сначала объявлялся вовсе неправильный! Барух вполне насладился полученным эффектом и даже выслушал объяснение неправильного ответа (если не ошибаюсь, у Евгения Мандрикова).
Java и GPU: где мы сейчас?
Дмитрий Александров, T-Systems
Прекрасный обзор современного положения дел по возможностям использования GPU из Java. После интереснейшего экскурса в историю развития вычислений на графических процессорах последовало описание актуальных технологий (CUDA, OpenCL) и библиотек (вплоть до Aparapi [38]).
Полезная хорошо изложенная информация. Докладчик отлично владеет темой, способен интересно изложить материал и, что немаловажно, полно и чётко ответить на вопросы слушателей.
Модули Java 9. Почему не OSGi?
Никита Липский, Excelsior LLC
В мае этого года Никита в ходе тура выступлений на конференциях выступал на встрече jug.msk.ru [40]. На следующий день было запланировано его выступление на Oracle Code 2017 Moscow [41] с более ранним вариантом этого доклада. Было интересно послушать, наконец, этот доклад и на Joker.
Весьма глубокое любопытное исследование (с уместным цитированием Хармса и Толстого), почему же спецификация OSGi [42] не была использована для модульности в Java 9 и был спрооектирован Jigsaw.
Впечатлило интервью Никиты, взятое Евгением Трифоновым во второй день конференции (фото можно посмотреть ниже). Информация об истории Excelsior JET [43] была ещё дополнена в ходе интересного рассказа.
Текстовый редактор — это вам не высшая математика, тут думать надо
Алексей Кудрявцев, JetBrains
Занимательный рассказ о внутреннем устройстве редактора Intellij IDEA. Используемые подходы, структуры данных и алгоритмы. Сравнение с другими известными редакторами. Объяснение причин принятых архитектурных решений, их преимущества и недостатки.
Shenandoah: сборщик мусора, который смог (часть 2)
Алексей Шипилёв, Red Hat
Вторая часть повествования о сборщике мусора Shenandoah [46]. Первая часть была представлена на конференции JPoint 2017, его видео доступно здесь [47].
Доклад продолжал знакомить с особенностями технической реализации Shenandoah, акцентируя внимание слушателей более детально на проблемах, которые встают перед сборщиком мусора с низкими паузами.
Большая притягательность и популярность докладов Алексея, несмотря на их высокую техническую сложность, очередной раз вызвала искреннее восхищение.
Java 8: Хороший, плохой, злой
Николай Алименков, XP Injection
Доклад Николая был завершающим в первый день конференции. Несмотря на недавний выход Java 9, тема правильности использования множества возможностей Java 8 всё ещё актуальна.
Показанный в ходе доклада код можно посмотреть на GitHub [49]. Просмотр доклада был полезен, приведённые примеры интересны, переписка с Тагиром lany [50] Валеевым даже забавна [51].
Смотревшие онлайн-трансляцию в перерывах между докладами имели счастливую возможность видеть интервью, которые брали Олег и Евгений. Интервьюируемыми были участники программного комитета, спикеры и представители компаний-спонсоров.
Например, представителем первой группы (участник программного комитета) является Владимир Ситников. Примерами спикеров — Нитсан Вакарт и Тагир Валеев. Представителем параллельной вселенной .NET — Андрей DreamWalker [52] Акиньшин (спикер другой конференции, проводимой JUG.ru — DotNext 2017 [53]).
Доклады второго дня были не менее интересными, чем доклады дня первого.
Boot yourself, Spring is coming
Кирилл Толкачёв, Альфа-Лаборатория и Евгений Борисов, Naya Technologies
Спикерский тандем Кирилла с Евгением уже отлично ранее себя зарекомендовал. На этот раз в их исполнении был доклад о Spring Boot [57], состоявший из двух частей. Первая и вторая часть были разделены получасовым перерывом.
Докладчики с огромной скоростью доносили информацию до слушателей, показывая слайды попеременно с кодом. Зрителям действие нравилось — на обоих частях доклада зал был полон. Одобрительный отзыв [58] о докладе другого спикера конференции не заставил себя долго ждать.
Amazon Alexa vs Google Home: Большая битва голосовых интерфейсов на Java
Барух Садогурский, JFrog и Леонид Игольник, CA Technologies
Доклад воспринимался как продолжение серии, начатой Барухом и Леонидом на конференции DevOops [60] докладами этим [61] и этим [62].
Доклад был стилизован под боксёрский поединок (приглядевшись, можно заметить на спикерах белые халаты), рефери в котором выступил Антон Архипов. В нескольких раундах сравнивались Amazon Alexa (Леонид) и Google Home (Барух). Отличный доклад, много положительных эмоций от него и у зрителей, и у самих докладчиков, я думаю.
Дизайн реактивной системы на Spring 5/Reactor
Максим Гореликов, Альфа-Лаборатория
Максим рассказал о реактивных возможностях (интеграции Project Reactor) в Spring 5. Для примера была взято несколько взаимосвязанных синхронных сервисов и пошагово проводилось улучшение данной системы с помощью реактивных подходов.
Эксперименты, облечённые в код, можно посмотреть на GitHub [64].
TestContainers — интеграционное тестирование с Docker
Сергей Егоров, Uvita
Доклад анонсировался Сергеем ещё до конференции в одном из выпусков подкаста Разбор полётов [66]. Заинтриговавшись анонсом, с интересом послушал и посмотрел.
Целью библиотеки TestContainers [67] является наибольшее приближение во время выполнения тестов к промышленной среде, в которой приложение будет работать. Библиотека активно используется рядом известных Java-проектов и компаний (в том числе и в ZeroTurnaround [68], где Сергей недавно работал и где как раз начал заниматься TestContainers).
Проект Amber: вести с полей
Тагир Валеев, JetBrains
Персональным докладом Тагира на конференции (кроме парного доклада с Барухом) стал рассказ об Amber Project [70] — собрании разных перспективных (или не очень) возможностей, которые могут появиться в следующих выпусках Java.
Кроме трёх JEP, перечисленных на странице проекта [70], были упомянуты JEP 303 [71], JEP 309 [72] и JEP 305 [73]. Слушатели доклада не преминули Тагира процитировать [74].
Как мы расширяли бутылочное горлышко разработки
Сергей Абдульманов, Мосигра
Завершающим конференцию стал доклад Сергея Milfgard [76] Абдульманова — звезды Хабрахабра, пишущего отличные статьи и с 2010 года работающего в компании Мосигра [77].
Рассказывалось о трудном пути масштабирования при организации процесса выпуска настольных игр. На каждом из этапов напрашивались аналогии с выпуском программного обеспечения, что и, вероятно, в качестве одной из целей доклада преследовалось.
Сергей Егоров, Кирилл Токачёв, Барух Садогурский и Леонид Игольник, Никита Липский, Алексей Шипилёв в качестве интервьюируемых. Алексей Фёдоров и Андрей Дмитриев подводят итоги конференции в конце второго дня.
Алексей Фёдоров закрывает конференцию. Организаторы, волонтёры и спикеры конференции на традиционных завершающих общих фотографиях.
Автор: Дмитрий Белобородов
Источник [80]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/268112
Ссылки в тексте:
[1] обзору с подведением итогов: https://habrahabr.ru/company/jugru/blog/342130/
[2] Joker: https://jokerconf.com
[3] Image: https://habrahabr.ru/company/jugru/blog/341666/
[4] наименование фильма: http://www.imdb.com/title/tt0088763/
[5] Удивительные истории: https://ru.wikipedia.org/wiki/%D0%A3%D0%B4%D0%B8%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8_(%D1%82%D0%B5%D0%BB%D0%B5%D1%81%D0%B5%D1%80%D0%B8%D0%B0%D0%BB)
[6] Amazing Stories: http://www.imdb.com/title/tt0088478/
[7] команда JUG.ru: https://jug.ru
[8] Спилбергом: https://www.kinopoisk.ru/name/22260/
[9] Мэттью Роббинсом: https://www.kinopoisk.ru/name/77856/
[10] Майклом Муром: https://www.kinopoisk.ru/name/6483/
[11] Робертом Земекисом: https://www.kinopoisk.ru/name/2435/
[12] JUG.ru Group: https://jugru.org
[13] Конференции для разработчиков как путь в Senior? И что, работает?: https://habrahabr.ru/company/jugru/blog/331898/
[14] «Работаю над проектами, объединяющими книгу и интерактив»: Кей Хорстманн о книгах и не только: https://habrahabr.ru/company/jugru/blog/334502/
[15] «Есть плюсы как для админов, так и для разработчиков»: Олег Анастасьев про облако Одноклассников: https://habrahabr.ru/company/jugru/blog/335234/
[16] «Java-разработчики не осознают проблему с профайлерами»: Андрей Паньгин и Нитсан Вакарт о Java-профилировании: https://habrahabr.ru/company/jugru/blog/335852/
[17] В поисках перформанса, часть 2: Профилирование Java под Linux (интервью с Сашей Гольдштейном): https://habrahabr.ru/company/jugru/blog/338928/
[18] Много, быстро, распределенно: как выбирать In-Memory Data Grid-решение (интервью с Виктором Гамовым, Андреем Ершовым и Владимиром Озеровым): https://habrahabr.ru/company/jugru/blog/339322/
[19] Что такое Spring Cloud и как его готовить – интервью с Евгением Борисовым и Кириллом Толкачёвым: https://habrahabr.ru/company/jugru/blog/341026/
[20] Что общего у разработки программного обеспечения с разработкой настольных игр? (интервью с Сергеем Абдульмановым): https://habrahabr.ru/company/jugru/blog/341254/
[21] «Иногда приходится заглядывать в код Spark»: Александр Морозов (SEMrush) об использовании Scala, Spark и ClickHouse: https://habrahabr.ru/company/jugru/blog/341288/
[22] «В ЕЕ всегда есть альтернатива» — Дмитрий Александров (T-Systems) о Java EE / EE4J: https://habrahabr.ru/company/jugru/blog/341558/
[23] Экспофорум: http://expoforum-center.ru/ru/map/
[24] Image: https://habrastorage.org/webt/mq/vu/tk/mqvutkjbkwtli0q0d3sohqimg_c.jpeg
[25] Image: https://habrastorage.org/webt/m5/di/00/m5di006chmtpiqas2nnnk-4k3qm.jpeg
[26] olegchir: https://habrahabr.ru/users/olegchir/
[27] phillennium: https://habrahabr.ru/users/phillennium/
[28] Image: https://habrastorage.org/webt/2f/fq/m7/2ffqm7cs0esaatxx_c0jk5-9nmc.jpeg
[29] Image: https://habrastorage.org/webt/nx/l5/eb/nxl5eby-shrxufo1i9aqmq2yjck.jpeg
[30] множество книг: https://www.amazon.com/s/ref=dp_byline_sr_book_1?ie=UTF8&text=Cay+S.+Horstmann&search-alias=books&field-author=Cay+S.+Horstmann&sort=relevancerank
[31] раз: https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304/ref=sr_1_1?s=books&ie=UTF8&qid=1510225767&sr=1-1&dpID=41dHD22LDJL&preST=_SX218_BO1,204,203,200_QL40_&dpSrc=srch
[32] два: https://www.amazon.com/Core-Java-II-Advanced-Features-10th/dp/0134177290/ref=sr_1_4?s=books&ie=UTF8&qid=1510225767&sr=1-4&dpID=41clmx-C4SL&preST=_SX218_BO1,204,203,200_QL40_&dpSrc=srch
[33] раз: https://www.ozon.ru/context/detail/id/137377512/
[34] два: https://www.ozon.ru/context/detail/id/141529764/
[35] Image: https://habrastorage.org/webt/jk/2j/yo/jk2jyo8qy3kobuf6mfu814ptskq.jpeg
[36] JPoint 2017: https://habrahabr.ru/company/jugru/blog/326142/
[37] Image: https://habrastorage.org/webt/se/cu/iw/secuiwmkzzqwjziqkohx-fs4es0.jpeg
[38] Aparapi: http://aparapi.com
[39] Image: https://habrastorage.org/webt/pz/tx/g6/pztxg6keku_ntjn-_qrn98cmwgo.jpeg
[40] встрече jug.msk.ru: https://habrahabr.ru/company/jugru/blog/329728/
[41] Oracle Code 2017 Moscow: https://developer.oracle.com/code/moscow
[42] OSGi: https://www.osgi.org
[43] Excelsior JET: https://www.excelsiorjet.com
[44] Image: https://habrastorage.org/webt/rw/ou/ky/rwoukyy5afpmpsthvjtj1azjvay.jpeg
[45] Image: https://habrastorage.org/webt/ff/dv/bv/ffdvbvhbxhgcs8ozw7ktkc9ji7w.jpeg
[46] Shenandoah: http://openjdk.java.net/jeps/189
[47] здесь: https://www.youtube.com/watch?v=CnRtbtis79U&feature=youtu.be
[48] Image: https://habrastorage.org/webt/nw/h8/d7/nwh8d7_gfmaid03ipbaugj2lwlk.jpeg
[49] на GitHub: https://github.com/xpinjection/java8-misuses
[50] lany: https://habrahabr.ru/users/lany/
[51] даже забавна: https://twitter.com/tagir_valeev/status/926482027859365888
[52] DreamWalker: https://habrahabr.ru/users/dreamwalker/
[53] DotNext 2017: https://dotnext-moscow.ru
[54] Image: https://habrastorage.org/webt/zz/zm/u3/zzzmu3lv-fc_qgszme3sxwm-gma.jpeg
[55] Image: https://habrastorage.org/webt/j9/7v/ph/j97vphvlnkhovnckbu923ect60u.jpeg
[56] Image: https://habrastorage.org/webt/qg/g6/ap/qgg6apszlyehoemjotxc9fcjnwk.jpeg
[57] Spring Boot: https://projects.spring.io/spring-boot/
[58] Одобрительный отзыв: https://twitter.com/xpinjection/status/926728153522982912
[59] Image: https://habrastorage.org/webt/ka/o_/tq/kao_tqzeep7q_b57clhvb9xfq3m.jpeg
[60] DevOops: https://devoops.ru
[61] этим: https://devoops.ru/2017/spb/talks/5bapycqwxy44uc4yekcgqy/
[62] этим: https://devoops.ru/2017/spb/talks/ezypljuyzygei6yeocsiq/
[63] Image: https://habrastorage.org/webt/uy/v-/wk/uyv-wkuispim2wjrj-ml_ogohei.jpeg
[64] на GitHub: https://github.com/gorelikov/cards-hub-evolution
[65] Image: https://habrastorage.org/webt/84/nu/it/84nuitq5cwq9xigpkjftoenri1g.jpeg
[66] Разбор полётов: http://razbor-poletov.com
[67] TestContainers: https://github.com/testcontainers/testcontainers-java
[68] ZeroTurnaround: https://zeroturnaround.com
[69] Image: https://habrastorage.org/webt/ow/cz/dp/owczdpigl2wsz44w_n2hcgjqvn0.jpeg
[70] Amber Project: http://openjdk.java.net/projects/amber/
[71] JEP 303: http://openjdk.java.net/jeps/303
[72] JEP 309: http://openjdk.java.net/jeps/309
[73] JEP 305: http://openjdk.java.net/jeps/305
[74] процитировать: https://twitter.com/iyambay/status/926817590835519490
[75] Image: https://habrastorage.org/webt/02/iu/4y/02iu4y5ufldwhwfcknu29aulphc.jpeg
[76] Milfgard: https://habrahabr.ru/users/milfgard/
[77] Мосигра: https://habrahabr.ru/company/mosigra/
[78] Image: https://habrastorage.org/webt/yc/kd/b-/yckdb-1ddppieqabsape1fze4vw.jpeg
[79] Image: https://habrastorage.org/webt/uv/d5/jw/uvd5jwbsul-n5sqmv8rpngwcbiw.jpeg
[80] Источник: https://habrahabr.ru/post/341666/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.