Круг замкнулся. Ровно год назад мы провели открытую трансляцию Joker 2016 для всех тех, у кого не было возможности зарегистрироваться. С тех пор мы провели более десятка трансляций с конференций по .NET, JavaScript, DevOps, мобильным технологиям, тестированию и Java, само собой.
Что стало лучше за год? Мы отработали технологию, пофиксили пару уязвимостей, начали транслировать через YouTube (а не через кастомный интерфейс), научились задавать вопросы от участников трансляции, забанили добрую сотню троллей, научились проводить интервью в перерывах без задержек и проволочек, начали делать трансляцию в 1440р… наверное, есть что-то еще.
Собственно, уже совсем скоро вы сможете увидеть, что у нас получилось — 3 ноября в 9:30 утра мы начнем двухдневную бесплатную трансляцию главного трека Joker 2017. Трансляция будет идти с одним перерывом «на сон». А еще она будет в разрешении 1440р, так что в кои-то веки вам понадобятся ваши крутые мониторы.
В программу вошли доклады Cay Horstmann, Алексея Шипилёва, Баруха jbaruch Садогурского, Тагира lany Валеева, Николая xpinjection Алименкова, Евгения EvgenyBorisov Борисова, Сергея Milfgard Абдульманова и еще кое-кого.
Интересно? Давайте под кат.
Обратите внимание, ссылки на разные дни трансляции разные, так что сохраните обе или добавляйте этот пост в избранное, чтобы не потерять.
День первый, 3 ноября
Java 9: the good parts (not modules)
Cay Horstmann, San Jose State University
Открывающий кейноут будет посвящен тому, чего мы все так долго ждали — Java 9. Она уже с нами, мы все ее уже пощупали, вот только вопрос, все ли вкусности вы попробовали? Доклад посвящен обзору всего хорошего, что есть в новой Java (список я переводить не стал, потому что на английском, мне кажется, все выглядит сильно понятнее): collection literals (almost), an Elvis operator, new sightings of streams and completable futures, the interactive shell, improvements in input, regex, processes, optionals, and streams, and the long-awaited BigInteger.TWO.
В общем, must see, если вы хотите использовать девятку по полной.
Java Puzzlers NG S03 — Откуда вы все лезете-то?!
Тагир Валеев, JetBrains; Барух Садогурский, JFrog
Название этого доклада говорит само за себя: новая порция паззлеров! Всё как вы любите: Тагир и Барух, адовые головоломки из Java 8 и даже Java 9, смешные гифки, а также футболки от JFrog, летящие в зал! Приятное с полезным снова с вами!
Если вы не знаете, как это выглядит, смотрите прошлые версии: вот прекрасный пример.
Модули Java 9. Почему не OSGi?
Никита pjBooms Липский, Excelsior LLC
Один из лучших докладов новосибирского JBreak 2017, дополненный и улучшенный, о том, чего не будет в кейноуте: о модулях. Кого-то это мало волнует, кого-то пугает, кто-то искренне недоумевает: зачем, ведь у нас уже больше 15 лет есть OSGi, который решает ровно те же проблемы?
В этом докладе мы попробуем разобраться, какие проблемы пытается решить OSGi, как он это делает и делает ли в действительности. Затем разберемся, какие проблемы, которые пытается решить OSGi, Jigsaw совсем не решает и почему, а какие проблемы решает и как. Ну и в конце поговорим, какие проблемы Jigsaw при этом привносит в экосистему Java, и что с этим делать.
Concurrency For Humans
Cay Horstmann, San Jose State University
На наших Java-конференциях есть ровно две темы, 100% собирающие полные залы: конкарренси и перформанс (простите мне мой «французский»). Так вот этот доклад будет про первое.
Проблема в том, что все наши любимые книжки по Java говорят нам, что concurrency — это треды, synchronized методы, wait и notify. Вот только когда вы пишете конкаррент-код, лучше думать категориями задач, а не потоков: думать о потокобезопасных структурах данных, параллельных потоках и использовать их правильно. А еще хорошо бы освоить асинхронную обработку данных. В общем, в этом докладе Кей покажет весь инструментарий стандартной Java-библиотеки для реализации основных паттернов параллелизации без блокировок и условий.
Shenandoah: сборщик мусора, который смог (часть 2)
Алексей Шипилёв, Red Hat
Внимание! Чтобы полностью понять все то, о чем Алексей будет говорить в докладе, настоятельно рекомендуем посмотреть первую часть «Shenandoah: сборщик мусора, который смог».
Продолжение истории сборщика мусора от Red Hat. Этот доклад ныряет в кроличью нору проблем, с которыми вынужден столкнуться низкопаузный GC вроде Shenandoah, размышляет, что можно сделать с этими проблемами на уровне JVM, а также над тем, что могут предпринять предусмотрительные разработчики низкопаузных Java-систем, зная об этих граблях.
Java 8: Хороший, плохой, злой
Николай xpinjection Алименков, XP Injection
Утром мы начали день с новостей о Java 9, вот только вопрос, достаточно ли хорошо мы освоили фичи Java 8? Она уже несколько лет с нами, и за это время большая часть проектов перешла на использование восьмерки, в том числе начав использовать новые возможности языка.
Активно участвуя в ревью кода, за последние годы Николай насмотрелся на достаточно общие анти-шаблоны в применении новинок Java 8. В этом докладе будут продемонстрированы на практических примерах неправильные и неэффективные техники работы с Optional, Stream и лямбдами, а также корректные способы решения изначальных задач.
После этого доклада все участники и спикеры Joker 2017 отправятся на вечеринку (если вы тоже хотите, то еще можно успеть зарегистрироваться) чтобы перетереть «за жизнь» за бокалом пенного (или красного, если хотите) с резидентами и гостями «Разбора Полетов», докладчиками конференции и коллегами.
День второй, 4 ноября
Boot yourself, Spring is coming
Кирилл tolkkv Толкачев, Альфа-Лаборатория; Евгений Борисов, Naya Technologies
Говорят, фокусники не раскрывают своих секретов. Хорошо, что в Pivotal работают не фокусники! Поэтому, когда волшебная «коробочка» Spring Boot не заводится, всегда можно понять, что к чему. Можно погуглить, посмотреть варианты решений на StackOverflow (надо всего найти нужную тему среди 26,919 запросов, затеганных spring-boot), а можно позаботиться о своем времени заранее и посмотреть, как Кирилл и Евгений прилюдно два часа потрошат Spring Boot.
Вы осознаете основные принципы и конвенции, по которым работают типичные Spring Boot-приложения. Доклад построен таким образом, чтобы вся магия из цилиндра превратилась для зрителей в куда более прозрачный процесс. Тогда вы сможете не только получать удовольствие, когда все работает, но и понимать суть возникающих проблем, решая их без привлечения скорой помощи.
Перенимаем опыт Google в построении микросервисов с gRPC
Александр Борисов, Google
Микросервисная архитектура не обходится бесплатно, она значительно увеличивает количество удаленных вызовов. Это приводит к новым вызовам и проблемам при сетевом взаимодействии, потому выбор правильного фреймворка для удаленного вызова процедур (RPC) становится критичным.
gRPC — это RPC-фреймворк нового поколения от Google, разработанный для улучшения производительности и решения сложностей сетевого взаимодействия при написании распределенных систем.
Александр покажет, как gRPC помогает построить реактивную микросервисную архитектуру, разберет некоторые сложности, с которыми можно столкнуться при написании распределенных систем, и покажет, как gRPC помогает решить их.
TestContainers — интеграционное тестирование с Docker
Сергей Егоров, Uvita
Unit-тесты — это хорошо. Вот только большинство современных микросервисов работают с внешними I/O (базы данных, MQ, другие сервисы). Как быть, как тестировать?
«H2» — гордо скажете вы! Ну, хорошо, но в продакшне-то, например, PostgreSQL с JSONB. Как там с JSONB в H2?
В докладе будет рассказано про библиотеку TestContainers, позволяющую быстро и кроссплатформенно запускать из ваших JUnit (и не только) тестов Docker-контейнеры с популярными базами данных, Selenium-браузерами и вообще всем, что умеет бегать в Docker. С возможностью запускать как локально при разработке, так и на CI-серверах без изменений.
Проект Amber: вести с полей
Тагир Валеев, JetBrains
В первый день Joker 2017 мы будем говорить про Java 8 и Java 9, а вот во второй — уже о том, что ждет нас в будущем. Проект Amber объединяет различные экспериментальные новшества, которые могут попасть в Java 10 или будущие версии. Сюда входит вывод типов локальных переменных, сопоставление с образцом (pattern matching) и многое другое. В докладе мы посмотрим, что уже реализовано на данный момент, какие проблемы возникают перед авторами, как можно самим с этим поиграться и предложить свои гениальные идеи.
Зная, с какой любовью Тагир готовит свои доклады, лично рекомендую всем выделить час на этот доклад, даже если всю трансляцию смотреть вы не планируете.
Как мы расширяли бутылочное горлышко разработки
Сергей Абдульманов, Мосигра
Доклад от легенды Хабра, человека с четырехзначной кармой, опытом создания собственной IT-компании и управления одной из крупнейших в стране федеральных сетей магазинов настольных игр.
История: делали 10 проектов настольных игр в год, появилась возможность нагрузить производство и делать на порядок больше. Проблема была в процессе разработки: надо было расширить команду ядра не больше, чем вдвое. В результате получилось сделать около 80 проектов. О том, на какие грабли наступили ребята из Мосигры, как они эти грабли разбирали и что из этого получилось — в докладе Сергея.
К слову, совсем недавно мы обсудили с Сергеем нюансы разработки настолок в хабраинтервью.
Трансляция в перерывах
Проблема многих онлайн-трансляций – пустые перерывы и кофе-брейки. Пока участники на конференции пьют кофе и общаются со спикерами, зрители трансляции вынуждены смотреть на заглушки и ждать начало следующего доклада.
Мы решили эту проблему по-своему – в перерывах будут транслироваться интервью со спикерами и спонсорами конференции. Вести интервью будут olegchir (вы наверняка читали его статьи про Java или DevOps) вместе с phillennium — скучать вам не придется.
Хочется обратить внимание на то, что за счет интервью вы сможете познакомиться с теми докладчиками и гостями, которых в программе трансляции не будет: Антоном antonarhipov Архиповым, Nitsan Wakart, Андреем apangin Паньгиным или Леонидом Игольником, — это, само собой, не полный список, подключайтесь, как говорится!
Вопросы, как во время интервью, так и во время докладов, можно будет задавать через Telegram-чат конференции.
Ограничения
- Трансляция предоставляется по принципу as is: мы уверены, что все будет хорошо, но если вдруг что – не обессудьте!
- Видеозаписей не будет. То есть они, конечно, будут, но только для участников конференции, оставивших фидбэк. А для всех остальных мы традиционно выложим их через 3-4 месяца.
- Вы не сможете посмотреть, что происходит в других залах. А там будет много интересного. В следующий раз приобретайте билет и смотрите все без ограничений.