Please enable JavaScript to use this page!

AllTalks site logo
🍔

War Story: Как мы внедряли поддержку Java 11 в Jenkins

Сказ о том, как мы внедряли поддержку Java 11 в Jenkins — одном из наиболее популярных серверов автоматизации для CI/CD. Цель доклада — рассказать о том, с какими проблемами мы столкнулись в реальном крупном Maven-проекте, и о том, как мы их решали. Доклад не имеет отношения к Jenkins как таковому, целевая аудитория — разработчики, которые планируют переезд на Java 11. Как нам удалось поддержать Java 11 и сохранить совместимость с Java 8? Как мы обеспечили сборку и тестирование проектов в Java 9..11? Насколько на нас повлияли новая система модулей, multi-release JARs и несовместимые изменения в Java (reflection, classloading, удаление компонентов Java EE/Jakarta)? И как автоматизировать тестирование, чтобы не переделывать всё с каждым новым релизом Java? И что мы, в конце концов, получили от миграции на Java 11? Справка: Jenkins имеет огромную кодовую базу: Java, Groovy, нативные библиотеки и даже немного Kotlin. Проект включает сотни зависимостей, 1500+ плагинов, а также десятки стандартных и самописных dev-тулов (Maven, Gradle). Впридачу — 10 лет обратной совместимости и огромное количество легаси-кода. Если вы заметили сходство со своими Java-проектами и думаете о миграции на Java 11, то посмотрите этот доклад :)


YaTalks

38 min

Как наши кластеры оказались в топе суперкомпьютеров

Дмитрий Монахов

Из доклада вы узнаете краткую историю кластеров для обучения нейронных сетей в Яндексе: Зачем они нам понадобились? Что такое современный HPC и почему это не просто объединение нескольких сотен серв…

YaTalks

32 min

Сервисы эксплуатации беспилотных автомобилей

Сергей Першин

Основные модули ПО беспилотного автомобиля хорошо описаны: локализация, распознавание, предсказание, планирование, управление. Но это лишь надводная часть айсберга, в то время как основная часть скр…

YaTalks

32 min

ClickHouse: настоящее и будущее

Алексей Миловидов

Доклад посвящён основным принципам и целям развития ClickHouse: отличительным чертам и преимуществам системы, которые мы планируем развивать. Также поговорим о недостатках и неудобствах, над которыми…

ITeaConf

55 min

Is it time to re-sync?

Андрей Печкуров

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

DotNext

71 min

gRPC в .NET — рецепты счастья

Михаил Кузнецов

Массовый переход от монолитов к микросервисам решает одни проблемы, но создаёт другие — взаимодействие сервисов существенно сложнее и дороже, чем взаимодействие объектов в памяти. Частично упростить …

HolyJS

72 min

Cовременный бэкенд для фронтенда на Node.js

Андрей Мелихов

Современный фронтенд — это богатое клиентское приложение, оперирующее развесистым набором данных. Однако, оставаясь в парадигме архитектуры «клиент-сервер», такие приложения всё ещё требуют серверног…

DotNext

73 min

A deep dive into a database engine internals

Oren Eini

In this talk, Oren Eini, founder of RavenDB, is going to take apart a database engine on stage. We are going to inspect all the different pieces that make for an industrial-grade database engine, fro…

Joker

59 min

Concurrent Garbage collectors: ZGC & Shenandoah

Simone Bordet

Java 11/12 introduced two new Garbage Collectors: ZGC and Shenandoah. The main objective of these two new GCs is to reduce GC pauses to only few milliseconds (and possibly under a millisecond), there…

YaTalks

32 min

Большой таблеточный взрыв

Андрей Фомичев

Современная распределённая БД, как и сама Вселенная, состоит из мельчайших частиц. Из частиц, которые мы называем таблетками, строится петабайтная вселенная данных в Yandex Database. Таблетки решают …

YaTalks

39 min

Сервис на userver: что снаружи и что под капотом

Антон Полухин

Рассказываем о фреймворке Яндекс Go и его внутреннем устройстве. Доклад будет интересен людям, которые хотят разобраться в устройстве корутиновых движков и работе асинхронных фреймворков. Вы узнаете:…

C++ Siberia

51 min

Обзор C++ кода глазами параноика

Филипп Хандельянц

Код языка C++ подобен минному полю. Поэтому качественный внимательный code-review крайне полезен. Этот доклад улучшит ваши навыки в этом нелёгком деле. Мы поговорим о некоторых паттернах ошибок, о ко…

C++ Russia

51 min

Эволюция метапрограммирования: как правильно работать со списками типов

Олег Фатхиев

Глубокий рассказ о метапрограммировании в ретроспективе. Обсудим общие подходы в метапрограммировании, а затем перейдём к спискам типов. По шагам напишем небольшую библиотеку для работы со списками т…

DotNext

71 min

Боремся с сетевым оверхедом в распределённых системах

Павел Тупицын

Современные приложения состоят из множества подсистем: базы данных, кеши, брокеры сообщений. Для обработки одного запроса от пользователя сервер может выполнять десятки внутренних подзапросов. Вы ска…

C++ Russia

58 min

ABI compatibility is not a MAJOR problem

Javier García Sogo

Too often, C++ developers tend to ignore ABI compatibility problems and think that incompatibilities are limited to changes in the interface of the library motivated by new features or bugs. However,…

YaTalks

28 min

DDoS-атака Mēris и как Яндекс её пережил

Дмитрий Носов

Кажется, что уже все слышали о самой масштабной DDoS-атаке в истории интернета — Mēris. Очень многое в этой истории пока ещё проходит «под грифом секретно». Но сейчас мы готовы поделиться большой час…

C++ Russia

92 min

C++17 — the biggest traps

Nicolai Josuttis

C++17 is a huge combination of small new features both in the language and the library. These features have more poser but also more traps than you might expect. These traps are not theoretical. They…

C++ Russia

60 min

Initialisation in modern C++

Timur Doumler

Initialisation semantics is widely regarded as one of the most difficult aspects of the C++ language. We have many different kinds of initialisation and many different syntaxes for it, and they inter…

ITeaConf

33 min

Загадки JPA и их разоблачение

Андрей Беляев

Поговорим про JPA и тонкие моменты, связанные с этим фреймворком. Начнем с простых примеров: когда получается N+1 запрос и в каком случае Lazy не работает так, как интуитивно ожидается. Дальше уг…

YaTalks

41 min

Под капотом робота-доставщика

Дмитрий Добрынин

Многие компании занимаются робототехникой и роботизацией, однако в задаче автоматизации последней мили пока нет явного лидера, как нет и общепринятого стандарта, описывающего, как должен выглядеть и …