• Смотреть запись
    Доклад

    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.

  • Смотреть запись
    Доклад

    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.

  • Смотреть запись
    Доклад

    Память 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.