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

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

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

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

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

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

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

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

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

Подробнее
Никита Липский Excelsior LLC
Никита Липский
Excelsior LLC
День 1 / 14:00  / Зал 3 / RU

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

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

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

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

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

Подробнее
Gerrit Grunwald Canoo Engineering AG
Gerrit Grunwald
Canoo Engineering AG
День 1 / 19:00  / Зал 3 / 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).

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

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

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

Подробнее
Андрей Курпатов
Андрей Курпатов
День 2 / 18:50  / Зал 1 / RU

Новая реальность цифровой цивилизации

Чем грозит нашему мозгу агрессивная информационная среда? В чём главные проблемы интеллекта человека? Как улучшить эффективность своего мышления, используя последние исследования наук о мозге? Андрей Курпатов расскажет, что нас ждёт в будущем и как нам к этому подготовиться.

Подробнее
Евгений Мандриков SonarSource
Евгений Мандриков
SonarSource
День 1 / 14:00  / Зал 4 / RU

Java 4..11, Kotlin, Code Coverage и их лучший друг — байткод: скандалы, интриги, расследования

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

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

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

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

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

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

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

Подробнее
Алексей Федоров JUG.ru Group
Алексей Федоров
JUG.ru Group
Андрей Дмитриев JUG.ru Group
Андрей Дмитриев
JUG.ru Group
Владимир Ситников Netcracker
Владимир Ситников
Netcracker
Андрей Когунь КРОК
Андрей Когунь
КРОК
Дмитрий Александров T-Systems
Дмитрий Александров
T-Systems
День 1 / 19:00  / Зал 4 / RU

Круглый стол с организаторами Joker

Сессия вопросов-ответов с организаторами и Программным комитетом конференции Joker 2018. Всё просто: вы задаёте вопросы — мы отвечаем.

Подробнее
Venkat Subramaniam Agile Developer, Inc.
Venkat Subramaniam
Agile Developer, Inc.
День 1 / 10:30  / Зал 1 / 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.

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

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

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

Подробнее
Александр Белокрылов BellSoft
Александр Белокрылов
BellSoft
Алексей Войтылов BellSoft
Алексей Войтылов
BellSoft
День 1 / 12:00  / Зал 3 / RU

Дорогая, попробуем ARM? Теория, приложения и рабочие нагрузки

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

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

Java 11 is here!

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

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

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

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

Подробнее
Олег Докука Netifi
Олег Докука
Netifi
День 2 / 10:30  / Зал 1 / RU

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

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

Подробнее
Marcus Hirt Oracle
Marcus Hirt
Oracle
День 1 / 12:00  / Зал 2 / 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 / 16:00  / Зал 1 / EN

Reactive Spring

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

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

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

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

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

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

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

Подробнее
Benjamin Nothdurft codecentric AG
Benjamin Nothdurft
codecentric AG
День 2 / 17: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.

Подробнее
Sébastien Blanc Red Hat
Sébastien Blanc
Red Hat
День 1 / 16:00  / Зал 4 / 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
День 2 / 17:30  / Зал 2 / RU

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

Павел расскажет о том, как познакомился с 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
День 1 / 16:00  / Зал 3 / RU

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

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

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

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

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

Подробнее
Robert Scholte Sourcegrounds
Robert Scholte
Sourcegrounds
День 2 / 12:00  / Зал 2 / 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 / 10:30  / Зал 2 / EN

Machine learning in Java from nothing to production in one hour

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 / 16:00  / Зал 1 / RU

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

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

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

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

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

Подробнее
Denis Cutic Infobip
Denis Cutic
Infobip
День 1 / 17:30  / Зал 3 / 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.

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

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

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

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

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

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

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

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

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

Подробнее
John McClean Oath
John McClean
Oath
День 1 / 14:00  / Зал 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
День 2 / 10:30  / Зал 4 / RU

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

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

Подробнее
Егор Бугаенко Zerocracy
Егор Бугаенко
Zerocracy
День 2 / 16:00  / Зал 3 / RU

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

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

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

Современное ФП с Tagless Final

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

Подробнее
Marc Hoffmann mtrail GmbH
Marc Hoffmann
mtrail GmbH
День 2 / 14:00  / Зал 3 / 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 / 12:00  / Зал 4 / RU

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

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

Подробнее