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

    Нас Spring Boot, а мы крепчаем: невыносимая легкость AOT-компиляции Spring-приложений

    На примере поддержки Spring Boot-приложений в AOT-центричной JVM Excelsior JET Никита покажет, как динамические свойства Java, используемые в Spring Framework, могут работать совместно с AOT-порожденным машинным кодом.

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

    Let's make some 0xCAFEBABE — test-driven bytecode engineering

    Writing and maintaining tools on bytecode level should always be guided by comprehensive tests. We will learn how bytecode manipulation can be implemented in a test-driven approach and with many code examples see practical techniques for real projects.

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

    The Proxy fairy and the magic of Spring

    Come and learn from a hands-on practitioner real-world best practices of using Aspects, design hints, under-the-hood implementation details, debugging tips, performance impact of aspects, all in an interactive, entertaining and extremely dynamic session.

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

    Протокол RSocket — будущее реактивных приложений

    Вы узнаете, почему RSocket — новаторское решение для межсервисных взаимодействий, как улучшить gRPC с помощью RSocket и почему стоит начать использовать RSocket уже сегодня.

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

    Performance aspects of Axon-based CQRS/ES systems

    The Axon platform offers an unique, scalable way to build microservices. We'll talk about the main concepts behind Axon, focusing on how it addresses performance-related aspects of CQRS and event sourcing.

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

    Эффективная работа с файлами для Java-разработчиков

    Дмитрий расскажет про личный опыт разработки disk intensive applications и грабли, собранные в процессе разработки Apache Ignite Native Store. Доклад ориентирован на опытных разработчиков, которым важна производительность при работе с диском.

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

    JVM TI: как сделать «плагин» для виртуальной машины

    Разберём, в каких случаях JVM TI может пригодиться разработчику, в том числе в обычных Java-приложениях. Познакомимся с возможностями интерфейса, включая нововведения из Java 9 и 11, и напишем собственный инструмент. На реальных примерах из практики увидим, с какими проблемами JVM TI сталкиваются программисты и как эти проблемы решить.

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

    Do it yourself: Collections

    The talk will walk the audience through the basics of creating a new collection, adding new collection-specific API, the salient aspects of the new collection, lastly, the various knobs and controls which are required to make it safe and usable.

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

    JDK 12: Pitfalls for the unwary

    We'll look at all the areas of JDK 9, 10, 11 and 12 that may impact application migration and also how the new JDK release cadence will impact Java support and the choices of which Java versions to use in production.

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

    Java 11 reactive HTTP Client

    This session will first provide the background to the new HTTP Client API, its history and evolution through JDK 9 and JDK 10, then moving on to the specifics of what has been standardized in Java SE 11. The audience will learn how to use the API to perform common tasks.

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

    The world needs full-stack craftsmen

    Настоящий software craftsman на порядок эффективнее узкоспециализированного разработчика: он не только пишет код, но и решает проблемы. Хотите так же? Давайте разберемся, что это за принцип и почему он работает.

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

    Атомарный рефакторинг в IntelliJ IDEA: прогибаем IDE под себя

    Рефакторинг можно разбить на набор атомарных шагов-транзакций, после каждого из которых семантика сохраняется. Чем меньше эти шаги, чем короче «разломанное состояние программы», тем меньше вероятность ошибки. Мы посмотрим на примерах, как этого добиться при рефакторинге Java-кода в среде IntelliJ IDEA и как заставить среду рефакторить атомарно, если она сопротивляется.

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

    Pushing a big project forward: the Jenkins story

    Kohsuke, the creator of Jenkins and CTO of CloudBees, will walk you through what exciting new Jenkins projects are aiming for, how they work together to make you even more productive.

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

    Reactive programming: lessons learned

    Programming in a reactive style can turn your code into an unmaintainable abstract mess, obscuring business domain.

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

    Making sense out of serverless computing

    The goal of this presentation will be to understand when, how, and why to adopt serverless technologies.

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

    Гибкий веб-сервис API с Mu

    Ольга представит библиотеку Mu, позволяющую решить ряд проблем, связанных с разработкой веб-сервисов на Scala в функциональном стиле.

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

    Decomposing Java applications

    We'll look at the process of decomposing a Java application into reusable components, ending up with application design that has good chance to evolve over the years without introducing additional accidental complexity.

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

    Create your own interpreter with a JIT in 1 hour

    Charlie will describe how you can use Eclipse OMR technologies to easily create an interpreter for a new or existing runtime and get a JIT for free!

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

    Сказ о том, как мы алгоритм каналов в Kotlin Coroutines делали

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

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

    Просчеты тестирования

    Ни один программный пакет нельзя полностью очистить от багов — тогда как понять, что хватит тестировать продукт и пора его выпускать?

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

    Cloud native, service-meshed Java Enterprise with Istio

    This sessions shows how to implement service-meshed applications using Java EE 8 and MicroProfile. It also includes how to integrate the required cross-cutting concerns, such as monitoring, tracing, or resiliency into our applications, where developers have to actively integrate technology themselves and where the platform support us.

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

    Improve Java build performance with Gradle 5

    Recent Gradle releases give you new capabilities to greatly improve the speed of your Java project build. We will discuss and use real builds to demo how you can identify performance bottlenecks, reduce build configuration time dramatically, take advantage of advanced features, and track build performance over time for your whole team.

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

    Kafka Streams API: шаг за рамки Hello World

    Тем, кто решит попробовать создать рабочее приложение при помощи Kafka Streams API, предстоит освоить немало новых вещей. Мы постараемся ответить на возникающие вопросы, по пути рассмотрев несколько демо-примеров с использованием Spring.

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

    Local variable type inference: Friend or foe?

    We'll explain the fundamentals of local variable type inference and then take a series of examples of the use of var and discuss the technical merits of each case.

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

    Суперкомпиляция, partial evaluation, проекции Футамуры и как GraalVM спасет мир

    Поговорим про Truffle — фреймворк для создания языков программирования на основе GraalVM. Детали его работы помогут лучше понять, как работают языки, поддерживаемые GraalVM — JavaScript, Ruby, R, Python — и как лучше их применять.

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

    Kotlin: как работают привычные конструкции

    Это доклад о том, как Павел исследовал внутренности Котлина и того, во что он компилирует сделанный нами код. Чего нам стоят конструкции, которые мы привыкли использовать? А какие опасности они таят? Часть ответов можно найти в этом докладе.

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

    Не будь Гомером Симпсоном для своего Reactor-а!

    Никогда не слышали о BlockHound? Или слышали о backpressure, но не уверены, работает ли оно в вашем коде? Может быть, вы хотите подготовить ваш код заранее на случай, если что-то пойдёт не так в проде? Ну или просто посмотреть, как с Reactor работают его разработчики, и подцепить пару прикольных трюков? Тогда этот доклад для вас!

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

    Java тормозит: CodeCache edition

    Никогда такого не было, и вот опять упал продакшн! Или не упал, а начал тормозить. Проблема может быть в работе JIT-компилятора. Разберём, как управлять его работой и как анализировать случаи, когда что-то пошло не так.

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

    Reactive или не reactive, вот в чем вопрос

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

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

    Kotlin/Native: зачем нужен еще один компилируемый язык в XXI веке?

    Николай расскажет, почему, по их мнению, разработка Kotlin/Native имеет смысл, несмотря на большое разнообразие существующих компилируемых языков.

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

    Fast & functional

    We are going to create a functional and blazingly fast microservice, using functional programming abstractions to quickly mix & match different HTTP libraries, state implementations and concurrency configurations.