Ровно сто лет назад произошло удивительное событие: Первый Сибирский областной съезд собрался, чтобы обсудить территориальную независимость Сибири. Десять долгих октябрьских дней, которые потрясли Сибирь. Тем не менее, съезд закончился вполне здравыми решениями, по которым высшим органом народной власти становились Общесибирские областные съезды. Как вы знаете, всего через неделю в Петрограде произойдет вооруженный переворот, и власть захватят большевики — но это будет уже совсем другая история.
Совсем скоро настанет день, который потрясет Сибирь не меньше: 4 марта 2018 года в Новосибирске будет проведена третья в истории конференция JBreak — единственная сибирская технологическая Java-конференция для опытных разработчиков.
Как известно, у нас заправляют не областные съезды, а Программный комитет. Собранием Программного комитета было принято решение о независимости: в этот раз состав докладов на JBreak должен как можно сильнее отличаться от JPoint.
Что вообще такое JBreak, какие будут доклады, что изменилось — все эти подробности можно узнать под катом.
О конференции
JBreak — единственная сибирская технологическая Java-конференция для опытных разработчиков. Если вы живете в Сибири, то знаете, что это не пустые слова: других больших профильных Java-конференций здесь просто нет.
Когда-то давно мы выбирали, в каком же городе (после Санкт-Петербурга и Москвы) проводить нашу следующую конференцию. Сан-Франциско и Токио отпали сразу же, как стало понятно, что Новосибирску такая конференция гораздо нужней. Ну, и лететь ближе :-)
Доклады, как обычно, будут про самое сочное, хардкорное и нужное: производительность, concurrency, тестирование, распределенные системы и высокие нагрузки в мире Java, а также будущее платформы.
«Визитной карточкой» JBreak (как и всех конференций JUG.ru Group) является комбинация двух факторов:
- Огромное количество действительно хардкорных докладов. Здесь есть все, что угодно, включая доклады о том, как переписать код JVM.
- Наличие дискуссионных зон (сразу после доклада все желающие удаляются со спикером в специальную зону, где можно задавать ему вопросы в течение продолжительного времени). Чем хардкорнее доклад, тем больше вопросов требуют ответа.
Оценить качество докладов с прошедших JBreak можно на нашем YouTube-канале.
Изменения в графике
Первое важное отличие от предыдущего JBreak — в дне проведения. В прошлый раз многие очень просили не проводить конференцию в рабочий день.
К сожалению, в Новосибирске и других регионах культура направления сотрудников на конференции еще не сформировалась. По крайней мере, не так, как это происходит в Москве и Питере. Автор этой статьи — новосибирец, и тоже прочувствовал всю боль, когда тебя не отпускают на важную конференцию просто потому, что сегодня — пятница. Эту проблему мы не смогли победить никак, устоявшаяся культура — не то, что легко меняется за год и несколько разговоров с работодателем.
Итак, ваши желания исполнены: теперь конференция состоится в выходной день.
Изменения в составе докладов
Как известно, JUG.ru Group проводит конференцию JPoint 2018 в Москве. Это одна из крупнейших Java-конференций с количеством участников более тысячи человек.
Конференции JBreak и JPoint традиционно проводятся вместе. Например, в 2017 году JBreak проходил 4 апреля, а JPoint — 7-8 апреля.
Самое простое для спикеров было бы — приехать на обе конференции с одними и теми же докладами. Из предположения, что люди из Новосибирска вряд ли поедут в Москву и обнаружат дубли.
Но это не наш метод. Причин много. Например, это связано с тем, что люди из Новосибирска все-таки летают на JPoint в Москву и наоборот. Участники из разных городов общаются между собой (в том числе используя нашу библиотеку видео на YouTube), и чем больше в этом будет разнообразия, тем лучше.
Поэтому Программным комитетом было принято волевое решение уменьшить пересечения между JBreak и JPoint. На JBreak будут свои собственные доклады.
Точный состав спикеров и докладов в данный момент формируется, но уже известно, что будут присутствовать спикеры не только из России, но и со всего мира (Европа, США, Израиль). Несколько спикеров уже подтверждены, их доклады будут рассмотрены ниже.
Программа
JDK 9, Mission Accomplished: What next for Java?
Simon Ritter, Azul Systems
Саймон — заместитель генерального директора Azul, занимающийся бизнесом в IT, начиная с 1984 года. (Автор этого хабрапоста в том году еще не родился). В 1996 году Саймон начал работать над JDK 1.0 в Sun Microsystems, потом стал евангелистом в Oracle, а сейчас работает в Azul, представляет Azul в JCP и продолжает помогать людям разбираться с Java и другими JVM-технологиями. Он является Java Champion, дважды Java Rockstar по версии JavaOne и так далее и тому подобное.
Его доклад начнется с краткого обзора того, что было включено в Java 9 и как это поможет Java-разработчикам (а возможно — бросит им серьезный вызов). JDK 9, включая Java Platform Module System (JPMS), наконец-то вышел, и с этим что-то нужно делать.
Oracle сделал несколько важных заявлений о будущем JDK и Java EE. Мы узнаем о предполагаемых изменениях в частоте релизов JDK, схеме нумерации и выпуске бинарников под GPL. Также мы рассмотрим модель долгосрочной поддержки (LTS) и что это означает для разработчиков и администраторов.
Наконец, мы заглянем в будущее платформы. Существует множество предложений по улучшению JDK (JEPs) и проектов OpenJDK вроде Valhalla, Amber, Metropolis и Loom. Обсудим, что это такое и какое имеет значение для разработчиков.
Верификация Java-байткода: когда, как, а может отключить?
Никита pjBooms Липский, Excelsior
Никита — один из инициаторов и руководителей проекта Excelsior JET, сертифицированной реализации Java SE, разрабатываемой компанией Excelsior. Работая над проектом с 1997 года, поучаствовал в исследовании и разработке практически всех компонентов продукта от ядра до продуктовых свойств. В частности, является одним из авторов поддержки OSGI на уровне JVM в Excelsior JET, технологии Java Runtime Slim Down (модуляризация Java SE, реализованная в Excelsior JET с 2007 года), обоих верификаторов Java-байткода в Excelsior JET и многого другого.
В этом докладе Никита расскажет о верификаторе байткода. Сегодня Java-разработчики все чаще используют библиотеки для порождения Java-байткода в рантайме для эффективной реализации различных трюков, которые сложно или невозможно выразить на языке Javа. Но если используя язык Java, компилятор javac гарантирует, что на выходе получится корректный Java-байткод, то спускаясь на уровень непосредственно байткода, вам нужно часто самостоятельно следить за его корректностью. Иначе вы будете получать j.l.VerifyError при загрузке порожденных вами классов, потому что JVM строго следит за корректностью байткода, который она загружает, посредством верификатора Java-байткода. Таким образом, порождая байткод, вам часто недостаточно просто знать семантику байткодных инструкций, вам также нужно знать, как работает Java bytecode-верификатор, какой байткод он считает корректным, а какой — нет.
В этом докладе мы разберёмся, какую миссию в JVM несёт верификатор байткода, когда и как он работает, может ли повлиять на производительность вашего приложения и почему опасно его отключать.
Смузи ML вместе со Spark MLlib
Алексей zaleslaw Зиновьев, EPAM
Алексей представляет собой воплощение Харона. В греческой мифологии Харон занимался перевозкой душ умерших через реку Стикс, а Алексей возит из Java в Big Data. Если говорить проще, то он — практикующий тренер в компании EPAM Systems. С Hadoop/Spark и прочей бигдатой дружит с 2012 года, форкается и пуллреквестит с 2014, рассказывает с 2015. Особенно любит текстовые данные и большие графы.
В направлении BigData требуются не только data scientist-ы, тюнящие параметры моделей из пакетов на R/Python, но и джависты, которые способны понять построенные модели, воплотив их на Java/Scala, в том числе при помощи Spark MLlib. С помощью Алексея, мы начнем знакомство с этой самой мощной библиотекой распределенного машинного обучения, заодно обсудив особенности использования стандартных алгоритмов машинного обучения и структур данных в Spark.
ML Pipelines в Одноклассниках
Дмитрий Бугайченко, Mail.ru
Дмитрий закончил Санкт-Петербургский Государственный Университет в 2004 году, там же защитил кандидатскую по формально-логическим методам в 2007. Почти 9 лет проработал в аутсорсинге, не теряя контакта с университетом и научной средой. Анализ больших данных в Одноклассниках стал для Дмитрия уникальным шансом совместить теоретическую подготовку и научный фундамент с разработкой реальных, востребованных продуктов. И этим шансом он с радостью воспользовался, придя туда пять лет назад.
В рамках доклада Дмитрия мы рассмотрим основную архитектуру библиотеки машинного обучения Spark ML, а также особенности ее использования для решения реальных задач с обработкой больших объемов данных. Особое внимание уделим ряду ограничений, усложняющих применение библиотеки, и узнаем о том, какие расширения для стандартных элементов пришлось разработать, чтобы эти ограничения обойти и полноценно раскрыть потенциал массивного распределенного машинного обучения. Работа стандартной библиотеки и ее расширений будет продемонстрирована на примере задачи ранжирования новостной ленты в социальной сети Одноклассники. Доклад будет полезен разработчикам, инженерам данных и аналитикам, использующим методы машинного обучения и платформы распределенной обработки информации.
Effective enterprise testing
Sebastian Daschner
Себастиан работает Java-консультантом, является автором книг и тренером, кроме всего прочего занимающимся программированием с использованием Java (EE). Например, вы можете знать его книгу «Architecting Modern Java EE Applications». Себастиан участвует в JCP и помогает формировать стандарты Java EE, участвуя в группах типа JAX-RS и JSON-P. За все это ему присвоили звания Java Champion, Oracle Developer Champion, JavaOne Rockstar и т.п. Кроме Java, Себастиан занимается технологиями контейнеризации в Linux, например, Docker.
Теперь пара слов о докладе. Большинство разработчиков до сих пор стараются избегать темы тестирования. Несмотря на то, что тестирование имеет большую значимость для работы ПО, разработка и поддержание тестов требуют определенного времени и усилий, особенно когда изменения в существующей функциональности заставляют сценарии тестов адаптироваться. Не делать тесты ПО — это не решение проблемы. Отсюда возникает вопрос: как можно выполнять энтерпрайз-тесты наиболее эффективно и продуктивно?
В данном докладе мы рассмотрим, что необходимо для эффективного, прагматичного и автоматического тестирования Java EE-приложений. Увидим, как сохранять быстрый фидбэк, существенное покрытие и постоянную скорость разработки. Большая часть времени будет посвящена лайв-кодингу тестов разного масштаба с использованием различных технологий. Покажем, как контейнеры и фреймворки оркестрации поддерживают эффективное энтерпрайз-тестирование. И в особенности сфокусируемся на разработке поддерживаемого и высококачественного кода тестов, требующего владения основами мастерского написания ПО.
Call For Papers
Если вы считаете, что люди, перечисленные выше, недостаточно хороши, и вы можете сделать доклад лучше — подавайте заявку, Call For Papers открыт!
Впрочем, есть и другой сценарий: если у вас есть интересный продакшн, и вы хотите выступить на одной сцене с ребятами из Oracle, Pivotal и JetBrains — тоже подавайте доклад. Важно понимать, что, если вы сомневаетесь или думаете, что вам нечего рассказать, лучше подайте заявку и посоветуйтесь с нашим Программным комитетом, они оценят, посмотрят и расскажут. На самом деле очень часто то, что вам кажется тривиальным и рутинным, для других может оказаться открытием или best practice. Так что не стесняйтесь!
Время подготовиться есть — наш Программный комитет поможет сделать из вашей идеи и ваших наработок отменный доклад: посоветует, каких деталей добавить, где убрать лишнее, как презентацию довести до совершенства и, конечно, оценит вас на 1-2 тренировках. Мы лично видели несколько примеров, когда докладчик, совершенно сырой и неготовый, за пару месяцев работы с нашим Программным комитетом готовил и полировал доклад так, что потом входил в топ конференции.
Дискуссионные зоны
Наверняка вам знакомо чувство, когда вы поднимаете руку, чтобы задать вопрос, а ведущий вдруг объявляет: «Осталось время для одного вопроса», — и конечно, выбор падает не на вас, а в перерыве спикер скрывается за дверьми спикерских комнат.
Если за прошедший год вы хоть раз были у нас на конференциях, то вы знаете о том, что у нас так не бывает. Каждый доклад сопровождается дискуссионной зоной. От этого формата в восторге все: и участники, и докладчики — можно спокойно задать конкретные вопросы в специально отведенном месте, у спикера есть возможность конструктивно и обстоятельно ответить на любой вопрос, каким бы узким он ни был, не думая о тайминге или о том, интересно ли это все слушателям.
Именно дискуссионные зоны отвечают на вопрос «зачем ходить на конференции, когда можно и в интернете все узнать». Все просто: чтобы лично задать ваш конкретный вопрос. Что ж, на JBreak 2018 для этого созданы все условия: в длительных перерывах трек-оунеры приведут спикера в выделенное пространство с доской для иллюстраций, сидячими местами и возможностью схватить чашку кофе. Теперь ни один вопрос не утонет в тайминге.
Online-трансляция
Впервые в Новосибирске появилась возможность участвовать в онлайн-трансляции. Да, на обеих предыдущих JBreak было обязательно вживую оказаться в Новосибирске, в здании Технопарка или Экспоцентра (в разные годы — по-разному).
Теперь все доклады конференции можно смотреть онлайн, купив соответствующий билет. Впрочем, у наших трансляций есть пара фишек, о которых стоит рассказать:
- Видео в 1440р — дополнительное пространство используется для одновременного отображения спикера и FullHD слайдов (или экрана ноутбука для live coding) на одном экране;
- Возможность смотреть доклады из любого зала, у вас столько же возможностей, что и у участников, приехавших лично!
- К тому же, если у вас возникнет вопрос, вы сможете задать его докладчику через Telegram-чат конференции и сразу же получить на него ответ;
- Улучшенное качество звука, серьезно переработана система звукозаписи;
- В перерывах между докладами, когда спикеры и участники на площадке удаляются в дискуссионные зоны, зрителям онлайн-трансляции мы показываем репортажи и интервью со спикерами и спонсорами от @phillennium и @olegchir. Эти ребята знают свое дело, можете убедиться сами на примере Joker 2017;
- Решено много мелких технических проблем, которые большинство даже не заметило, но они там были. В целом, ощущение от просмотра трансляции должно быть лучше.
Купить билеты
Регистрация открыта, сейчас действуют ранние билеты. Если вы уже были на JBreak и знаете, что это такое — смело покупайте билет! А если не уверены, подождите более высоких цен и окончательной программы. Или посмотрите наш двухминутный ролик и попробуйте понять, хотите ли вы окунуться в эту атмосферу: