• Доклад

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

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

  • Доклад

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

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

  • Доклад

    Java 11 is here!

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

    Павел расскажет о том, как познакомился с Kotlin, как экспериментировал и как применял его в продакшне. Пройдётся по всем основным (по его мнению) аспектам работы в энтерпрайзе, покажет, с какими трудностями они встретились и как их решали. А ещё скажет пару слов про интероп и про то, правда ли он настолько хорош, как кажется.

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

    Reactive Spring

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

  • Доклад

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

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

  • Доклад

    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.

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

    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.

  • Доклад

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

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

  • Доклад

    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.

  • Доклад

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

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

  • Доклад

    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.

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

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

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

  • Доклад

    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.

  • Доклад

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

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

  • Доклад

    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.

  • Доклад

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

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

  • Доклад

    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.