Как многие из вас знают, в конце апреля в Москве JUG.ru проведет четвертую по счету конференцию JPoint. Любителей окунуться в океан Java-технологий ждут два увлекательных дня с морем общения и кучей докладов. Месяц назад я начал рассказывать о лучших докладах прошлогодней JPoint. Сегодня пришло время второй части.
Важно понимать, что под лучшими я понимаю доклады, которые оказались наверху нашего рейтинга. После каждой конференции мы собираем feedback с участников, обсчитываем его и получаем много всего интересного. В частности, выборочное среднее по оценкам участников для каждого доклада. Самый важный спецэффект заключается в том, что, как и любой статистический показатель, оно отражает реальность лишь с какой-то точностью. Возникающая ошибка, как правило, больше чем разрыв в оценках между соседними докладами, и поэтому порядок докладов в рейтинге — весьма условен. Как-нибудь я подробнее расскажу про эту простую модель с точки зрения математики, а пока — к черту матстат, давайте займемся джавой.
5 место
Андрей apangin Паньгин, Одноклассники: Лучший отладчик — сделанный своими руками
Средняя оценка: 4.51
По сути, этот доклад — набор рецептов, как можно исследовать свой продакшен. Много JMX, много о том, что JVM рассказывает о себе в Runtime, много про JVMTI и вообще много-много о том, что можно узнать о JVM, спросив про ее состояние из кода, а не из профилировщика или какого-то другого внешнего инструмента.
В докладе очень много живого кода. Всем советую потратить сегодня вечером пару часов, запустить любую Java-программу (да хоть Pet Clinic) у себя на компе или домашнем сервере и полазать по рантайму с помощью методов, описанных Андреем. Поверьте, вас ждет много интересного!
Из минусов — некоторые справедливо отмечают, что Live Demo замедляют доклад, ведь время тратится на написание и запуск кода. С другой стороны, мы давно заметили, что если примеры показывать вживую, то народ лучше запоминает происходящее. Отдельные смельчаки даже пытаются воспроизвести происходящее на сцене в прямом эфире.
4 место
Барух Садогурский, Евгений Борисов — Эпичные Groovy Puzzlers — Месть Скобок
Средняя оценка: 4.58
«Шоу-доклад», как отметил один из участников в своем фидбэке. Барух и Женя делают для нас специальный формат — паззлеры. Суть такая: докладчики играют с залом в извращенную версию игры «кто хочет стать миллионером?». На экране появляется некоторый код (в данном случае, на Groovy) и 4 варианта ответа того, что этот код делает. Соответственно, участники в зале выдвигают версии и пытаются объяснить, что происходит в коде. За правильные ответы докладчики кидают подарки в зал. С непривычки — выглядит весьма необычно.
Этот доклад — продолжение вот этого доклада с Joker 2014. Формату этому уже довольно много лет, о чем и рассказывается в самом начале первой его части.
Посмотрев этот доклад в очередной раз одновременно порадовался за Groovy и одновременно ужаснулся. Бодро, весело, помогает напрячь мозги.
3 место
Алексей Шипилёв, Oracle — Сжимай меня полностью
Средняя оценка: 4.62
Как мы теперь уже знаем, в Java 9 класс java.lang.String ждет много изменений. Одна из основных гипотез, лежащих в основе грядущих изменений, заключается в том, что
- строки в большинстве приложений занимают большую часть памяти
- большинство строк в приложениях по всему миру — ASCII, то есть джавовский UTF-16 для них избыточен
По этому поводу возникла идея — а давайте будем экономить память и хранить строку не в виде char[], а в виде byte[]. Доклад последовательно (и тут надо отдать должное глубине проработки, которую совершил Алексей) подводит нас к некоторым сложностям и граблям, на которые наткнулись разработчики JDK/JVM, пока делали данное изменение со строками. Затронуто много излюбленных Алексеем сюжетов — layout объектов в памяти, тестирование производительности старых и новых вариантов строк, низкоуровневые железячные приколы и даже ассемблерный код. Круто, здорово и довольно сложно. Неподготовленному слушателю происходящее будет совершенно непонятно, но люди, слушавшие предыдущие доклады Алексея, получат настоящий кайф.
2 место
Николай Алименков, XP Injection — Нужен ли нам JMS в мире современных Java-технологий?
Средняя оценка: 4.63
Доклад о границах применения JMS и его месте в современном мире. Технология JMS — довольно старая, еще из девяностых. JMS 1.1, которая используется в большинстве современных продакшенов, была написана аж 15 лет назад.
В докладе разобраны как некоторые фундаментальные проблемы JMS, так и особенности (в основном, неприятные) различных его реализаций. Николай последовательно излагает свою позицию о том, что JMS не нужен. В докладе упоминается целый зоопарк современных технологий — Hazelcast, Erlang, ZooKeeper, Redis, RabbitMQ и Apache Kafka. В общем, любителям распределенных систем посвящается.
1 место
Алексей Шипилёв, Oracle — Катехизис java.lang.String
Средняя оценка: 4.74
Все мы давно воспринимаем класс String как что-то родное и простое. Вот же он же — теплый, ламповый. Однако все не так просто. Это можно было уже понять по докладу Алексея об изменениях String в JDK9, о котором я говорил выше. Но и в текущих версиях Java стринги таят множество сюрпризов.
Во что можно компилировать конкатенацию? Что делать с коллизиями в String.hashCode()? Куда исчезли внутренние поля count и offset, а главное, зачем они исчезли? Чем интернирование строк отличается от дедупликации? Как JVM ускоряет метод equals для длинных строк? В общем, много полезного и неочевидного.
А что на JPoint 2016?
Нас часто ругают, мол, «у вас из года в год одни и те же докладчики». Ну а куда ж девать этих красавцев-то? На мой личный взгляд, то, что лучшие докладчики приезжают к нам из года в год, делает конференцию только сильнее. И я огромной радостью хочу отметить, что все эти парни, многие из которых давно не живут в России, несмотря на собственную загруженность, несмотря на долгие перелеты, несмотря на курс доллара, в конце концов, выступят на JPoint 2016.
Ссылки
Как всегда, в конце поста — реклама и полезняшки. Отдельно хочу обратить внимание на то, что у каждого из вас еще есть возможность стать докладчиком. Считаете, что на JPoint 2016 какая-то важная тема не раскрыта? Пишите в комментариях, а лучше — сделайте доклад на эту тему!
- Видеозаписи всех докладов JPoint 2015;
- Спикеры JPoint 2016 (утвердили 13 из 30)
- Доклады JPoint 2016 (список пополняется)
- последний шанс стать докладчиком
Комментарии (17)
dbelob
28.01.2016 00:50+2Спасибо за обзор докладов TOP-5!
Алексей, предлагали ли слушателям Joker 2015 University Day оценить эти доклады? Есть ли где-то результаты голосования?23derevo
28.01.2016 08:19+2Есть, да. Я тебе в личку скинул. А на хабре я про них напишу в сентябре — ближе к следующему студенческому дню :)
dbelob
28.01.2016 11:00+1Спасибо! Даже есть статистика о количестве посещений, ух…
Честно говоря, совершенно неожиданный результат. Я ожидал, что последние три доклада из десятки, наоборот, будут первыми (собирался и продолжаю собираться посмотреть их в первую очередь).lany
29.01.2016 10:27+1Ты ещё мой посмотреть собирался. Собрался? :D
dbelob
29.01.2016 11:12Конечно. Я бы и так посмотрел его, вне зависимости, от кого я получил бы инвайт :)
Пока успел посмотреть (приведено в порядке просмотра)
- Что же мы измеряем?
- Что должен знать о сетях каждый Java-разработчик?
- Цифровая подпись в Java, Россия vs Эстония
Точно посмотрю How «final» is final? Симониса.
Правда, это всё доклады с Joker 2015 (пост про JPoint 2015).
dbelob
30.01.2016 16:59+1Самого какие доклады на JPoint 2015 и Joker 2015 заинтересовали и какие из них удалось посмотреть очно или в записи? Интересно сравнить предпочтения.
Как-то статус докладчика Joker 2015 повлиял на выбор просмотренных докладов?lany
30.01.2016 17:08+3По JPoint-2015:
Владимир Ситников, NetCracker — Выражаемся регулярно: смотрел в записи, хороший доклад, я ожидал меньшего.
Андрей Паньгин, Одноклассники — Лучший отладчик — сделанный своими руками: смотрел вживую. Это огонь! Андрей крут!
Volker Simonis, SAP — Packed Objects, Object Layout & Value Types — a Survey: всё ещё собираюсь посмотреть
Глеб Смирнов, Plumbr — Тайны — в наших головах, а не в JVM: смотрел вживую. Интересно. Глеб — хороший докладчик, весёлый. Жаль, коротковато у него вышло.
Барух Садогурский — Как писать асинхронные многопоточные HTTP-приложения: начинал смотреть в записи, бросил на полпути.
Никита Сальников-Тарновский, Plumbr — Где моя память, чувак?!: смотрел вживую, в принципе почти всё знал, но сам доклад неплохой.
Дмитрий Чуйко, Oracle — CompletableFuture уже здесь: смотрел вживую. Честно говоря, довольно уныло.
Алексей Шипилёв, Oracle — Сжимай меня полностью: смотрел в записи, тут нечего комментировать, Шипилёв — звезда.
Иван Крылов, Владимир Иванов, Volker Simonis, Никита Липский — Круглый стол. Будущее Java-платформы: был вживую, неплохо поболтали (стол тащемта некруглый был)
Алексей Шипилёв, Oracle — Катехизис java.lang.String: смотрел вживую, хотя до этого видел в записи с предыдущего джокера. Опять нечего комментировать.
Сергей Куксенко, Oracle — Железные счётчики на страже производительности: смотрел в записи, крутой системный доклад. Пожалел, что не смотрел вживую.
Кажется, всё.dbelob
31.01.2016 23:58Из перечисленного не смотрел Владимира Ситникова, Дмитрия Чуйко и круглый стол. Про регулярные выражения, раз рекомендуешь, беру на заметку.
Доклад Сергея Куксенко смотрел на Joker 2014. Можно предположить, конечно, что в этот раз он что-то изменил и дополнил.
Про Баруха позволю себе не согласиться. Мне кажется, я очно или в записи смотрел все его доклады на русском языке (на JavaOne Russia, JPoint, Joker и JUG.ru). Чувствуется, что у человека глубокие знания и ему действительно интересно то, о чём рассказывает (особенно доклады, связанные с Groovy). Т.е., если не смог досмотреть этот доклад, можно посмотреть (в т.ч. очно в апреле) какой-нибудь его Groovy-доклад (т.е. на абсолютно его тему). Кстати, есть относительно свежий доклад (я пока не смотрел) на английском его и Виктора Гамова со SPINGONE2GX The Epic Groovy Puzzlers.
lany
30.01.2016 17:22+2По Joker-2015:
Martin Thompson — Adventures with concurrent programming in Java: A quest for predictable latency // смотрел вживую. Интересно.
Иван Крылов, Azul — Systems Чего ждать от Java 9? // смотрел вживую. Неплохо, но можно лучше. Сильно много про модули было, а в Java 9 много и другого интересного.
Владимир Ситников, NetCracker — Разбор сложных случаев OutOfMemoryError // смотрел в записи. Хороший доклад. Кое-что интересное узнал.
Андрей Паньгин, Одноклассники — Нужен ли нам Unsafe в Java? // смотрел вживую. Весьма интересно, хотя Андрей волновался почему-то.
Виктор Полищук, Infopulse — Legacy: как победить в гонке // смотрел в записи. В принципе весело, но с познавательной точки зрения мало полезного. Как шоу — пойдёт.
Josh Long, Pivotal — The Macro of Microservices // смотрел вживую, не оценил.
Volker Simonis, SAP — How «final» is final? // смотрел в записи, неплохой доклад. Коротковат, но тема раскрыта. Шипилёв на эту тему что-нибудь должен добавить на JPoint-2016, кстати (спойлеры!)
Тагир Валеев — Что же мы измеряем? // я был прекрасен!!!
Никита Липский, Excelsior — Клиентская Java вне браузера: делаем нативные клиенты на Java // смотрел вживую, Никита молодец, интересно и познавательно было.
Dmytro Vyazelenko, Sowatec AG — Using Java Microbenchmark Harness (JMH) in a real world project // смотрел вживую. Более-менее.
Алексей Шипилёв, Oracle — The Lord of the Strings: Two Scours // смотрел вживую, комментировать нечего.
Venkat Subramaniam — Get Past the Syntax, the Real Scare's in the Semantics // смотрел вживую, уржался. Самый крутой из бесполезных докладов.
Nicolas Frankel, Evgeny Mandrikov — Improve Testing Code Quality with Mutation Testing // не смотрел, но пролистал слайды перед конференцией. PITest никогда раньше не использовал, а тут заценил, запускаю для своего проекта иногда. Так что доклад оказался полезным :)
Александр Маторин, Сбербанк-Технологии — Рефакторинг в функциональном стиле // смотрел, неплохой доклад, хотя и не звёздный.
Николай Алименков — Современный взгляд на реализацию классических дизайн-паттернов в Java // смотрел в записи, кое-что полезное вынес, хотя было и много воды.
Ted Neward — Iconoclasm // смотрел вживую. Сильно. Тэд бы отлично смотрелся лидером какой-нибудь секты, к нему бы народ валил толпами.
Тоже вроде всё. Статус докладчика повлиял тем, что я не мог смотреть вживую доклады, которые идут параллельно с моим. Ну и хотелось смежные темы глянуть, чтобы если что не повторяться или вовремя сослаться на других в своём докладе. На Dmytro Vyazelenko отчасти поэтому пошёл.dbelob
01.02.2016 00:34Из перечисленных смотрел примерно половину. Про Unsafe Андрея Паньгина интересно было бы послушать, как дополнение к Unsafe в Java 9: халява кончилась?. How «final» is final? подтвердил моё желание посмотреть.
Тагир Валеев — Что же мы измеряем? // я был прекрасен!!!
Да, соглаcен. Технически весьма впечатляющий доклад, я прямо сейчас даже слайды дополнительно полистал (наличие комментариев под слайдами очень помогает). Синий пони тоже прекрасен :)
Спасибо за перечисление и оценку докладов. Интересно, организаторы предлагают ли оценить докладчикам доклады других докладчиков. Предполагаю, что TOP-10 в этом случае может разительно отличаться.
moscas
«Несмотря на курс доллара»?
23derevo
Надо признать, что привозить спикеров нынче довольно дорого, особенно из Штатов.
moscas
Получается, что через запятую вы перечислили и препятствия для самих спикеров, и препятствия для себя. Это путает :)
23derevo
Из Штатов лететь не только дорого, но и долго. Вите Гамову из Hazelcast лететь из Нью-Йорка — часов 10 прямой рейс. А Баруху Садогурскому лететь с пересадкой из Сан-Франциско. Там вообще часов 18 получается. Это уже сродни подвигу.
sidristij
а потом еще и обратно столько же через сутки =)
23derevo
именно. Поэтому для меня каждый раз большая радость, когда парни соглашаются прилететь.
jbaruch
Куда же мы денемся?! Это же лучшие конференции в году!