Начало основного контента

Доклады

  • Время в программе указано для вашего часового пояса .

  • Программа предварительная, в ней возможны изменения.

  • Тип доклада: Доклад

    Зал 1

    Россия и ее регионы: что происходит в экономике и социальной жизни в 2022 и 2023 годах?

    Как повлияли кризис 2022 года, санкции и уход глобальных компаний на развитие отраслей и регионов? Почему нет кризиса на рынке труда и как на это влияет демография и миграция? Почему спад доходов населения был незначительным и есть ли различия по регионам? Почему федеральный бюджет в 2022 году пострадал сильнее, чем бюджеты регионов? Каковы перспективы развития отраслей и регионов в 2023 году? Для чего вся эта аналитика IT-специалистам?

  • Тип доклада: Доклад

    Зал 1

    Как познавать Spring Boot 3 с помощью TDD

    Слышали про TDD? Использовали? Вероятно, нет. Но если и пробовали, то вряд ли используете методологию на практике каждый день. Если вы, конечно, не фанат экстремальных практик программирования.

    Спикер рассмотрит, как можно использовать TDD простым смертным каждый день и получать от этого пользу и удовольствие, и попробует найти рациональное зерно в этой практике. Не только для фанатов экстремального программирования, а для всех. Чтобы было интереснее, сделаем это с помощью популярнейшего Spring Boot 3.

  • Тип доклада: Доклад

    Зал 1

    Кооперация против конкуренции: как на самом деле выживали сообщества

    Люди – общительные и общественные. Без взаимодействия человек – не человек. Но взаимодействия бывают сильно разными. Одни наши предшественники предпочитали брутальную версию общения, другие были добры. Какая стратегия оказалась выигрышной? Кто в итоге вымер, а кто оказался нашим предком? Какие поведенческие ловушки уготовила нам наша эволюция?

  • Тип доклада: Воркшоп

    Профайлер perf и JVM (часть 1)

    perf — это профайлер встроенный в ядро Linux. perf обладает рядом уникальных возможностей, недоступных JVM профайлерам. В рамках мастер-класса вы на практике поработаете с perf и JVM (требуется Linux) и сравните его с более традиционными способами профилирования JVM.

  • Тип доклада: Доклад

    Архитектура и инструменты избранных случаев интеграций по данным (часть 1)

    В профессиональной жизни разработчика и архитектора задачи интеграции различных систем по данным в том или ином виде встречаются на каждом шагу. В докладе рассмотрим несколько реальных примеров интеграции по данным из опыта спикера и разберем соответствующие им требования и инструменты реализации. Посмотрев доклад, вы узнаете о достоинствах и неудобствах таких протоколов интеграции, как JDBC, HTTP и S3, о вариантах применения готовых продуктов Debezium и StreamSets, а также о возможностях оптимизации затрат на разработку со Spring Rest и PostgREST. Особый акцент будет сделан на задаче версионирования и аудита данных и разобраны рабочие решения, основанные на триггерах и Hibernate Envers.

  • Тип доклада: Доклад

    Зал 2

    Единая точка входа или точка отказа: путь к non-blocking API Gateway

    Поговорим о пути перехода от классического блокирующего API Gateway, например, Nginx и Zuul 1.X, к неблокирующему Spring Cloud Gateway в высоконагруженном микросервисном окружении. Разберем различия между классическим стеком сервлетов и реактивным стеком, а также узнаем, какой профит это приносит.

  • Тип доклада: Доклад

    Зал 1

    Spring, Hibernate, паттерн Value Object и границы его применения

    Value Object помогает сделать код более безопасным и простым в поддержке, но также может вставить палки в колеса: затруднить развитие ПО в соответствии с требованиями заказчика. Из доклада вы узнаете границы применения этого паттерна в контексте стека Spring/Hibernate.

  • Тип доклада: Воркшоп

    Профайлер perf и JVM (часть 2)

    perf — это профайлер встроенный в ядро Linux. perf обладает рядом уникальных возможностей, недоступных JVM профайлерам. В рамках мастер-класса вы на практике поработаете с perf и JVM (требуется Linux) и сравните его с более традиционными способами профилирования JVM.

  • Тип доклада: Доклад

    DTO: живи быстро, гори ярко

    DTO — один из самых простых паттернов проектирования. Но в реальном мире аббревиатурой DTO называют разные виды объектов. В докладе рассмотрим, зачем нужны DTO, где их можно использовать и какие средства работы с ними бывают. Разберемся, сколько трансформаций могут пройти данные на пути от базы до API и обратно, какие бывают особенности маппинга данных при помощи разных структур и сколько видов проекций есть в ORM.

  • Тип доклада: Доклад

    Зал 1

    Когда всё пошло по Кафке 3: где заканчивается Apache Kafka и начинает работу Consumer

    Третий доклад из серии, в котором поговорим об устройстве и работе Consumer. Подробно разберем KIP, которые в значительной степени повлияли на работу Consumer. Покрутим настройки Kafka и Consumer.

  • Тип доклада: Доклад

    Зал 1

    B-Tree индексы в базах данных на примере Spring Boot-приложений, PostgreSQL и JPA

    Доклад о том, как в PostgreSQL работают обычные™ индексы. Доклад будет крайне полезен как тем, кто начинает работать с базами данных, так и тем, кто работал, но подзабыл. Если доклад попадёт в золотые подборки «обязательно посмотреть на онбординге разработчика», то цель достигнута.

  • Тип доклада: Доклад

    Зал 1

    Cloud Native JVM. Cloud Runtime

    Что такое Java Runtime и за что она отвечает? Почему у Java есть warmup? Откуда берутся outliers? Как может выглядеть JVM в облаке и что полезного ожидать для Java от облачного окружения?

  • Тип доклада: Доклад

    Зал 1

    Offset и keyset: почём пагинация для продакшена?

    «Пагинация в Spring — полный отстой! Не используйте ее никогда! Она слишком дорого обходится вашей СУБД!» Наверняка вы слышали подобное, а возможно даже говорили сами.

    Что не так с пагинацией? В чем проблема? Если все так плохо, то почему в самом крутом фреймворке современности не смогли сделать нормальное разбиение результатов SQL-запросов на страницы? Спикеры постараются найти ответы и всё показать.

  • Тип доклада: Доклад

    Apache Spark для распределенной базы данных. Внутреннее устройство коннектора

    Алексей занимается разработкой коннектора Apache Spark для Tarantool. В докладе он собирается осветить особенности устройства коннекторов для различных баз данных и порассуждать о том, насколько Spark актуален для распределенных (многоузловых) баз данных, и какие могут быть альтернативы. Он также рассмотрит вопросы согласования настроек кластера Spark и кластера базы данных для достижения оптимальной производительности. Доклад будет интересен разработчикам драйверов и коннекторов к базам данных, а также программистам на Scala.

  • Тип доклада: Доклад

    Зал 1

    Архитектура и инструменты избранных случаев интеграций по данным (часть 2)

    В профессиональной жизни разработчика и архитектора задачи интеграции различных систем по данным в том или ином виде встречаются на каждом шагу. В докладе рассмотрим несколько реальных примеров интеграции по данным из опыта спикера и разберем соответствующие им требования и инструменты реализации. Посмотрев доклад, вы узнаете о достоинствах и неудобствах таких протоколов интеграции, как JDBC, HTTP и S3, о вариантах применения готовых продуктов Debezium и StreamSets, а также о возможностях оптимизации затрат на разработку со Spring Rest и PostgREST. Особый акцент будет сделан на задаче версионирования и аудита данных и разобраны рабочие решения, основанные на триггерах и Hibernate Envers.

  • Тип доклада: Доклад

    Зал 1

    Асинхронная система сбора данных: сделай сам!

    Спикер расскажет, что такое система сбора данных, какие проблемы в них есть и как в его команде сделали асинхронную систему на Kotlin-multiplatform.

  • Тип доклада: Доклад

    Пирамида потребностей Маслоу для Java/Kotlin-разработчика

    Спикеры постараются раскрыть тему необходимых каждому Java/Kotlin-разработчику dev tools и классифицировать эти технологии в зависимости от иерархии потребностей.

  • Тип доклада: Доклад

    Зал 3

    Вчера SAP за 10 млн $, сегодня Java-микросервисы за 10 млн ₽

    Алексей покажет, как они реализовали сложный business critical сервис с высокими требованиями и огромным объемом данных, какие сложности возникают, когда данных очень много, а времени на работу с ними мало. Спикер поделится техниками, значительно ускоряющими процесс проектирования. Вы узнаете, как с помощью профилировщика можно ускорить алгоритм в сотни и тысячи раз, как добиться выигрыша по памяти в разы, и услышите несколько простых советов, которые помогают обрабатывать десятки и сотни миллионов записей и экономят RAM.

  • Тип доклада: Доклад

    Зал 2

    DSL-конструкции языка Kotlin и архитектура как код

    Подход «как код» для описания архитектуры программы, системы или даже организации получает все большее распространение. Он позволяет управлять версиями архитектуры, тестировать архитектурные описания на внутреннюю консистентность, соответствие реализации, соответствие внешним условиям. Возможности Kotlin по построению типобезопасных строителей (DSL-конструкции) делают его очень удобным языком для создания архитектурных описаний и представлений архитектуры для всех заинтересованных лиц.

  • Тип доклада: Доклад

    YDB Java SDK: борьба за производительность

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

  • Тип доклада: Доклад

    Using a Martial Art to Do Tests

    Most developers create unit tests to check whether the application's different sections work fine; not all check if the entire API has the correct behavior because of the complexity of the frameworks to write tests. Karate offers the possibility to do this type of testing using the approach of a "black box" in a simple and readable way.

  • Тип доклада: Доклад

    Зал 2

    Рациональный подход к декомпозиции систем на модули или микросервисы

    Задача поиска оптимальной декомпозиции системы на модули всегда была важной и сложной частью разработки ПО. С распространением микросервисной архитектуры эта задача обрела еще большую значимость, так как цена ошибки в декомпозиции стала еще выше. Однако «на местах» решение этой задачи зачастую представляет собой смесь искусства и ремесла с непредсказуемыми трудозатратами и результатами.

  • Тип доклада: Доклад

    Зал 2

    Разгоняем Ignite в облачной инфраструктуре

    50 Tb данных клиентов Сбера, 40K операций в секунду и Apache Ignite. Опасности, которые поджидали команду при миграции в облако, и как она с ними справилась.

  • Тип доклада: Доклад

    Зал 3

    Грузим в Kafka из базы: с CDC и без

    Как использовать Kafka Connect для загрузки событий в Kafka из базы данных? В докладе рассмотрим подводные камни и особенности больших масштабов.

  • Тип доклада: Доклад

    Зал 2

    JVM для RISC-V

    Спикер познакомит с архитектурой RISC-V, работой JVM на этих процессорах и расскажет про поиск проблем с производительностью.

  • Тип доклада: Доклад

    Зал 3

    Не happens-before единым: нестандартные семантики

    Метод AtomicLong::setOpaque вызывает недоумение, чтение исходников Disruptor пугает, а документация lazySet приводит в отчаяние? Спикер поможет разобраться и найти точки опоры в удивительном мире многопоточности за пределами JMM.

  • Тип доклада: Доклад

    Как анализаторы кода ищут ошибки и дефекты безопасности

    В нашем коде ошибок нет — это известная истина. А вот у того, кто писал этот legacy... ух, ему бы анализатор, чтобы все проблемы подсветил. Кстати, а как это работает? Как анализаторы проверяют код и находят в нем ошибки и дефекты безопасности? Какие есть типы анализа, как они дополняют друг друга и в чем их недостатки? На докладе разберем эти вопросы, посмотрим на примеры ошибок из реальных проектов и затронем тему внедрения анализаторов в процессы.

  • Тип доклада: Доклад

    Зал 2

    Akka Streams в реальных задачах

    Евгений расскажет, как применить реактивную сторону фреймворка Akka из модуля Akka Streams на практике. В частности, он покажет как они решили задачу потоковой обработки данных, используя Java и Akka Streams: с какими проблемами столкнулись и как эти проблемы устраняли.

  • Тип доклада: Доклад

    Зал 3

    Spring Cloud в микросервисной архитектуре, или История одного внедрения

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

  • Тип доклада: Доклад

    Зал 2

    Spring Data REST. Конструктор быстрой разработки REST API

    Spring Data REST — как идеальный инструмент быстрой разработки REST API, который имеет много возможностей кастомизации, чтобы подстроиться под ваш проект.

  • Тип доклада: Доклад

    Зал 3

    Как нейросети лишат вас работы (или нет)

    Спикер расскажет про эволюцию и возможности AI в разработке и AI-Driven Software Development. Вы узнаете, как заставить нейросети работать на вас, а не уволить. В конце выступления увидите, как сделать нейросеть инструментом разработчика: будут примеры использования ChatGPT как фреймворка.

  • Тип доклада: Доклад

    Зал 3

    DDD в действии

    Доклад-руководство с примерами на Kotlin по внедрению предметно-ориентированного проектирования (Domain Driven Design) в команду и обращения ее в безумную машину по доставке чистого кода.

  • Тип доклада: Доклад

    Кэширование контекста Spring в юнит-тестах: как ускорить процесс тестирования

    Использование HotSwap в тестировании и плагин для IntelljIDEA, позволяющий это делать. Пример реализации плагина для HotSwapAgent для поддержки HotSwap у мапперов MyBatis.

  • Тип доклада: Доклад

    Моментальная аналитика с помощью Spring + Redis. Это возможно?

    Поговорим о том, какие возможности предоставляет Redis для онлайн-аналитики, а также о том, как их использовать в стандартном Spring-приложении.

  • Тип доклада: Доклад

    Зал 3

    Матрица компетенций и оценка Java-разработчиков

    Александр поговорит о матрице компетенций в X5 Tech: какой формат они выбрали, а какие рассматривали. Он расскажет про путь сотрудника внутри компании, и как регулярно на этом пути он сталкивается с матрицей компетенций. Ведь его взаимодействие с ней начинается еще на этапе подбора. 

  • Тип доклада: Доклад

    Кэширование в асинхронном Spring-приложении

    Обсудим проблемы кэширования в Spring асинхронных, неблокирующих запросов и то, как команда разработки бэкенда мобильного приложения Альфа-Банка подошла к их решению.

  • Тип доклада: Доклад

    Test-Driven: from Zero to Hero

    If you want to slide into well working DevOps processes, you will need sufficient automated tests; unfortunately, most development projects don't have them. However, no management approval is required to begin working on your project with functional unit and integration tests right  away. 

  • Тип доклада: Доклад

    Зал 2

    Однажды в байт-коде: инструменты анализа

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

    А как программу анализирует программа? Речь не только об инспекциях в IDE. Спикеры несколько лет работают над инструментом UnitTestBot, который неоднократно участвовал в международных соревнованиях по генерации тестов. В этом году был признан лучшим с точки зрения читаемости сгенерированных тестов.

    В докладе спикеры поделятся опытом написания инструментов анализа кода, более конкретно — инструментами для анализа байт-кода. Также они расскажут про собственное решение, поделятся проблемами, с которыми столкнулись, и результатами.

  • Тип доклада: Доклад

    Зал 3

    Искусство System Design. Как построить распределенную систему и пройти собеседование

    Дизайн распределенных систем — это не просто очередной этап собеседования в крупную компанию. Это полезный практический скилл, который позволит спроектировать отказоустойчивую систему, способную масштабироваться и обслуживать миллионы пользователей.

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

  • Тип доклада: Доклад

    Hibernate — проблема декартова произведения при запросах с пагинацией

    Артём продемонстрирует причины возникновения декартова произведения и способы решения, которые позволят ускорить SQL-запросы.

  • Тип доклада: Доклад

    Fully Multiplatform Pure Java Development for Desktop, Web, Android and iOS

    Почти все Java-программисты знают, что на Kotlin можно написать код, который будет исполняться как на JVM, так и в браузере, и в iPhone. А можно ли написать такое мультиплатформенное решение на чистой Java? И чтобы удобно, быстро и все нравилось... Рассказ о технологии и опыте запуска Java-программ на широком классе устройств и систем: Web, Desktop, iOS, Android с использованием AOT-компиляторов GraalVM и TeaVM.

  • Тип доклада: Доклад

    Зал 2

    MDC для реактивного приложения

    Project Reactor — не просто хайповый тренд, а способ построить масштабируемое и устойчивое к высокой нагрузке приложение. MDC — ключевой инструмент диагностики и мониторинга, позволяющий легко и удобно обогащать блоки кода метаданными, заданными в другом месте. К сожалению, между собой они полноценно «не дружат». Официальное решение, предлагаемое в Readme фреймворка Project Reactor, позволяет использовать MDC для логирования собственных событий между реактивными операторами. Однако это не затрагивает находящиеся внутри реактивных операторов вызовы сторонних библиотек, которые также могут логировать свою работу.

    В подразделении спикера была разработана альтернативная реализация MDC, работающая в реактивном приложении полноценно, без указанного ограничения. Также приятным побочным эффектом использования этой реализации стало снятие ограничения на тип значения в MDC: теперь не только строковый. О деталях реализации и кратко о пути к ней спикер расскажет в докладе.

  • Тип доклада: Доклад

    Генерация GS1 DataMatrix средствами Java

    В докладе рассматривается проблема генерации GS1 DataMatrix средствами Java-библиотек для генерации двумерных штрих-кодов. Поговорим о том, почему нельзя просто взять и добавить FNC1 в начало кодируемой строки: почему для этого требуются манипуляции с библиотеками.

  • Тип доклада: Доклад

    Реактивщина с Apache Thrift + Project Armeria: как WebFlux прикручивали без REST

    В проекте Виктора — микросервисы на Apache Thrift, сделанные изначально синхронно. Но с эволюцией продукта нагрузка росла.  Спикер расскажет, как в его команде прикрутили реактивный стек (корутины/Project Reactor) к Apache Thrift с использованием Project Armeria.

  • Тип доклада: Доклад

    Зал 1

    От REST к GraphQL: приключение на 20 минут

    Ежедневно мы сталкиваемся с тонкими или толстыми REST-эндпоинтами, а также необходимостью их дорабатывать под всё новые потребности клиентов. А что, если достаточно иметь модель данных и запросы над ней, причем универсальные для всех клиентов?

    Такой подход есть — GraphQL. Обсудим опыт внедрения GraphQL API, сложности, которые возникли при этом внедрении и то, как они были преодолены.

Скоро добавим еще больше докладов

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

Подписаться