Доклады конференции Joker 2018

Никита Липский Excelsior LLC
Никита Липский
Excelsior LLC
День 1 / 14:00  / Зал 4 / RU

Спасение от Jar Hell с помощью Jigsaw Layers

Мы разберемся, какие проблемы могли бы возникнуть, если бы в Jigsaw были явные версии для модулей, и как слои Jigsaw вместе с Jigsaw-сервисами могут помочь безопасно решать проблему Jar Hell.

Подробнее
Артем Шутак Grid Dynamics
Артем Шутак
Grid Dynamics
День 2 / 14:00  / Зал 3 / RU

Как ускорить Spark-приложение в задаче машинного обучения

В докладе описывается набор техник, примененных на «живом» проекте, которые позволили улучшить время выполнения конкретных джоб в 5-10 раз и в 10 раз уменьшили утилизацию кластера.

Подробнее
Venkat Subramaniam Agile Developer, Inc.
Venkat Subramaniam
Agile Developer, Inc.
День 1 / 10:30  / Зал 58 / EN

Don't walk away from complexity, run

We'll look at what leads to complexities, the traps developers and organizations fall into, and what we can do to effectively deal with these common, recurring issues we see across domains and products.

Подробнее
Marc Hoffmann mtrail GmbH
Marc Hoffmann
mtrail GmbH
День 1 / 19:00  / Зал 4 / EN

Lambda compilation and other gimmicks of modern JDKs

We explore the technical details of compiled lambda expressions and learn about the new JVM capabilities — which come with several performance benefits and could also be used for other JVM languages.

Подробнее
Константин Книжник PostgresPro
Константин Книжник
PostgresPro
День 1 / 19:00  / Зал 3 / RU

Postgres-10k: масштабирование Postgres для нескольких тысяч активных клиентов

Крупные корпорации, котореы сейчас активно пользуются Postgres, ставят его на машины с терабайтами памяти, сотнями ядер CPU и ожидают, что он на этом железе будет держать нагрузку не хуже, чем Oracle, обслуживая десятки, а то и сотни тысяч клиентов. К сожалению, эти ожидания не всегда оправдываются. Константин постарается объяснить, почему так происходит и какие есть пути решения проблемы.

Подробнее
Nicolai Parlog CodeFX
Nicolai Parlog
CodeFX
День 1 / 16:00  / Зал 4 / EN

Java 11 is here!

Learn all about the recent Java releases from 9 to 11.

Подробнее
Вадим Цесько Одноклассники
Вадим Цесько
Одноклассники
День 2 / 16:00  / Зал 1 / RU

Реактивный раздатчик ok.ru/music

Как мы отдаём сотню Гб/с с нескольких машин: архитектура, дизайн, грабли и решения.

Подробнее
Олег Докука Levi 9
Олег Докука
Levi 9
День 2 / 12:00  / Зал 1 / RU

Реактивный хардкор: как построить свой Publisher<?>

C появлением Reactive-Streams спецификации к нам пришли как и замечательные возможности по стандартизации реактивных библиотек, так и более широкий спектр новых хардкорных проблем. Во время доклада мы рассмотрим шаги имплементации центрального интерфейса из RS — Publisher<?> в Java. Более того, основная цель этого доклада — осознание того, как же построить ПРАВИЛЬНУЮ имплементацию данного интерфейса, как это протестировать и убедиться, что оно также работает и в других аналогичных библиотеках, таких как Project Reactor!

Подробнее
Marcus Hirt Oracle
Marcus Hirt
Oracle
День 2 / 12:00  / Зал 4 / EN

Production time profiling and diagnostics on the JVM

An overview of a variety of platform independent JVM serviceability tools and technologies that can be used for solving problems with applications running on the JVM.

Подробнее
Josh Long Pivotal
Josh Long
Pivotal
День 2 / 14:00  / Зал 1 / EN

Reactive Spring

Together we'll explore the wacky, wonderful world of Reactive Spring.

Подробнее
Gerrit Grunwald Canoo Engineering AG
Gerrit Grunwald
Canoo Engineering AG
День 1 / 12:00  / Зал 2 / EN

Multi Device Controls — a different approach to UX with Gluon, JavaFX and Polymer

A session about a research project with the goal to use mobile touch enabled devices to input data into desktop software (e.g. JavaFX, HTML5).

Подробнее
Тагир Валеев JetBrains
Тагир Валеев
JetBrains
День 1 / 12:00  / Зал 4 / RU

Pattern matching и его воображаемые друзья

Мы посмотрим, как видят pattern matching авторы Java, какие ещё новые возможности требуются, чтобы этим было удобно пользоваться, и виден ли свет в конце тоннеля.

Подробнее
Евгений Борисов Naya Technologies
Евгений Борисов
Naya Technologies
Барух Садогурский JFrog
Барух Садогурский
JFrog
День 1 / 19:00  / Зал 1 / RU

Приключения Сеньора Холмса и Джуниора Ватсона в мире разработки ПО [Joker Edition]

Будут инструменты, библиотеки и фреймворки, которые озадачивают рядовых разработчиков в каждодневной рутине, приводят к простою, профукиванию дедлайнов и затяжным депрессиям.

Подробнее
Барух Садогурский JFrog
Барух Садогурский
JFrog
Тагир Валеев JetBrains
Тагир Валеев
JetBrains
День 1 / 14:00  / Зал 2 / RU

Java Puzzlers NG S04: Ха, с этим циклом релизов, похоже, паззлеры с вами надолго!

Только мы решили, что всё, больше нам паззлеров в Джаве не найти, как Oracle решил подвозить нам новые каждые полгода!

Подробнее
Benjamin Nothdurft codecentric AG
Benjamin Nothdurft
codecentric AG
День 2 / 10:30  / Зал 1 / EN

Applying (D)DDD and CQ(R)S to cloud architectures with Spring Boot and Docker

Benjamin wants to show, using an application as an example, how to get started with introducing domain models, bounded contexts and implementing CQ(R)S where it makes most sense while trying to avoid the technical debt trap, e.g. misconceptions and fallacies.

Подробнее
Олег Шелаев Oracle
Олег Шелаев
Oracle
День 2 / 10:30  / Зал 4 / RU

Компилируем Java ahead-of-time с GraalVM

Мы поговорим об устройстве SubstrateVM, особенности подхода к компиляции кода и его ограничениях. Поговорим, какие программы имеет смысл компилировать ahead-of-time, посмотрим на примеры приложений, которые уже работают, и характеристики их производительности.

Подробнее
Андрей Бреслав JetBrains
Андрей Бреслав
JetBrains
День 1 / 14:00  / Зал 3 / RU

Один день из жизни дизайнера языка программирования

Андрей расскажет о некоторых повседневных задачах, которые приходится решать, о процессе принятия решений и немного о том, как Kotlin планирует не превратиться в Java.

Подробнее
Sébastien Blanc Red Hat
Sébastien Blanc
Red Hat
День 1 / 16:00  / Зал 1 / EN

Building an effective identity and access management architecture with Keycloak

In this session, we will see how you can delegate your identity and access management to an external service that will leverage OpenID Connect, JWT, Single Sign On etc. We will also cover how to integrate your existing infrastructure (LDAP, Kerberos) with these modern architectures.

Подробнее
Павел Финкельштейн lamoda
Павел Финкельштейн
lamoda
День 1 / 12:00  / Зал 3 / RU

Котлин — 2 года в продакшне и ни единого разрыва

О том, как Павел и его команда променяли Java на Kotlin, по каким граблям прошлись и что им удалось.

Подробнее
Harald Wendel TransferWise
Harald Wendel
TransferWise
День 1 / 14:00  / Зал 1 / EN

Transaction cascades, or how to build a transactional microservice architecture

At TransferWise they use Kafka and local database transactions to achieve transactional behavior across multiple microservices. In this talk Harald will describe their architecture and design decisions. He'll compare their own solution with other alternatives and show why they chose to build their own. He'll also give a quick recap on database transactions and Kafka.

Подробнее
Юрий Артамонов CUBA.platform
Юрий Артамонов
CUBA.platform
День 2 / 10:30  / Зал 2 / RU

Jlink и Custom Runtime Image — мастерская Франкенштейна

В этом докладе на практических примерах будут продемонстрированы новые возможности Java 9 для self-contained систем, подход к миграции приложений и реальное применение этой технологии для разработки консольных утилит и развертывания приложений в контейнерах.

Подробнее
Иван Углянский Excelsior LLC
Иван Углянский
Excelsior LLC
День 2 / 14:00  / Зал 4 / RU

Ходячие объекты-мертвецы, или GC всегда прав

Расскажем об особенностях работы алгоритмов GC, из-за которых одни объекты могут быть собраны раньше, чем вы планировали, а другие, наоборот, осядут в памяти надолго и превратятся в настоящих зомби. Обсудим, чем такое грозит вашему приложению и как с этим жить.

Подробнее
Сергей Мельников Райффайзенбанк
Сергей Мельников
Райффайзенбанк
День 2 / 17:30  / Зал 4 / RU

Профилируем черного лебедя с помощью Intel Processor Trace, или Что делать, если иногда код выполняется 20 мс вместо 2 мс

Доклад посвящен профилированию небольших участков кода и выявлению причин, почему иногда код работает ощутимо медленнее среднего. Сергей расскажет, как из подручных средств сделать небольшой профилировщик, использующий технологию Intel Processor Trace, которая позволяет восстановить трассу выполнения приложения.

Подробнее
Robert Scholte Sourcegrounds
Robert Scholte
Sourcegrounds
День 2 / 16:00  / Зал 3 / EN

Apache Maven supports ALL Java

This session will highlight the most important features developers should know to work with Java 9 and 10, combined with some practical tips and warnings.

Подробнее
Derek Ferguson JP Morgan Chase
Derek Ferguson
JP Morgan Chase
День 2 / 17:30  / Зал 3 / EN

Machine learning in Java from nothing to production in one hour (without math)

In this session, Derek will show you how to create simple TensorFlow models, train sophisticated ones and obtain predictions from advanced neural networks — all from Java.

Подробнее
Андрей Паньгин Одноклассники
Андрей Паньгин
Одноклассники
День 1 / 17:30  / Зал 4 / RU

Память Java-процесса по полочкам

Мы разберём, на какие структуры виртуальной машины расходуется оперативная память, как мониторить и регулировать её потребление. Изучим различные стратегии управления виртуальной памятью, выясним, что изменилось в новых версиях JDK. Рассмотрим реальные примеры утечек нативной памяти и познакомимся с инструментами для анализа аллокаций.

Подробнее
Никита Коваль  JetBrains
Никита Коваль
JetBrains
День 2 / 12:00  / Зал 2 / RU

Как устроены каналы в корутинах в Kotlin

Алгоритмы каналов в корутинах в Kotlin, сравнение с другими языками и библиотеками.

Подробнее
Ярослав Смирнов OTS Lab / odgAssist
Ярослав Смирнов
OTS Lab / odgAssist
День 1 / 16:00  / Зал 2 / RU

Мультиагентная транспортная модель для ЧМ-2018 в России на Java за 4 месяца, с блэкджеком и эволюционными алгоритмами

К чемпионату мира по футболу 2018 в России команда Ярослава разработала мультиагентную транспортную модель совместно с корпоративной системой поддержки принятия решений и модулем визуализации для Транспортной дирекции чемпионата мира (ТДЧМ). Ярослав расскажет о создании этого проекта и его архитектуре.

Подробнее
Denis Cutic Infobip
Denis Cutic
Infobip
День 2 / 14:00  / Зал 2 / EN

Public API infrastructure evolution

Denis will go through the challenges that were faced in the scaling process and were also driving the evolution of their public API infrastructure. The story is filled with lessons learned and pitfalls, how-tos, and how-not-tos.

Подробнее
Владимир Плизга ЦФТ
Владимир Плизга
ЦФТ
День 2 / 17:30  / Зал 1 / RU

Spring Boot 2: чего не пишут в release notes

Доклад-«грабледайджест» — сборник заметок о том, на какие грабли можно наступить в ходе обновления фреймворка Spring Boot до версии 2.*, а также о способах их устранения или обхода.

Подробнее
Максим Казанцев  Azul Systems
Максим Казанцев
Azul Systems
День 2 / 12:00  / Зал 3 / RU

Fuzzing для тестирования JVM: зачем и как

Мы расскажем о том, как и почему используем генератор случайных Java-программ, об устройстве таких генераторов, а также о дальнейших шагах по генерации программ на Scala, Kotlin и других языках, компилируемых в Java-байткод.

Подробнее
Евгений Мандриков SonarSource
Евгений Мандриков
SonarSource
День 2 / 10:30  / Зал 3 / EN

Поиск (не)соответствий в байт-коде

Знаете ли вы, что внутри ваших .class-файлов? А готовы поспорить? Давайте повеселимся, исследуя конструкции байт-кода, и изучим, как различные компиляторы (Java/Kotlin) и их версии преобразуют ваш исходный код.

Подробнее
Григорий Кошелев Контур
Григорий Кошелев
Контур
День 2 / 16:00  / Зал 4 / RU

Интеграция виртуальных машин .NET и Java

Интеграция виртуальных машин .NET и Java — от простого микросервисного к сложному внутрипроцессному взаимодействию.

Подробнее
John McClean Oath
John McClean
Oath
День 2 / 17:30  / Зал 2 / EN

Correctness / performance / complexity: Is functional programming worth it?

This talk aims to arm you with the knowledge to make informed decisions around introducing immutability in collections (and other related functional concepts) to your application.

Подробнее
Александр Дюмаев Tinkoff.ru
Александр Дюмаев
Tinkoff.ru
День 1 / 16:00  / Зал 3 / RU

Реактивный конфиг

При разработке больших распределенных приложений хорошей практикой считается отделение конфигурации приложения от бизнес-логики. Мы сделали свою собственную библиотеку для динамической конфигурации и расскажем, как эта библиотека устроена внутри и как ее можно применять в своих проектах.

Подробнее
Дмитрий Александров T-Systems
Дмитрий Александров
T-Systems
День 1 / 17:30  / Зал 1 / RU

Microprofile.io: не Спрингом единым

Расскажем о более легкой и, что немаловажно, стандартизованной альтернативе Spring Boot, специально заточенной именно под микросервисы. Имплементации этой спецификации от разных компаний способны работать на спектре оборудования от Raspberry Pi до огромных кластеров. Эта спецификация оказалась успешна и продолжает развиваться, предлагая новые, крайне полезные фичи прямо из коробки.

Подробнее
Кирилл Толкачёв ЦИАН
Кирилл Толкачёв
ЦИАН
Максим Гореликов ЦИАН
Максим Гореликов
ЦИАН
День 1 / 12:00  / Зал 1 / RU

Micronaut vs Spring Boot, или Кто тут самый маленький?

На деле, разрабатывая и тестируя, тестируя и разрабатывая, мы с вами посмотрим на компромиссы разработки на SB2 и Micronaut. Посмотрим, кто же самый-самый… Самый реактивный, самый удобный, самый «облачный». Да и вообще — годится ли «микро» для production?

Подробнее
Антон Лапицкий CUSTIS
Антон Лапицкий
CUSTIS
День 2 / 16:00  / Зал 2 / RU

Авторизация на основе атрибутов: как мы перестали раздавать роли и занялись политиками

Антон расскажет о различных подходах к разграничению прав доступа (RBAC и ABAC), о типовой архитектуре ABAC-решений и немного о существующих на рынке продуктах. Затем презентует свой фреймворк для работы с атрибутивной моделью доступа.

Подробнее
Егор Бугаенко Zerocracy
Егор Бугаенко
Zerocracy
День 1 / 17:30  / Зал 2 / RU

Не думайте о качестве, думайте о скорости

Егор твердо уверен, что программисты должны думать не о качестве, а только о скорости. Они должны стремиться как можно быстрее закрывать задачи, чтобы проект не стоял на месте.

Подробнее
Олег Нижников Tinkoff.ru
Олег Нижников
Tinkoff.ru
День 1 / 17:30  / Зал 3 / RU

Новый уровень чистоты с Tagless Final

В ФП-сообществе набирает популярность новый способ композиции приложений, который позволяет определить точное описание работы компонент без накладных расходов и является отличной реализацией Dependency Inversion Principle. Рассмотрим историю, формальную, техническую и практическую стороны применения этого подхода на примере Scala.

Подробнее
Jeroen Soeters Instana
Jeroen Soeters
Instana
День 1 / 19:00  / Зал 2 / EN

How we process billions of metrics to make your microservices run smoothly

Jeroen will be giving a technical peek behind the scenes on how they at Instana collect, process and present monitoring data efficiently through their reactive Java 8 based stream processing engine. He will also cover how they optimized their usage of Elasticsearch, Cassandra and Kafka on Amazon EC2 to make this possible.

Подробнее