- PVSM.RU - https://www.pvsm.ru -

Раньше мы проводили в Новосибирске Java-конференцию JBreak. В 2019-м решили её не проводить, но от этого доклады JBreak 2018 не перестают быть полезными, так что традиционно делимся подборкой лучших (по мнению зрителей). Тем более, что многие попавшие в эту подборку спикеры скоро приедут с новыми докладами в Москву на JPoint — можно как раз «заочно познакомиться» с ними и понять, хочется ли на московскую конференцию.
Как обычно, доклады идут от «младшего» к «старшему» по рейтингу, но отличия между местами небольшие — так что лучше не сравнивать придирчиво места, а смотреть всё по интересующим темам!
Под катом видео разбиты с оглавлением по содержимому поста, презентациями и короткими описаниями.
А для тех, кому недостаточно лучших 10 докладов и нужны все-все, у нас есть отдельный плейлист [1].
Спикер: Volker Simonis
Место: 10
Рейтинг: 3,96
Презентация доклада [2]
Наша подборка начинается с подробного доклада о Class Data Sharing — фиче, предназначенной для улучшения скорости загрузки и уменьшения количества используемой оперативной памяти. Появилась она ещё в Java 5, но в последние годы история получила развитие, и в OpenJDK 10 возникло дополнение в виде AppCDS. Фолькер сначала коротко представляет CDS и AppCDS, объясняя, что это вообще и зачем нужно — а затем ныряет глубже.
По словам слушателей, это пример «образцово выполненной рабочей задачи» — Фолькер заглянул в исходники JDK, разложил по полочкам способ достижения результата и подводные камни, показал конкретные цифры по использованию RAM и скорости работы и расписал всё так, что вы поймёте, стоит ли использовать эту технологию для своих приложений.
Спикер: Олег Докука
Место: 9
Рейтинг: 4,02
Презентация доклада [3]
Нет, здесь не будет механизма работы блокчейна, секретов быстрого обогащения на криптовалюте и тому подобного. Зато будет то, что нужно для лучшего понимания Spring 5 и Reactor 3: опытный докладчик, подготовленная речь и презентация, демонстрация современной технологии и практический пример (в виде той самой простой криптотрейдинг-платформы).
Подход к докладу максимально доступный: Олег задает базовые вопросы: «Что нужно?», «Зачем это нужно?», «Как это реализовать?» раскладывает по полочкам каждый ответ. К примеру, он подробно и просто разъясняет, как построить Reactive System, используя Spring Reactive Stack, зачем это нужно бизнесу, где Reactive-подход работает лучше всего и оптимально решает сложные задачи.
На протяжении всего доклада Олег разбирается, как Reactor 3 и реактивный Spring 5 помогают или не помогают в решении проблем, что нового они дают.
Спикер: Никита Коваль
Место: 8
Рейтинг: 4,04
Презентация доклада [4]
Хеш-таблицы — популярнейшая и полезная структура данных, от производительности которой зависят многие компоненты приложения. А ещё производительность зависит от многопоточности. Что в Java с хэш-таблицами, которые использовали бы все возможности современного многоядерного мира?
Никита Коваль (ndkoval [5]) видит тему многопоточности и с теоретической стороны (преподавая её в ИТМО), и с практической (он причастен к корутинам в Kotlin). Неудивительно, что и доклад получился всесторонним: в нём есть и теоретические аспекты, и практические подходы.
Спикер: Владимир Плизга
Место: 7
Рейтинг: 4,11
Презентация доклада [6]
У вас бывали случаи, когда случайно (или нет) отправляли на продакшн кусок кода, предназначенный для теста? Или вставляли временный if, к примеру, с Thread.sleep() или логированием для отладки? Вы не одиноки: есть множество реальных примеров, когда на продакшн частенько уезжает тестовый/отладочный код, превращаясь там в бомбу замедленного действия, попутно преумножая технический долг и увеличивая пятно на карме разработчика.
В докладе Владимир по косточкам разбирает подход Side Effect Injection, который позволит внедрять в тестируемое приложение почти любое поведение: задержки, заглушки, логирование, обход безопасности и т.д., но при этом не пачкать репозиторий грязными хаками и даже не пересобирать само приложение. Таких костылей вы еще не видели :)
Спикер: Никита Липский
Место: 6
Рейтинг: 4,13
Презентация доклада [7]
Чтобы реализовать те или иные трюки, которые сложно выразить на Java, разработчики используют библиотеки для порождения байткода в рантайме. Но нужно очень строго следить за корректностью байткода, иначе при загрузке классов всплывет VerifyError. И что делать в такой ситуации?
Нужно знать не только семантику байткодных инструкций, но и то, как работают верификаторы и то, какой байткод можно считать корректным. Никита разбирается, какую миссию в JVM несёт верификатор байткода, когда и как он работает, может ли повлиять на производительность вашего приложения и почему опасно его отключать.
Как и в пункте выше про другого Никиту (Коваля), тут спикеру очень помогает его бэкграунд. Для понимания байткода полезно работать на уровень ниже «обычных» Java-разработчиков, а Никита Липский (pjBooms [8]) много лет занимается «сибирской JVM» Excelsior JET, о которой мы недавно взяли у него большое интервью [9].
Спикер: Александр Тарасов
Место: 5
Рейтинг: 4,14
Презентация доклада [10]
Очень «живой» доклад в смысле лайв-демонстрации всего, о чём говорится. Александр пробегается по теории Spring Cloud, а затем ныряет в разбор типового решения проблемы — и тогда вместо сатичных слайдов на экране постоянно видны то IDE с кодом, то браузер с графиками от Hystrix.
По ходу демо будет рассмотрена внутренняя реализация клиентской балансировки запросов с примерами из официальных библиотек и собственной библиотеки автора. Вы узнаете как балансировать нагрузку, и на примере увидите, почему даже даже весьма незначительное увеличение нагрузки может привести к катастрофическим последствиям, и как этого можно избежать.
Спикер: Максим Гореликов / Кирилл Толкачев (tolkkv [11])
Место: 4
Рейтинг: 4,16
Презентация доклада [12]
Spring — уже не магия (спасибо «Spring-потрошителю» и Евгению Борисову), а вот Spring Boot довольно часто клеймят магической поделкой. Но многим нравится, особенно новичкам!
Парный доклад о том, зачем вообще в рамках типовой компании, использующей Spring Boot, могут понадобиться собственные стартеры; как скоро инквизиция приходит за новичками, если они бездумно используют готовые стартеры и насколько Spring Boot самостоятелен и что это значит для разработчиков.
Доклад рассчитан на практикующих Spring (а лучше Spring Boot) инженеров, которые уже сталкивались с различными трудностями поддержки увесистой инфраструктуры, разрабатываемой с использованием Spring.
Спикер: Виктор Гамов
Место: 3
Рейтинг: 4,18
Презентация доклада [13]
Кто знает Виктора Гамова gAmUssA [14] (по подкасту «Разбор Полётов» или чему-то ещё), то вряд ли удивится, что вроде бы серьёзный доклад про системы конвейерной обработки данных он превратил в интерактивное шоу. Виктор прямо на конференции устроил лайв-кодинг для разбора потока твитов с конференции, используя модные технологии — Apache Kafka, Kafka Connect и KSQL.
Мы же все знаем и любим SQL, правда? Так вот, KSQL — это почти как SQL, только для Kafka. KSQL позволяет создавать сложные системы обработки потоковых данных, без написания Java или Scala кода.
Спикер: Алексей Зиновьев
Место: 2
Рейтинг: 4,18
Презентация доклада [15]
Для работы над BigData нужны не только data scientist’ы, тюнящие параметры моделей из пакетов на R или Python, но и Java-разработчики, способные понять построенные модели и воплотить их на Java/Scala, в том числе при помощи Spark MLlib.
Алексей в максимально простых формулировках знакомит слушателей с этой самой мощной библиотекой распределенного машинного обучения, заодно обсуждая особенности использования стандартных алгоритмов машинного обучения и структур данных в Spark. После доклада BigData станет куда понятнее, захочется заниматься ей и покопаться «ручками» самостоятельно — проверено на слушателях.
Спикер: Simon Ritter
Место: 1
Рейтинг: 4,29
Презентация доклада [16]
А больше всего зрителям понравился кейноут, открывавший конференцию. Сейчас, когда с JBreak 2018 уже прошло много времени, он по названию может показаться страшно устаревшим: уже есть JDK 11, что теперь про девятый-то вспоминать? Но если учесть, что именно с выходом «девятки» сменился релизный цикл и новые версии стали выходить часто, то получится, что как раз на эту версию есть смысл оглядываться: она стала важным «водоразделом», последним по-настоящему масштабным обновлением.
А если от Саймона вам всё-таки хочется чего-то более актуального, это будет в апреле на JPoint: там из двух его докладов один [17] как раз будет посвящён JDK с 10 по 12 (а другой [18] — выведению типов).
Кого ещё из этих спикеров можно будет увидеть в апреле на JPoint? На данный момент уже известно, что Олег Докука расскажет [19] про RSocket, а Никита Липский поведает, как AOT-компиляция сочетается [20] со Spring Boot-приложениями. Никита Коваль тоже будет, но тема доклада ещё не объявлена.
Кроме этого, будет множество других докладов — и описания части из них уже можно прочитать на сайте [21]. Если вы считаете, что и вам есть что поведать — приём [22] заявок на доклады закрывается 31 января, так что сейчас последний шанс успеть. А ещё стоит торопиться с приобретением билетов [23]: это можно будет сделать и позже, но с 1 февраля цена повысится.
Автор: Евгений Трифонов
Источник [24]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/307083
Ссылки в тексте:
[1] плейлист: https://www.youtube.com/playlist?list=PLVe-2wcL84b8nMUm45aKc2J0oPV0fP38t
[2] Презентация доклада: https://simonis.github.io/JBreak2018
[3] Презентация доклада: https://downloads.ctfassets.net/oxjq45e8ilak/1jXF380FPC8i6YO0YqcSeO/ebc6dc8592debd2e44d0d72438641ba6/OlehDokuka____________________________________________-_______________________________________Spring_5____Reactor_3__3_.pdf
[4] Презентация доклада: https://assets.ctfassets.net/oxjq45e8ilak/1dKEVszM6wUk4Y0i8gIyu4/0fe023fffb921a4a4eb8d9459b6dae29/Koval_Nikita_On_the_way_to_efficient_concurrent_hash_table.pdf
[5] ndkoval: https://habr.com/ru/users/ndkoval/
[6] Презентация доклада: https://assets.ctfassets.net/oxjq45e8ilak/NQcJjl348CgYs2iKqw0wC/f59db221f97a1cd8b92335710952e505/______________________________Side_Effect_Injection_____________________________________________________1___1_.pdf
[7] Презентация доклада: https://downloads.ctfassets.net/oxjq45e8ilak/1sXPKKQQg8KQ6m0E6CYCcw/31ac2efae382709976b5ee4429121b80/______________________________-________________________Java____________________-_jbreak1__1_.pdf
[8] pjBooms: https://habr.com/ru/users/pjbooms/
[9] большое интервью: https://habr.com/ru/company/jugru/blog/437180/
[10] Презентация доклада: https://downloads.ctfassets.net/oxjq45e8ilak/5GB2Fp0DBuMa8Cgmk6qqYo/69e64e7b40b348cde63bc07bec851d3c/Tarasov.JBreak.AdvancedLoadBalancingSpringCloud__3_.pdf
[11] tolkkv: https://habr.com/ru/users/tolkkv/
[12] Презентация доклада: https://speakerdeck.com/lavcraft/spring-boot-starter-kak-i-zachiem
[13] Презентация доклада: https://downloads.ctfassets.net/oxjq45e8ilak/4475hGOK1qWM2CSU2sIyMi/73b44d0d030d7c84e7ccff6b3480a2c8/VIKTOR_GAMOV_-_Who_s_tweeting_about_KSQL_-_JBreak_-_03-04-2018.pdf
[14] gAmUssA: https://habr.com/ru/users/gamussa/
[15] Презентация доклада: https://assets.ctfassets.net/oxjq45e8ilak/5GJij9hVksSK6uo6cA6O8e/51125fd81d478360b8f906ed61b63645/JBREAK_Zinovyev.pdf
[16] Презентация доклада: https://assets.ctfassets.net/oxjq45e8ilak/2fygU88f8sgeKIIUcowGEI/9b0681a34d5d25e7327ba4beea470da8/JDK_9_Mission_Accomplished__1_.pdf
[17] один: https://jpoint.ru/talks/35kmzgw4ds3gyt849hbaeo/?utm_source=habr&utm_medium=438098
[18] другой: https://jpoint.ru/talks/7gcedvddxsm9p6k4ywwny1/?utm_source=habr&utm_medium=438098
[19] расскажет: https://jpoint.ru/talks/2xelfl2d9mgyweeeq60wiw/?utm_source=habr&utm_medium=438098
[20] сочетается: https://jpoint.ru/talks/1emn9byzaklzozk6ec56dp/?utm_source=habr&utm_medium=438098
[21] на сайте: https://jpoint.ru/talks/?utm_source=habr&utm_medium=438098
[22] приём: https://jpoint.ru/callforpapers/?utm_source=habr&utm_medium=438098
[23] приобретением билетов: https://jpoint.ru/tickets/?utm_source=habr&utm_medium=438098
[24] Источник: https://habr.com/ru/post/438098/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438098
Нажмите здесь для печати.