Персональные инструменты
 

Отчет по JavaOne 2013

Материал из CustisWiki

Перейти к: навигация, поиск
м (Выводы)
м (Выводы)
 
(нет различий)

Текущая версия на 15:24, 30 мая 2013

Конференция JavaOne Russia 2013 проходила 23-24 апреля 2013 года в МВЦ «Крокус Экспо» (ст. м. «Мякинино»).

Далее приведены личные впечатления по организации и посещённым докладам конференции. Доклады оценены по пятибальной шкале.

Общие впечатления

Что понравилось:

  1. Достаточное количество интересных докладов, из которых было что выбрать.
  2. Решена проблема со свободными местами в залах (на предыдущих конференциях не всегда удавалось попасть в залы из-за их переполненности).
  3. Удобные экраны, слайды на которых видны из любой точки зала.

Что не понравилось:

  1. Очень большие проблемы с питанием (несмотря на то, что билет на конференцию стоил от 1700 рублей). В первый день закончилась вода для чая/кофе, во второй — еда.
  2. Отсутствие блокнота и ручки в раздаточных материалах (предусмотрительно взял из дома).
  3. Невнятный сайт конференции:
    • нет общей таблицы докладов по трекам (по вертикали — время, по горизонтали — трек), чтобы можно было заранее спланировать переход из зала в зал. К счастью, листочек с данной табличкой выдали в раздаточных материалах при регистрации;
    • странная навигация, например, «Program\Content Catalog» и «Tools\Content Catalog» ведут на одно и то же (список докладов с фильтрами);
    • у большинства русскоязычных докладчиков на сайте имя и фамилия латинскими буквами, у англоязычных — русскими (странно это видеть).


Вход на конференцию
Программа конференции
Основной зал (вид на сцену)
Основной зал (выход из зала)
Посетители конференции (Виктор и Андрей) выбирают доклады
Холл (общий вид)
Холл (рекрутеры)
Холл (стойка регистрации)
Холл (коридор)
Холл (игровые автоматы)

Первый день

What's New for JavaFX in JDK 8

JavaFX

Jim Weaver (Oracle)

Javaduke.pngJavaduke.pngJavaduke.png

Представители компании Oracle продолжали рекламировать библиотеку JavaFX, ставшую в 7-й версии частью JRE. Докладчик рассказал о нововведениях в JavaFX, которые появятся в JDK 8. Из запомнившихся:

Вывод: можно активно начинать использовать JavaFX.

Тестирование с использованием инструментирования байт-кода

Владислав Пономарёв

Владислав Пономарёв (IBM)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Рассказывалось про использование инструментирования (Byte Code Instrumentation) — модификации байт-кода во время исполнения (как стандартных классов JDK, так и своих). Подобная потребность возникает при необходимости протестировать

  • обработку исключений;
  • нехватку ресурсов (частный случай — памяти);
  • специфические сценарии (например, сочетание многих сложных условий, что трудно воспроизвести на практике).

Все показанные примеры использовали фреймворк для инструментирования ASM. ASM популярен и используется многими проектами (AspectJ, TopLink, Cobertura и т.д.).

Познавательный и интересный доклад.

Как мы залезли на облако, всё настроили как надо, и теперь едим попкорн

Барух Садогурский

Барух Садогурский (JFrog)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Не так давно слушал выпуск подкаста Разбор полетов (бОльшая часть тем подкаста так или иначе связана с Java), в котором приглашенным гостем был Барух Садогурский. По этой причине в т.ч. было интересно посмотреть на него и послушать его доклад.

Барух является евангелистом израильской компании JFrog, основной продукт которой Artifactory — репозиторий бинарных файлов («Binary Repository Manager»). Частный более распространенный случай бинарных файлов на практике — артефакты Maven (конкурентами Artifactory являются, например, использующийся сейчас у нас Nexus и использовавшаяся ранее Archiva). Также Барух интересен как автор конвертера maven2gradle (файлов Maven в файлы Gradle).

Доклад рассказывал об опыте перевода Artifactory в амазоновское облако и описывал проблемы, при этом возникшие. Зал был переполнен, Барух адекватно и живо реагировал на вопросы.

Презентацию доклада можно посмотреть здесь.

Яркий и красочный доклад (хотя с обилием «чопты роисси» на слайдах слегка перегнул).

JDK8: Я, лямбда; JDK8: Молот лямбд

Сергей Куксенко, Алексей Шипилёв

Сергей Куксенко, Алексей Шипилёв (Oracle)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Одни из самых интересных докладов на конференции были от Сергея Куксенко и Алексея Шипилёва. Доклады следовали один за другим («Я, лямбда» — Cергей Куксенко, «JDK8: Молот лямбд» — Алексей Шипилёв).

Первый доклад был про появляющуюся в JDK8 лямбду (процитирую доклад — «выражение, описывающее анонимную функцию, результатом исполнения которого является некоторый объект, реализующий требуемый функциональный интерфейс»), второй — про влияние, которое окажет появление лямбды на стандартную библиотеку.

Файлы презентаций докладов — первый доклад, второй доклад. Примеры к докладам на GitHub: первый доклад, второй доклад.

Превосходные доклады. С большим интересом сходил еще на два доклада Алексея Шипилёва на следующий день.

Второй день

Обзор нововведений в java.util.concurrent (JSR 166e)

Дмитрий Чуйко

Дмитрий Чуйко (Oracle)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Рассказал про нововведения в concurrency (многопоточности, асинхронном выполнении) в JDK 8.

  • сделал экскурс в связанные с многопоточностью классы, начиная с 1998 года;
  • кратко упомянул про оракловский инструмент измерения производительности JMH;
  • перечислил новые классы, которые вскоре станут доступны (AtomicDouble, AtomicDoubleArray, LongAdder, DoubleAdder, LongAccumulator, LongAdderTable и т.д.).

В конце выступления пришёл Сергей Куксенко, чтобы помочь с ответами на вопросы.

Вывод: краткий обзор новых возможностей с пояснениями.

JavaFX Deployment

Jan Valenta

Jan Valenta (Oracle)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Еще один доклад о JavaFX, на этот раз тема была достаточна узкая — публикация (deployment) и распространение приложений, написанных с использованием JavaFX.

Показавшееся интересным в докладе:

  • подробно описал шаги в подготовке файлов для публикации или распространения в виде дистрибутива (с возможными вариантами при этом);
  • упомянул про имеющиеся механизмы визуализации начальной загрузки приложения (onGetSplash callback и т.д.);
  • рассказал про имеющуюся возможность создания дистрибутивов в виде т.н. «native bundles» — EXE, MSI, RPM и т.д. (недавняя статья на хабре на эту же тему).

Добротный информативный доклад.

(The Art of) (Java) Performance Benchmarking II

Алексей Шипилёв

Алексей Шипилёв (Oracle)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Сложный, но интересный доклад Алексея Шипилёва про измерение производительности (собственно, это является его основной профессиональной специализацией).

В качестве инструмента измерения производительности очередной раз был упомянут JMH. Последовательно было рассказано от теории тестирования до практики со всем множеством возможных нюансов.

Доклад стоит того, чтобы ещё раз пролистать его презентацию.

Type annotations in Java 8. И почему это хорошо

Александр Ильин

Александр Ильин

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Александр (Шура) Ильин производит впечатление квалифицированного эксперта-практика (например, вот отчет о проведенном им мастер-классе по тестированию).

Рассказал

  • о том, как тема доклада связана с тестированием;
  • о JSR 308: Annotations on Java Types, поддержка которого появится в JDK 8;
  • о любопытном Checker Framework, добавляющем поддержку JSR 308 и делающем дополнительно много разных интересных вещей.

Checker Framework позволяет на этапе компиляции обнаруживать (цитата) «null pointer exceptions, unintended side effects, SQL injections, concurrency errors, mistaken equality tests, and other run-time errors», которые обнаруживаются обычно лишь в процессе тестирования. Структурные единицы, реализующие такие проверки, являются плагинами компилятора и в терминах фреймворка называются «checkers».

Доклад для просмотра доступен на YouTube.

Вывод: хорошо практически применимая полезная информация.

Пуленепробиваемый параллелизм Java

Предупреждающий слайд доклада

Алексей Шипилёв (Oracle)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Еще один доклад от Алексея Шипилёва на этой конференции и в этот день. Своеобразной рекламой доклада (замаскированной под антирекламу) служил второй слайд презентации (см. картинку справа).

Рассказано об ошибках (в JVM, JDK, hardware), связанных с concurrency (многопоточностью, параллелизмом). Изложение было построено в детективном стиле:

  • дело о неправильных метках;
  • дело о бессмертном референте;
  • дело о бешеном потоке;
  • дело о порванных шортах;
  • дело об атомных буферах;
  • дело о беге с барьерами;
  • и т.д.

Доступна для ознакомления презентация доклада.

Отличный доклад, интересная тема, увлекательное изложение.

Power of Gradle

Gradle

Евгений Борисов (AlphaCSP)

Javaduke.pngJavaduke.pngJavaduke.png

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

Автор попытался (почти удачно) в процессе доклада показать путь от написания приложения до настройки его компиляции и сборки (с настройкой зависимостей, написанием тестов и т.д.) Было упомянуто и о существовании написанной Барухом Садогурским утилиты конвертации maven2gradle.

Удовлетворительное введение в Gradle.

Зачем Kotlin, если есть Java 8

Андрей Бреслав

Андрей Бреслав (JetBrains)

Javaduke.pngJavaduke.pngJavaduke.pngJavaduke.pngJavaduke.png

Как и год назад, доклад про язык программирования Kotlin, разрабатываемый компанией JetBrains, завершал конференцию. Как и прошлый раз презентация была сделана с помощью сервиса Prezi. Из запомнившегося:

  • провел сравнение синтаксиса «лямбды» из Java 8 и того же в Kotlin;
  • показал различные громоздкие языковые конструкции в той же Java 8 и лаконичность аналогичного в Kotlin;
  • на примере Kara Web Framework продемонстрировал возможность использования Kotlin для написания веб-приложений (точнее, показал, как элегантно там реализована работа с CSS).

Вывод: пока информация о Kotlin лишь любопытна, интересна дальнейшая его судьба.

Выводы

  1. На конференции было большое количество достойных докладов, которые имелась возможность прослушать.
  2. Подготовленная аудитория конференции (владение темой, интересные вопросы из зала).
  3. По моему мнению, от секций Database и Middleware можно было отказаться, сделав конференцию посвященной только Java.
  4. Определенные проблемы в организации конференции (питание, информационное обеспечение).
  5. Показатель хорошей конференции — хорошие содержательные отзывы (статья на хабре одного из докладчиков, Никиты Липского, со взглядом на конференцию «изнутри»).

Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».

Репликация: База Знаний «Заказных Информ Систем» → «Блог:Дмитрий Белобородов/Отчет по JavaOne 2013»