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

Конференция Joker 2017: удивительные истории

Дополнение к обзору с подведением итогов [1] конференции Joker [2], проходившей в Санкт-Петербурге 3-4 ноября 2017 года.

На какие темы какие доклады были на конференции, кто из спикеров принял участие, что было интересного, чем отличался этот год от предыдущих — обо всём можно прочитать дальше.

Конференция Joker 2017: удивительные истории - 1 [3]

В названии предыдущего обзора [1] было обыграно наименование фильма [4] Роберта Земекиса, поэтому в названии этой статьи интересным показалось провести аналогии с его следующим фильмом (Удивительные истории [5] или Amazing Stories [6]) и прошедшей конференцией.

Проект Удивительные истории [5] является серией фильмов по идее и при продюсерстве Стивена Спилберга (команда JUG.ru [7] с Алексеем Фёдоровым во главе). Каждый из фильмов серии снят одним из известных режиссёров — самим Спилбергом [8], Мэттью Роббинсом [9], Майклом Муром [10], Робертом Земекисом [11] и другими (спикеры Алексей Шипилёв, Барух Садогурский, Евгений Борисов, Тагир Валеев и т.п.).

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

Подготовка конференции

В подготовку конференции командой JUG.ru Group [12] было вложено много сил и потрачено много времени. В ходе подготовки на Хабрахабре была опубликована серия статей:

Второй год подряд конференция проводилась в конгрессно-выставочном центре Экспофорум [23], что вызвано всё увеличивающимся числом участников.

Пустой зал, ждущий докладчиков и участников перед началом конференции. Холл в перерывах между докладами. Стенды спонсоров (Red Hat).

Конференция Joker 2017: удивительные истории - 2 [24]

Ещё спонсоры — SEMrush, JetBrains и Альфа-Банк.

Конференция Joker 2017: удивительные истории - 3 [25]

Как и ранее, кроме залов со спикерами, можно было встретиться в дискуссионных зонах. Кроме того, у докладчиков и представителей компаний-спонсоров брались интервью Олегом olegchir [26] Чирухиным и Евгением phillennium [27] Трифоновым. Интервью могли видеть зрители онлайн-трансляции конференции в перерывах между докладами.

Открытие конференции

Андрей Дмитриев и Алексей Фёдоров открывают конференцию. Заполненный зал во время открытия.

Конференция Joker 2017: удивительные истории - 4 [28]

Доклады первого дня

Очень насыщенная программа конференции включала четыре трека с докладами, из которых можно было выбрать любой. Доклады параллельных треков доступны в записи и могут быть просмотрены участниками конференции в любое удобное время.

Ниже представлен краткий обзор примерно лишь четверти всех докладов.

Java 9: the good parts (not modules)
Cay Horstmann, San Jose State University

Конференция Joker 2017: удивительные истории - 5 [29]

Кей Хорстманн является одним из известнейших авторов в мире Java, написавшим множество книг [30]. Самая известная его книга — двухтомник Core Java (раз [31], два [32] десятого издания на английском и раз [33], два [34] оно же на русском языке). Даже просто посмотреть на столь выдающуюся личность было интересно.

В докладе рассказывалось о новых возможностях Java 9, не относящихся к модульности. Кроме более широко известных (удобные методы для конструирования коллекций, JShell, улучшения в Stream API), заинтересовали и прочие упомянутые возможности (например, новые методы I/O и регулярных выражений, получение информации о процессах операционной системы, файлы текстовых ресурсов в UTF-8).

Java Puzzlers NG S03 — Откуда вы все лезете-то?!
Тагир Валеев, JetBrains и Барух Садогурский, JFrog

Конференция Joker 2017: удивительные истории - 6 [35]

Был представлен третий сезон Java Puzzlers NG как продолжение второго, который был показан полгода назад на конференции JPoint 2017 [36]. Тагир и Барух отлично дополняли друг друга в докладе такого типа.

Ввёл в смятение при просмотре приём, опробованный в докладах этой серии первый раз — правильным из четырёх ответов сначала объявлялся вовсе неправильный! Барух вполне насладился полученным эффектом и даже выслушал объяснение неправильного ответа (если не ошибаюсь, у Евгения Мандрикова).

Java и GPU: где мы сейчас?
Дмитрий Александров, T-Systems

Конференция Joker 2017: удивительные истории - 7 [37]

Прекрасный обзор современного положения дел по возможностям использования GPU из Java. После интереснейшего экскурса в историю развития вычислений на графических процессорах последовало описание актуальных технологий (CUDA, OpenCL) и библиотек (вплоть до Aparapi [38]).

Полезная хорошо изложенная информация. Докладчик отлично владеет темой, способен интересно изложить материал и, что немаловажно, полно и чётко ответить на вопросы слушателей.

Модули Java 9. Почему не OSGi?
Никита Липский, Excelsior LLC

Конференция Joker 2017: удивительные истории - 8 [39]

В мае этого года Никита в ходе тура выступлений на конференциях выступал на встрече jug.msk.ru [40]. На следующий день было запланировано его выступление на Oracle Code 2017 Moscow [41] с более ранним вариантом этого доклада. Было интересно послушать, наконец, этот доклад и на Joker.

Весьма глубокое любопытное исследование (с уместным цитированием Хармса и Толстого), почему же спецификация OSGi [42] не была использована для модульности в Java 9 и был спрооектирован Jigsaw.

Впечатлило интервью Никиты, взятое Евгением Трифоновым во второй день конференции (фото можно посмотреть ниже). Информация об истории Excelsior JET [43] была ещё дополнена в ходе интересного рассказа.

Текстовый редактор — это вам не высшая математика, тут думать надо
Алексей Кудрявцев, JetBrains

Конференция Joker 2017: удивительные истории - 9 [44]

Занимательный рассказ о внутреннем устройстве редактора Intellij IDEA. Используемые подходы, структуры данных и алгоритмы. Сравнение с другими известными редакторами. Объяснение причин принятых архитектурных решений, их преимущества и недостатки.

Shenandoah: сборщик мусора, который смог (часть 2)
Алексей Шипилёв, Red Hat

Конференция Joker 2017: удивительные истории - 10 [45]

Вторая часть повествования о сборщике мусора Shenandoah [46]. Первая часть была представлена на конференции JPoint 2017, его видео доступно здесь [47].

Доклад продолжал знакомить с особенностями технической реализации Shenandoah, акцентируя внимание слушателей более детально на проблемах, которые встают перед сборщиком мусора с низкими паузами.

Большая притягательность и популярность докладов Алексея, несмотря на их высокую техническую сложность, очередной раз вызвала искреннее восхищение.

Java 8: Хороший, плохой, злой
Николай Алименков, XP Injection

Конференция Joker 2017: удивительные истории - 11 [48]

Доклад Николая был завершающим в первый день конференции. Несмотря на недавний выход Java 9, тема правильности использования множества возможностей Java 8 всё ещё актуальна.

Показанный в ходе доклада код можно посмотреть на GitHub [49]. Просмотр доклада был полезен, приведённые примеры интересны, переписка с Тагиром lany [50] Валеевым даже забавна [51].

Интервью первого дня

Смотревшие онлайн-трансляцию в перерывах между докладами имели счастливую возможность видеть интервью, которые брали Олег и Евгений. Интервьюируемыми были участники программного комитета, спикеры и представители компаний-спонсоров.

Например, представителем первой группы (участник программного комитета) является Владимир Ситников. Примерами спикеров — Нитсан Вакарт и Тагир Валеев. Представителем параллельной вселенной .NET — Андрей DreamWalker [52] Акиньшин (спикер другой конференции, проводимой JUG.ruDotNext 2017 [53]).

Конференция Joker 2017: удивительные истории - 12 [54]

Конференция Joker 2017: удивительные истории - 13 [55]

Доклады второго дня

Доклады второго дня были не менее интересными, чем доклады дня первого.

Boot yourself, Spring is coming
Кирилл Толкачёв, Альфа-Лаборатория и Евгений Борисов, Naya Technologies

Конференция Joker 2017: удивительные истории - 14 [56]

Спикерский тандем Кирилла с Евгением уже отлично ранее себя зарекомендовал. На этот раз в их исполнении был доклад о Spring Boot [57], состоявший из двух частей. Первая и вторая часть были разделены получасовым перерывом.

Докладчики с огромной скоростью доносили информацию до слушателей, показывая слайды попеременно с кодом. Зрителям действие нравилось — на обоих частях доклада зал был полон. Одобрительный отзыв [58] о докладе другого спикера конференции не заставил себя долго ждать.

Amazon Alexa vs Google Home: Большая битва голосовых интерфейсов на Java
Барух Садогурский, JFrog и Леонид Игольник, CA Technologies

Конференция Joker 2017: удивительные истории - 15 [59]

Доклад воспринимался как продолжение серии, начатой Барухом и Леонидом на конференции DevOops [60] докладами этим [61] и этим [62].

Доклад был стилизован под боксёрский поединок (приглядевшись, можно заметить на спикерах белые халаты), рефери в котором выступил Антон Архипов. В нескольких раундах сравнивались Amazon Alexa (Леонид) и Google Home (Барух). Отличный доклад, много положительных эмоций от него и у зрителей, и у самих докладчиков, я думаю.

Дизайн реактивной системы на Spring 5/Reactor
Максим Гореликов, Альфа-Лаборатория

Конференция Joker 2017: удивительные истории - 16 [63]

Максим рассказал о реактивных возможностях (интеграции Project Reactor) в Spring 5. Для примера была взято несколько взаимосвязанных синхронных сервисов и пошагово проводилось улучшение данной системы с помощью реактивных подходов.

Эксперименты, облечённые в код, можно посмотреть на GitHub [64].

TestContainers — интеграционное тестирование с Docker
Сергей Егоров, Uvita

Конференция Joker 2017: удивительные истории - 17 [65]

Доклад анонсировался Сергеем ещё до конференции в одном из выпусков подкаста Разбор полётов [66]. Заинтриговавшись анонсом, с интересом послушал и посмотрел.

Целью библиотеки TestContainers [67] является наибольшее приближение во время выполнения тестов к промышленной среде, в которой приложение будет работать. Библиотека активно используется рядом известных Java-проектов и компаний (в том числе и в ZeroTurnaround [68], где Сергей недавно работал и где как раз начал заниматься TestContainers).

Проект Amber: вести с полей
Тагир Валеев, JetBrains

Конференция Joker 2017: удивительные истории - 18 [69]

Персональным докладом Тагира на конференции (кроме парного доклада с Барухом) стал рассказ об Amber Project [70] — собрании разных перспективных (или не очень) возможностей, которые могут появиться в следующих выпусках Java.

Кроме трёх JEP, перечисленных на странице проекта [70], были упомянуты JEP 303 [71], JEP 309 [72] и JEP 305 [73]. Слушатели доклада не преминули Тагира процитировать [74].

Как мы расширяли бутылочное горлышко разработки
Сергей Абдульманов, Мосигра

Конференция Joker 2017: удивительные истории - 19 [75]

Завершающим конференцию стал доклад Сергея Milfgard [76] Абдульманова — звезды Хабрахабра, пишущего отличные статьи и с 2010 года работающего в компании Мосигра [77].

Рассказывалось о трудном пути масштабирования при организации процесса выпуска настольных игр. На каждом из этапов напрашивались аналогии с выпуском программного обеспечения, что и, вероятно, в качестве одной из целей доклада преследовалось.

Интервью второго дня

Сергей Егоров, Кирилл Токачёв, Барух Садогурский и Леонид Игольник, Никита Липский, Алексей Шипилёв в качестве интервьюируемых. Алексей Фёдоров и Андрей Дмитриев подводят итоги конференции в конце второго дня.

Конференция Joker 2017: удивительные истории - 20 [78]

Конференция Joker 2017: удивительные истории - 21 [79]

Закрытие конференции

Алексей Фёдоров закрывает конференцию. Организаторы, волонтёры и спикеры конференции на традиционных завершающих общих фотографиях.

Автор: Дмитрий Белобородов

Источник [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