|
|
Строка 1: |
Строка 1: |
| Конференция [http://www.oracle.com/javaone/ru-ru/index.html JavaOne Russia 2013] проходила 23-24 апреля 2013 года в МВЦ «Крокус Экспо» (ст. м. «Мякинино»). | | Конференция [http://www.oracle.com/javaone/ru-ru/index.html JavaOne Russia 2013] проходила 23-24 апреля 2013 года в МВЦ «Крокус Экспо» (ст. м. «Мякинино»). |
| | | |
− | Далее приведены личные впечатления по организации и посещенным докладам конференции. Доклады оценены по пятибальной шкале. | + | Далее приведены личные впечатления по организации и посещённым докладам конференции. Доклады оценены по пятибальной шкале. |
| | | |
| = Общие впечатления = | | = Общие впечатления = |
Строка 60: |
Строка 60: |
| | | |
| == Тестирование с использованием инструментирования байт-кода == | | == Тестирование с использованием инструментирования байт-кода == |
− | [[Image:j1-2013-vlad-ponomarev.jpg|thumb|150px|right|Владислав Пономарев]] | + | [[Image:j1-2013-vlad-ponomarev.jpg|thumb|150px|right|Владислав Пономарёв]] |
− | ''Владислав Пономарев (IBM)'' | + | ''Владислав Пономарёв (IBM)'' |
| | | |
| {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} | | {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} |
Строка 74: |
Строка 74: |
| '''Познавательный и интересный доклад.''' | | '''Познавательный и интересный доклад.''' |
| | | |
− | == Как мы залезли на облако, все настроили как надо, и теперь едим попкорн == | + | == Как мы залезли на облако, всё настроили как надо, и теперь едим попкорн == |
| [[Image:j1-2013-baruh-sadogursky.jpg|thumb|200px|right|Барух Садогурский]] | | [[Image:j1-2013-baruh-sadogursky.jpg|thumb|200px|right|Барух Садогурский]] |
| ''Барух Садогурский (JFrog)'' | | ''Барух Садогурский (JFrog)'' |
Строка 83: |
Строка 83: |
| | | |
| Барух является евангелистом израильской компании ''JFrog'', основной продукт которой [http://www.jfrog.com/home/v_artifactory_opensource_features Artifactory] — репозиторий бинарных файлов («Binary Repository Manager»). Частный более распространенный случай бинарных файлов на практике — артефакты [http://maven.apache.org Maven] (конкурентами ''Artifactory'' являются, например, использующийся сейчас у нас [http://www.sonatype.org/nexus/ Nexus] и использовавшаяся ранее [http://archiva.apache.org Archiva]). Также Барух интересен как автор конвертера [https://github.com/jbaruch/maven2gradle maven2gradle] (файлов ''Maven'' в файлы ''Gradle''). | | Барух является евангелистом израильской компании ''JFrog'', основной продукт которой [http://www.jfrog.com/home/v_artifactory_opensource_features Artifactory] — репозиторий бинарных файлов («Binary Repository Manager»). Частный более распространенный случай бинарных файлов на практике — артефакты [http://maven.apache.org Maven] (конкурентами ''Artifactory'' являются, например, использующийся сейчас у нас [http://www.sonatype.org/nexus/ Nexus] и использовавшаяся ранее [http://archiva.apache.org Archiva]). Также Барух интересен как автор конвертера [https://github.com/jbaruch/maven2gradle maven2gradle] (файлов ''Maven'' в файлы ''Gradle''). |
− |
| |
− | [https://speakerdeck.com/jbaruch/kak-my-zaliezli-na-oblako-vsio-nastroili-kak-nado-i-tiepier-iedim-popkorn Слайды тут.]
| |
| | | |
| Доклад рассказывал об опыте перевода ''Artifactory'' в амазоновское облако и описывал проблемы, при этом возникшие. Зал был переполнен, Барух адекватно и живо реагировал на вопросы. | | Доклад рассказывал об опыте перевода ''Artifactory'' в амазоновское облако и описывал проблемы, при этом возникшие. Зал был переполнен, Барух адекватно и живо реагировал на вопросы. |
| | | |
− | '''Яркий и красочный доклад (хотя с обилием «чопты росии» на слайдах слегка перегнул).''' | + | Презентацию доклада можно посмотреть [https://speakerdeck.com/jbaruch/kak-my-zaliezli-na-oblako-vsio-nastroili-kak-nado-i-tiepier-iedim-popkorn здесь]. |
| + | |
| + | '''Яркий и красочный доклад (хотя с обилием «чопты роисси» на слайдах слегка перегнул).''' |
| | | |
| == JDK8: Я, лямбда; JDK8: Молот лямбд == | | == JDK8: Я, лямбда; JDK8: Молот лямбд == |
− | [[Image:j1-2013-kuksenko-shipilev.jpg|thumb|150px|right|Сергей Куксенко, Алексей Шипилев]] | + | [[Image:j1-2013-kuksenko-shipilev.jpg|thumb|150px|right|Сергей Куксенко, Алексей Шипилёв]] |
− | ''Сергей Куксенко, Алексей Шипилев (Oracle)'' | + | ''Сергей Куксенко, Алексей Шипилёв (Oracle)'' |
| | | |
| {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} | | {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} |
| | | |
− | Одни из самых интересных докладов на конференции были от Сергея Куксенко и Алексея Шипилева. Доклады следовали один за другим («Я, лямбда» — Cергей Куксенко, «JDK8: Молот лямбд» — Алексей Шипилев). | + | Одни из самых интересных докладов на конференции были от Сергея Куксенко и Алексея Шипилёва. Доклады следовали один за другим («Я, лямбда» — Cергей Куксенко, «JDK8: Молот лямбд» — Алексей Шипилёв). |
| | | |
| Первый доклад был про появляющуюся в ''JDK8'' ''лямбду'' (процитирую доклад — «выражение, описывающее анонимную функцию, результатом исполнения которого является некоторый объект, реализующий требуемый функциональный интерфейс»), второй — про влияние, которое окажет появление лямбды на стандартную библиотеку. | | Первый доклад был про появляющуюся в ''JDK8'' ''лямбду'' (процитирую доклад — «выражение, описывающее анонимную функцию, результатом исполнения которого является некоторый объект, реализующий требуемый функциональный интерфейс»), второй — про влияние, которое окажет появление лямбды на стандартную библиотеку. |
Строка 102: |
Строка 102: |
| Файлы презентаций докладов — [http://shipilev.net/pub/talks/j1-April2013-lambda-I.pdf первый доклад], [http://shipilev.net/pub/talks/j1-April2013-lambda-malleus.pdf второй доклад]. Примеры к докладам на ''GitHub'': [https://github.com/kuksenko/jdk8-lambda-samples первый доклад], [https://github.com/shipilev/jdk8-lambda-samples второй доклад]. | | Файлы презентаций докладов — [http://shipilev.net/pub/talks/j1-April2013-lambda-I.pdf первый доклад], [http://shipilev.net/pub/talks/j1-April2013-lambda-malleus.pdf второй доклад]. Примеры к докладам на ''GitHub'': [https://github.com/kuksenko/jdk8-lambda-samples первый доклад], [https://github.com/shipilev/jdk8-lambda-samples второй доклад]. |
| | | |
− | '''Превосходные доклады. С большим интересом сходил еще на два доклада Алексея Шипилева на следующий день.''' | + | '''Превосходные доклады. С большим интересом сходил еще на два доклада Алексея Шипилёва на следующий день.''' |
| | | |
| = Второй день = | | = Второй день = |
Строка 117: |
Строка 117: |
| * перечислил новые классы, которые вскоре станут доступны (''AtomicDouble, AtomicDoubleArray, LongAdder, DoubleAdder, LongAccumulator, LongAdderTable'' и т.д.). | | * перечислил новые классы, которые вскоре станут доступны (''AtomicDouble, AtomicDoubleArray, LongAdder, DoubleAdder, LongAccumulator, LongAdderTable'' и т.д.). |
| | | |
− | В конце выступления пришел Сергей Куксенко, чтобы помочь с ответами на вопросы. | + | В конце выступления пришёл Сергей Куксенко, чтобы помочь с ответами на вопросы. |
| | | |
| '''Вывод: краткий обзор новых возможностей с пояснениями.''' | | '''Вывод: краткий обзор новых возможностей с пояснениями.''' |
Строка 137: |
Строка 137: |
| | | |
| == (The Art of) (Java) Performance Benchmarking II == | | == (The Art of) (Java) Performance Benchmarking II == |
− | [[Image:j1-2013-alexey-shipilev.jpg|thumb|150px|right|Алексей Шипилев]] | + | [[Image:j1-2013-alexey-shipilev.jpg|thumb|150px|right|Алексей Шипилёв]] |
− | ''Алексей Шипилев (Oracle)'' | + | ''Алексей Шипилёв (Oracle)'' |
| | | |
| {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} | | {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} |
| | | |
− | Сложный, но интересный доклад Алексея Шипилева про измерение производительности (собственно, это является его основной профессиональной специализацией). | + | Сложный, но интересный доклад Алексея Шипилёва про измерение производительности (собственно, это является его основной профессиональной специализацией). |
| | | |
| В качестве инструмента измерения производительности очередной раз был упомянут [http://openjdk.java.net/projects/code-tools/jmh/ JMH]. Последовательно было рассказано от теории тестирования до практики со всем множеством возможных нюансов. | | В качестве инструмента измерения производительности очередной раз был упомянут [http://openjdk.java.net/projects/code-tools/jmh/ JMH]. Последовательно было рассказано от теории тестирования до практики со всем множеством возможных нюансов. |
| | | |
− | '''Доклад стоит того, чтобы еще раз пролистать его [http://shipilev.net/pub/talks/j1-April2013-benchmarking-II.pdf презентацию].''' | + | '''Доклад стоит того, чтобы ещё раз пролистать его [http://shipilev.net/pub/talks/j1-April2013-benchmarking-II.pdf презентацию].''' |
| | | |
| == Type annotations in Java 8. И почему это хорошо == | | == Type annotations in Java 8. И почему это хорошо == |
Строка 169: |
Строка 169: |
| == Пуленепробиваемый параллелизм Java == | | == Пуленепробиваемый параллелизм Java == |
| [[Image:j1-2013-bullet-proof-java-concurrency.jpg|thumb|250px|right|Предупреждающий слайд доклада]] | | [[Image:j1-2013-bullet-proof-java-concurrency.jpg|thumb|250px|right|Предупреждающий слайд доклада]] |
− | ''Алексей Шипилев (Oracle)'' | + | ''Алексей Шипилёв (Oracle)'' |
| | | |
| {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} | | {{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}} |
| | | |
− | Еще один доклад от Алексея Шипилева на этой конференции и в этот день. Своеобразной рекламой доклада (замаскированной под антирекламу) служил второй слайд презентации (см. картинку справа). | + | Еще один доклад от Алексея Шипилёва на этой конференции и в этот день. Своеобразной рекламой доклада (замаскированной под антирекламу) служил второй слайд презентации (см. картинку справа). |
| | | |
− | Рассказано об ошибках (в JVM, JDK, hardware), связанных с ''concurrency'' (многопоточностью, параллелизмом). Изложение было построено в детективном стиле: | + | Рассказано об ошибках (в ''JVM'', ''JDK'', hardware), связанных с ''concurrency'' (многопоточностью, параллелизмом). Изложение было построено в детективном стиле: |
| * дело о неправильных метках; | | * дело о неправильных метках; |
| * дело о бессмертном референте; | | * дело о бессмертном референте; |
Строка 216: |
Строка 216: |
| | | |
| # На конференции было большое количество достойных докладов, которые имелась возможность прослушать. | | # На конференции было большое количество достойных докладов, которые имелась возможность прослушать. |
− | # Хорошая аудитория конференции (владение темой, интересные вопросы из зала). | + | # Подготовленная аудитория конференции (владение темой, интересные вопросы из зала). |
| # По моему мнению, от секций ''Database'' и ''Middleware'' можно было отказаться, сделав конференцию посвященной только ''Java''. | | # По моему мнению, от секций ''Database'' и ''Middleware'' можно было отказаться, сделав конференцию посвященной только ''Java''. |
| # Определенные проблемы в организации конференции (питание, информационное обеспечение). | | # Определенные проблемы в организации конференции (питание, информационное обеспечение). |
| + | # Показатель хорошей конференции — хорошие содержательные отзывы ([http://habrahabr.ru/post/178889/ статья на хабре одного из докладчиков, Никиты Липского,] со взглядом на конференцию «изнутри»). |
| | | |
| + | [[Категория:JavaOne-2013|Белобородов]] |
| {{wl-publish: 2013-05-06 00:04:18 +0400 | DmitryBeloborodov }} | | {{wl-publish: 2013-05-06 00:04:18 +0400 | DmitryBeloborodov }} |
| {{replicate-from-custiswiki-to-lib}} | | {{replicate-from-custiswiki-to-lib}} |
Версия 10:48, 7 мая 2013
Конференция JavaOne Russia 2013 проходила 23-24 апреля 2013 года в МВЦ «Крокус Экспо» (ст. м. «Мякинино»).
Далее приведены личные впечатления по организации и посещённым докладам конференции. Доклады оценены по пятибальной шкале.
Общие впечатления
Что понравилось:
- Достаточное количество интересных докладов, из которых было что выбрать.
- Решена проблема со свободными местами в залах (на предыдущих конференциях не всегда удавалось попасть в залы из-за их переполненности).
- Удобные экраны, слайды на которых видны из любой точки зала.
Что не понравилось:
- Очень большие проблемы с питанием (несмотря на то, что билет на конференцию стоил от 1700 рублей). В первый день закончилась вода для чая/кофе, во второй — еда.
- Отсутствие блокнота и ручки в раздаточных материалах (предусмотрительно взял из дома).
- Невнятный сайт конференции:
- нет общей таблицы докладов по трекам (по вертикали — время, по горизонтали — трек), чтобы можно было заранее спланировать переход из зала в зал. К счастью, листочек с данной табличкой выдали в раздаточных материалах при регистрации;
- странная навигация, например, «Program\Content Catalog» и «Tools\Content Catalog» ведут на одно и то же (список докладов с фильтрами);
- у большинства русскоязычных докладчиков на сайте имя и фамилия латинскими буквами, у англоязычных — русскими (странно это видеть).
|
|
Основной зал (вид на сцену)
|
Основной зал (выход из зала)
|
Посетители конференции (Виктор и Андрей) выбирают доклады
|
|
|
Холл (стойка регистрации)
|
|
|
Первый день
What's New for JavaFX in JDK 8
Jim Weaver (Oracle)
Представители компании Oracle продолжали рекламировать библиотеку JavaFX, ставшую в 7-й версии частью JRE. Докладчик рассказал о нововведениях в JavaFX, которые появятся в JDK 8. Из запомнившихся:
Вывод: можно активно начинать использовать JavaFX.
Тестирование с использованием инструментирования байт-кода
Владислав Пономарёв (IBM)
Рассказывалось про использование инструментирования (Byte Code Instrumentation) — модификации байт-кода во время исполнения (как стандартных классов JDK, так и своих). Подобная потребность возникает при необходимости протестировать
- обработку исключений;
- нехватку ресурсов (частный случай — памяти);
- специфические сценарии (например, сочетание многих сложных условий, что трудно воспроизвести на практике).
Все показанные примеры использовали фреймворк для инструментирования ASM. ASM популярен и используется многими проектами (AspectJ, TopLink, Cobertura и т.д.).
Познавательный и интересный доклад.
Как мы залезли на облако, всё настроили как надо, и теперь едим попкорн
Барух Садогурский (JFrog)
Не так давно слушал выпуск подкаста Разбор полетов (бОльшая часть тем подкаста так или иначе связана с Java), в котором приглашенным гостем был Барух Садогурский. По этой причине в т.ч. было интересно посмотреть на него и послушать его доклад.
Барух является евангелистом израильской компании JFrog, основной продукт которой Artifactory — репозиторий бинарных файлов («Binary Repository Manager»). Частный более распространенный случай бинарных файлов на практике — артефакты Maven (конкурентами Artifactory являются, например, использующийся сейчас у нас Nexus и использовавшаяся ранее Archiva). Также Барух интересен как автор конвертера maven2gradle (файлов Maven в файлы Gradle).
Доклад рассказывал об опыте перевода Artifactory в амазоновское облако и описывал проблемы, при этом возникшие. Зал был переполнен, Барух адекватно и живо реагировал на вопросы.
Презентацию доклада можно посмотреть здесь.
Яркий и красочный доклад (хотя с обилием «чопты роисси» на слайдах слегка перегнул).
JDK8: Я, лямбда; JDK8: Молот лямбд
Сергей Куксенко, Алексей Шипилёв
Сергей Куксенко, Алексей Шипилёв (Oracle)
Одни из самых интересных докладов на конференции были от Сергея Куксенко и Алексея Шипилёва. Доклады следовали один за другим («Я, лямбда» — Cергей Куксенко, «JDK8: Молот лямбд» — Алексей Шипилёв).
Первый доклад был про появляющуюся в JDK8 лямбду (процитирую доклад — «выражение, описывающее анонимную функцию, результатом исполнения которого является некоторый объект, реализующий требуемый функциональный интерфейс»), второй — про влияние, которое окажет появление лямбды на стандартную библиотеку.
Файлы презентаций докладов — первый доклад, второй доклад. Примеры к докладам на GitHub: первый доклад, второй доклад.
Превосходные доклады. С большим интересом сходил еще на два доклада Алексея Шипилёва на следующий день.
Второй день
Обзор нововведений в java.util.concurrent (JSR 166e)
Дмитрий Чуйко (Oracle)
Рассказал про нововведения в concurrency (многопоточности, асинхронном выполнении) в JDK 8.
- сделал экскурс в связанные с многопоточностью классы, начиная с 1998 года;
- кратко упомянул про оракловский инструмент измерения производительности JMH;
- перечислил новые классы, которые вскоре станут доступны (AtomicDouble, AtomicDoubleArray, LongAdder, DoubleAdder, LongAccumulator, LongAdderTable и т.д.).
В конце выступления пришёл Сергей Куксенко, чтобы помочь с ответами на вопросы.
Вывод: краткий обзор новых возможностей с пояснениями.
JavaFX Deployment
Jan Valenta (Oracle)
Еще один доклад о JavaFX, на этот раз тема была достаточна узкая — публикация (deployment) и распространение приложений, написанных с использованием JavaFX.
Показавшееся интересным в докладе:
- подробно описал шаги в подготовке файлов для публикации или распространения в виде дистрибутива (с возможными вариантами при этом);
- упомянул про имеющиеся механизмы визуализации начальной загрузки приложения (onGetSplash callback и т.д.);
- рассказал про имеющуюся возможность создания дистрибутивов в виде т.н. «native bundles» — EXE, MSI, RPM и т.д. (недавняя статья на хабре на эту же тему).
Добротный информативный доклад.
(The Art of) (Java) Performance Benchmarking II
Алексей Шипилёв (Oracle)
Сложный, но интересный доклад Алексея Шипилёва про измерение производительности (собственно, это является его основной профессиональной специализацией).
В качестве инструмента измерения производительности очередной раз был упомянут JMH. Последовательно было рассказано от теории тестирования до практики со всем множеством возможных нюансов.
Доклад стоит того, чтобы ещё раз пролистать его презентацию.
Type annotations in Java 8. И почему это хорошо
Александр Ильин
Александр (Шура) Ильин производит впечатление квалифицированного эксперта-практика (например, вот отчет о проведенном им мастер-классе по тестированию).
Рассказал
Checker Framework позволяет на этапе компиляции обнаруживать (цитата) «null pointer exceptions, unintended side effects, SQL injections, concurrency errors, mistaken equality tests, and other run-time errors», которые обнаруживаются обычно лишь в процессе тестирования. Структурные единицы, реализующие такие проверки, являются плагинами компилятора и в терминах фреймворка называются «checkers».
Доклад для просмотра доступен на YouTube.
Вывод: хорошо практически применимая полезная информация.
Пуленепробиваемый параллелизм Java
Предупреждающий слайд доклада
Алексей Шипилёв (Oracle)
Еще один доклад от Алексея Шипилёва на этой конференции и в этот день. Своеобразной рекламой доклада (замаскированной под антирекламу) служил второй слайд презентации (см. картинку справа).
Рассказано об ошибках (в JVM, JDK, hardware), связанных с concurrency (многопоточностью, параллелизмом). Изложение было построено в детективном стиле:
- дело о неправильных метках;
- дело о бессмертном референте;
- дело о бешеном потоке;
- дело о порванных шортах;
- дело об атомных буферах;
- дело о беге с барьерами;
- и т.д.
Доступна для ознакомления презентация доклада.
Отличный доклад, интересная тема, увлекательное изложение.
Power of Gradle
Евгений Борисов (AlphaCSP)
Доклад представлял из себя краткое введение в набирающий (или уже набравший) популярность инструмент сборки Gradle, который вскоре может заменить наиболее распространенный сейчас Maven.
Автор попытался (почти удачно) в процессе доклада показать путь от написания приложения до настройки его компиляции и сборки (с настройкой зависимостей, написанием тестов и т.д.) Было упомянуто и о существовании написанной Барухом Садогурским утилиты конвертации maven2gradle.
Удовлетворительное введение в Gradle.
Зачем Kotlin, если есть Java 8
Андрей Бреслав (JetBrains)
Как и год назад, доклад про язык программирования Kotlin, разрабатываемый компанией JetBrains, завершал конференцию. Как и прошлый раз презентация была сделана с помощью сервиса Prezi. Из запомнившегося:
- провел сравнение синтаксиса «лямбды» из Java 8 и того же в Kotlin;
- показал различные громоздкие языковые конструкции в той же Java 8 и лаконичность аналогичного в Kotlin;
- на примере Kara Web Framework продемонстрировал возможность использования Kotlin для написания веб-приложений (точнее, показал, как элегантно там реализована работа с CSS).
Вывод: пока информация о Kotlin лишь любопытна, интересна дальнейшая его судьба.
Выводы
- На конференции было большое количество достойных докладов, которые имелась возможность прослушать.
- Подготовленная аудитория конференции (владение темой, интересные вопросы из зала).
- По моему мнению, от секций Database и Middleware можно было отказаться, сделав конференцию посвященной только Java.
- Определенные проблемы в организации конференции (питание, информационное обеспечение).
- Показатель хорошей конференции — хорошие содержательные отзывы (статья на хабре одного из докладчиков, Никиты Липского, со взглядом на конференцию «изнутри»).