• Не записывалось

    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.

  • Не записывалось

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

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

  • Не записывалось

    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.