<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://lib.custis.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jbaruch</id>
		<title>CustisWiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://lib.custis.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jbaruch"/>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Jbaruch"/>
		<updated>2026-04-28T14:42:21Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%91%D0%BB%D0%BE%D0%B3:%D0%94%D0%BC%D0%B8%D1%82%D1%80%D0%B8%D0%B9_%D0%91%D0%B5%D0%BB%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%B4%D0%BE%D0%B2/%D0%9E%D1%82%D1%87%D0%B5%D1%82_%D0%BF%D0%BE_JavaOne_2013&amp;diff=42578</id>
		<title>Блог:Дмитрий Белобородов/Отчет по JavaOne 2013</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%91%D0%BB%D0%BE%D0%B3:%D0%94%D0%BC%D0%B8%D1%82%D1%80%D0%B8%D0%B9_%D0%91%D0%B5%D0%BB%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%B4%D0%BE%D0%B2/%D0%9E%D1%82%D1%87%D0%B5%D1%82_%D0%BF%D0%BE_JavaOne_2013&amp;diff=42578"/>
				<updated>2013-05-06T12:53:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jbaruch: добавил ссылку на слайды&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Конференция [http://www.oracle.com/javaone/ru-ru/index.html JavaOne Russia 2013] проходила 23-24 апреля 2013 года в МВЦ «Крокус Экспо» (ст. м. «Мякинино»).&lt;br /&gt;
&lt;br /&gt;
Далее приведены личные впечатления по организации и посещенным докладам конференции. Доклады оценены по пятибальной шкале.&lt;br /&gt;
&lt;br /&gt;
= Общие впечатления =&lt;br /&gt;
&lt;br /&gt;
Что '''понравилось''':&lt;br /&gt;
# Достаточное количество интересных докладов, из которых было что выбрать.&lt;br /&gt;
# Решена проблема со свободными местами в залах (на предыдущих конференциях не всегда удавалось попасть в залы из-за их переполненности).&lt;br /&gt;
# Удобные экраны, слайды на которых видны из любой точки зала.&lt;br /&gt;
&lt;br /&gt;
Что '''не понравилось''':&lt;br /&gt;
# Очень большие проблемы с питанием (несмотря на то, что билет на конференцию стоил от 1700 рублей). В первый день закончилась вода для чая/кофе, во второй — еда.&lt;br /&gt;
# Отсутствие блокнота и ручки в раздаточных материалах (предусмотрительно взял из дома).&lt;br /&gt;
# Невнятный [http://www.oracle.com/javaone/ru-ru/index.html сайт конференции]:&lt;br /&gt;
#* нет общей таблицы докладов по трекам (по вертикали — время, по горизонтали — трек), чтобы можно было заранее спланировать переход из зала в зал. К счастью, листочек с данной табличкой выдали в раздаточных материалах при регистрации;&lt;br /&gt;
#* странная навигация, например, «Program\Content Catalog» и «Tools\Content Catalog» ведут на одно и то же (список докладов с фильтрами);&lt;br /&gt;
#* у большинства русскоязычных докладчиков на сайте имя и фамилия латинскими буквами, у англоязычных — русскими (странно это видеть).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
|[[Image:j1-2013-entrance.jpg|thumb|250px|Вход на конференцию]]&lt;br /&gt;
|[[Image:j1-2013-agenda.jpg|thumb|250px|Программа конференции]]&lt;br /&gt;
|[[Image:j1-2013-keynote-hall-1.jpg|thumb|250px|Основной зал (вид на сцену)]]&lt;br /&gt;
|[[Image:j1-2013-keynote-hall-2.jpg|thumb|250px|Основной зал (выход из зала)]]&lt;br /&gt;
|[[Image:j1-2013-visitors.jpg|thumb|250px|Посетители конференции (Виктор и Андрей) выбирают доклады]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
|[[Image:j1-2013-hall-1.jpg|thumb|250px|Холл (общий вид)]]&lt;br /&gt;
|[[Image:j1-2013-hall-2.jpg|thumb|188px|Холл (рекрутеры)]]&lt;br /&gt;
|[[Image:j1-2013-hall-3.jpg|thumb|250px|Холл (стойка регистрации)]]&lt;br /&gt;
|[[Image:j1-2013-hall-4.jpg|thumb|250px|Холл (коридор)]]&lt;br /&gt;
|[[Image:j1-2013-hall-5.jpg|thumb|250px|Холл (игровые автоматы)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Первый день =&lt;br /&gt;
== What's New for JavaFX in JDK 8 ==&lt;br /&gt;
[[Image:j1-2012-javafx-logo.jpg|thumb|200px|right|JavaFX]]&lt;br /&gt;
''Jim Weaver (Oracle)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Представители компании ''Oracle'' продолжали рекламировать библиотеку [http://javafx.com JavaFX], ставшую в 7-й версии частью ''JRE''. Докладчик рассказал о нововведениях в ''JavaFX'', которые появятся в ''JDK 8''. Из запомнившихся:&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Nashorn_%28JavaScript_engine%29 Nashorn JavaScript Engine]&lt;br /&gt;
* [http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/ новая тема в JavaFX — Modena]&lt;br /&gt;
* [http://fxexperience.com/2013/02/javafx-3d-early-access-available/ JavaFX 3D]&lt;br /&gt;
* новые интерфейсные элементы:&lt;br /&gt;
** ''RichText''&lt;br /&gt;
** ''TreeTableView''&lt;br /&gt;
** ''DatePicker''&lt;br /&gt;
* появилось «public API for CSS»&lt;br /&gt;
* усовершенствования в ''WebView'' и т.д.&lt;br /&gt;
&lt;br /&gt;
'''Вывод: можно активно начинать использовать JavaFX.'''&lt;br /&gt;
&lt;br /&gt;
== Тестирование с использованием инструментирования байт-кода ==&lt;br /&gt;
[[Image:j1-2013-vlad-ponomarev.jpg|thumb|150px|right|Владислав Пономарев]]&lt;br /&gt;
''Владислав Пономарев (IBM)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Рассказывалось про использование ''инструментирования'' (''Byte Code Instrumentation'') — модификации байт-кода во время исполнения (как стандартных классов ''JDK'', так и своих). Подобная потребность возникает при необходимости протестировать&lt;br /&gt;
* обработку исключений;&lt;br /&gt;
* нехватку ресурсов (частный случай — памяти);&lt;br /&gt;
* специфические сценарии (например, сочетание многих сложных условий, что трудно воспроизвести на практике).&lt;br /&gt;
&lt;br /&gt;
Все показанные примеры использовали фреймворк для инструментирования [http://asm.ow2.org/ ASM]. ''ASM'' популярен и [http://asm.ow2.org/users.html используется многими проектами] (''AspectJ'', ''TopLink'', ''Cobertura'' и т.д.).&lt;br /&gt;
&lt;br /&gt;
'''Познавательный и интересный доклад.'''&lt;br /&gt;
&lt;br /&gt;
== Как мы залезли на облако, все настроили как надо, и теперь едим попкорн ==&lt;br /&gt;
[[Image:j1-2013-baruh-sadogursky.jpg|thumb|200px|right|Барух Садогурский]]&lt;br /&gt;
''Барух Садогурский (JFrog)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Не так давно слушал выпуск подкаста [http://razbor-poletov.com/ Разбор полетов] (бОльшая часть тем подкаста так или иначе связана с ''Java''), в котором [http://razbor-poletov.com/2012/07/episode-22.html приглашенным гостем был Барух Садогурский]. По этой причине в т.ч. было интересно посмотреть на него и послушать его доклад.&lt;br /&gt;
&lt;br /&gt;
Барух является евангелистом израильской компании ''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'').&lt;br /&gt;
&lt;br /&gt;
[https://speakerdeck.com/jbaruch/kak-my-zaliezli-na-oblako-vsio-nastroili-kak-nado-i-tiepier-iedim-popkorn Слайды тут.]&lt;br /&gt;
&lt;br /&gt;
Доклад рассказывал об опыте перевода ''Artifactory'' в амазоновское облако и описывал проблемы, при этом возникшие. Зал был переполнен, Барух адекватно и живо реагировал на вопросы.&lt;br /&gt;
&lt;br /&gt;
'''Яркий и красочный доклад (хотя с обилием «чопты росии» на слайдах слегка перегнул).'''&lt;br /&gt;
&lt;br /&gt;
== JDK8: Я, лямбда; JDK8: Молот лямбд ==&lt;br /&gt;
[[Image:j1-2013-kuksenko-shipilev.jpg|thumb|150px|right|Сергей Куксенко, Алексей Шипилев]]&lt;br /&gt;
''Сергей Куксенко, Алексей Шипилев (Oracle)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Одни из самых интересных докладов на конференции были от Сергея Куксенко и Алексея Шипилева. Доклады следовали один за другим («Я, лямбда» — Cергей Куксенко, «JDK8: Молот лямбд» — Алексей Шипилев).&lt;br /&gt;
&lt;br /&gt;
Первый доклад был про появляющуюся в ''JDK8'' ''лямбду'' (процитирую доклад — «выражение, описывающее анонимную функцию, результатом исполнения которого является некоторый объект, реализующий требуемый функциональный интерфейс»), второй — про влияние, которое окажет появление лямбды на стандартную библиотеку.&lt;br /&gt;
&lt;br /&gt;
Файлы презентаций докладов — [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 второй доклад].&lt;br /&gt;
&lt;br /&gt;
'''Превосходные доклады. С большим интересом сходил еще на два доклада Алексея Шипилева на следующий день.'''&lt;br /&gt;
&lt;br /&gt;
= Второй день =&lt;br /&gt;
== Обзор нововведений в java.util.concurrent (JSR 166e) ==&lt;br /&gt;
[[Image:j1-2013-dmitry-chuyko.jpg|thumb|150px|right|Дмитрий Чуйко]]&lt;br /&gt;
''Дмитрий Чуйко (Oracle)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Рассказал про нововведения в ''concurrency'' (многопоточности, асинхронном выполнении) в ''JDK 8''.&lt;br /&gt;
&lt;br /&gt;
* сделал экскурс в связанные с многопоточностью классы, начиная с 1998 года;&lt;br /&gt;
* кратко упомянул про оракловский инструмент измерения производительности [http://openjdk.java.net/projects/code-tools/jmh/ JMH];&lt;br /&gt;
* перечислил новые классы, которые вскоре станут доступны (''AtomicDouble, AtomicDoubleArray, LongAdder, DoubleAdder, LongAccumulator, LongAdderTable'' и т.д.).&lt;br /&gt;
&lt;br /&gt;
В конце выступления пришел Сергей Куксенко, чтобы помочь с ответами на вопросы.&lt;br /&gt;
&lt;br /&gt;
'''Вывод: краткий обзор новых возможностей с пояснениями.'''&lt;br /&gt;
&lt;br /&gt;
== JavaFX Deployment ==&lt;br /&gt;
[[Image:j1-2013-jan-valenta.jpg|thumb|150px|right|Jan Valenta]]&lt;br /&gt;
''Jan Valenta (Oracle)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Еще один доклад о ''JavaFX'', на этот раз тема была достаточна узкая — публикация (''deployment'') и распространение приложений, написанных с использованием ''JavaFX''.&lt;br /&gt;
&lt;br /&gt;
Показавшееся интересным в докладе:&lt;br /&gt;
* подробно описал шаги в подготовке файлов для публикации или распространения в виде дистрибутива (с возможными вариантами при этом);&lt;br /&gt;
* упомянул про имеющиеся механизмы визуализации начальной загрузки приложения (''onGetSplash callback'' и т.д.);&lt;br /&gt;
* рассказал про имеющуюся возможность создания дистрибутивов в виде т.н. «native bundles» — EXE, MSI, RPM и т.д. ([http://habrahabr.ru/post/178481/ недавняя статья на хабре на эту же тему]).&lt;br /&gt;
&lt;br /&gt;
'''Добротный информативный доклад.'''&lt;br /&gt;
&lt;br /&gt;
== (The Art of) (Java) Performance Benchmarking II ==&lt;br /&gt;
[[Image:j1-2013-alexey-shipilev.jpg|thumb|150px|right|Алексей Шипилев]]&lt;br /&gt;
''Алексей Шипилев (Oracle)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Сложный, но интересный доклад Алексея Шипилева про измерение производительности (собственно, это является его основной профессиональной специализацией).&lt;br /&gt;
&lt;br /&gt;
В качестве инструмента измерения производительности очередной раз был упомянут [http://openjdk.java.net/projects/code-tools/jmh/ JMH]. Последовательно было рассказано от теории тестирования до практики со всем множеством возможных нюансов.&lt;br /&gt;
&lt;br /&gt;
'''Доклад стоит того, чтобы еще раз пролистать его [http://shipilev.net/pub/talks/j1-April2013-benchmarking-II.pdf презентацию].'''&lt;br /&gt;
&lt;br /&gt;
== Type annotations in Java 8. И почему это хорошо ==&lt;br /&gt;
[[Image:j1-2012-alexander-ilin.jpg|thumb|right|Александр Ильин]]&lt;br /&gt;
''Александр Ильин''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Александр (Шура) Ильин производит впечатление квалифицированного эксперта-практика (например, вот [https://java.net/projects/jemmy отчет о проведенном им мастер-классе по тестированию]).&lt;br /&gt;
&lt;br /&gt;
Рассказал&lt;br /&gt;
* о том, как тема доклада связана с тестированием;&lt;br /&gt;
* о [http://types.cs.washington.edu/jsr308/specification/java-annotation-design.html JSR 308: Annotations on Java Types], поддержка которого появится в ''JDK 8'';&lt;br /&gt;
* о любопытном [http://types.cs.washington.edu/checker-framework/ Checker Framework], добавляющем поддержку ''JSR 308'' и делающем дополнительно много разных интересных вещей.&lt;br /&gt;
&lt;br /&gt;
''Checker Framework'' позволяет на этапе компиляции обнаруживать (цитата) «null pointer exceptions, unintended side effects, SQL injections, concurrency errors, mistaken equality tests, and other run-time errors», которые обнаруживаются обычно лишь в процессе тестирования. Структурные единицы, реализующие такие проверки, являются плагинами компилятора и в терминах фреймворка называются «checkers».&lt;br /&gt;
&lt;br /&gt;
Доклад для просмотра [http://www.youtube.com/watch?v=LUhYR4IhWxM доступен на YouTube].&lt;br /&gt;
&lt;br /&gt;
'''Вывод: хорошо практически применимая полезная информация.'''&lt;br /&gt;
&lt;br /&gt;
== Пуленепробиваемый параллелизм Java ==&lt;br /&gt;
[[Image:j1-2013-bullet-proof-java-concurrency.jpg|thumb|250px|right|Предупреждающий слайд доклада]]&lt;br /&gt;
''Алексей Шипилев (Oracle)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Еще один доклад от Алексея Шипилева на этой конференции и в этот день. Своеобразной рекламой доклада (замаскированной под антирекламу) служил второй слайд презентации (см. картинку справа).&lt;br /&gt;
&lt;br /&gt;
Рассказано об ошибках (в JVM, JDK, hardware), связанных с ''concurrency'' (многопоточностью, параллелизмом). Изложение было построено в детективном стиле:&lt;br /&gt;
* дело о неправильных метках;&lt;br /&gt;
* дело о бессмертном референте;&lt;br /&gt;
* дело о бешеном потоке;&lt;br /&gt;
* дело о порванных шортах;&lt;br /&gt;
* дело об атомных буферах;&lt;br /&gt;
* дело о беге с барьерами;&lt;br /&gt;
* и т.д.&lt;br /&gt;
&lt;br /&gt;
Доступна для ознакомления [http://shipilev.net/pub/talks/j1-April2013-bp-concurrency.pdf презентация доклада].&lt;br /&gt;
&lt;br /&gt;
'''Отличный доклад, интересная тема, увлекательное изложение.'''&lt;br /&gt;
&lt;br /&gt;
== Power of Gradle ==&lt;br /&gt;
[[Image:gradle-logo.png|thumb|right|Gradle]]&lt;br /&gt;
''Евгений Борисов (AlphaCSP)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Доклад представлял из себя краткое введение в набирающий (или уже набравший) популярность инструмент сборки [http://www.gradle.org/ Gradle], который вскоре может заменить наиболее распространенный сейчас [http://maven.apache.org/ Maven].&lt;br /&gt;
&lt;br /&gt;
Автор попытался (почти удачно) в процессе доклада показать путь от написания приложения до настройки его компиляции и сборки (с настройкой зависимостей, написанием тестов и т.д.) Было упомянуто и о существовании написанной Барухом Садогурским утилиты конвертации [https://github.com/jbaruch/maven2gradle maven2gradle].&lt;br /&gt;
&lt;br /&gt;
'''Удовлетворительное введение в Gradle.'''&lt;br /&gt;
&lt;br /&gt;
== Зачем Kotlin, если есть Java 8 ==&lt;br /&gt;
[[Image:j1-2013-andrey-breslav.jpg|thumb|150px|right|Андрей Бреслав]]&lt;br /&gt;
''Андрей Бреслав (JetBrains)''&lt;br /&gt;
&lt;br /&gt;
{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}{{JavaDuke}}&lt;br /&gt;
&lt;br /&gt;
Как и год назад, доклад про язык программирования [http://kotlin.jetbrains.org/ Kotlin], разрабатываемый компанией [http://www.jetbrains.com JetBrains], завершал конференцию. Как и прошлый раз презентация была сделана с помощью сервиса [http://prezi.com Prezi]. Из запомнившегося:&lt;br /&gt;
* провел сравнение синтаксиса «лямбды» из ''Java 8'' и того же в ''Kotlin'';&lt;br /&gt;
* показал различные громоздкие языковые конструкции в той же ''Java 8'' и лаконичность аналогичного в ''Kotlin'';&lt;br /&gt;
* на примере [http://karaframework.com Kara Web Framework] продемонстрировал возможность использования ''Kotlin'' для написания веб-приложений (точнее, показал, как элегантно там реализована работа с ''CSS'').&lt;br /&gt;
&lt;br /&gt;
'''Вывод: пока информация о Kotlin лишь любопытна, интересна дальнейшая его судьба.'''&lt;br /&gt;
&lt;br /&gt;
= Выводы =&lt;br /&gt;
&lt;br /&gt;
# На конференции было большое количество достойных докладов, которые имелась возможность прослушать.&lt;br /&gt;
# Хорошая аудитория конференции (владение темой, интересные вопросы из зала).&lt;br /&gt;
# По моему мнению, от секций ''Database'' и ''Middleware'' можно было отказаться, сделав конференцию посвященной только ''Java''.&lt;br /&gt;
# Определенные проблемы в организации конференции (питание, информационное обеспечение).&lt;br /&gt;
&lt;br /&gt;
{{wl-publish: 2013-05-06 00:04:18 +0400 | DmitryBeloborodov }}&lt;br /&gt;
{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;</summary>
		<author><name>Jbaruch</name></author>	</entry>

	</feed>