Мы здесь неслучайно
Нам всем интересна разработка. Какая бы она ни была. Лишь бы не сгореть в процессе.
А мы? Мы будем делать конференции так, чтобы вам было полезно, интересно и весело.
🌲 Мы желаем вам благополучия и радости в грядущем году. А доклады про новые технологии — это мы найдем.
Рады, что вы с нами 🥳
С наступающим Новым годом, друзья!
Нам всем интересна разработка. Какая бы она ни была. Лишь бы не сгореть в процессе.
А мы? Мы будем делать конференции так, чтобы вам было полезно, интересно и весело.
🌲 Мы желаем вам благополучия и радости в грядущем году. А доклады про новые технологии — это мы найдем.
Рады, что вы с нами 🥳
С наступающим Новым годом, друзья!
❤15🎄7👍5🎉2
#видеозаписи
Ну как, сменили 2024 на 2024++, отдохнули и готовы воспринимать плюсовый хардкор?
Тогда начинаем рабочий год с места в карьер: с записи доклада Антона Полухина в #плюсочетверг.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
Ну как, сменили 2024 на 2024++, отдохнули и готовы воспринимать плюсовый хардкор?
Тогда начинаем рабочий год с места в карьер: с записи доклада Антона Полухина в #плюсочетверг.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
🔥10🌚4
#доклады
Каша из топора: модули в C++, проблемы и решения
ℹ️ О чем доклад: модули в C++ выросли из прекомпилированных хедеров, с трудом были приняты в стандарт и до сих пор слабо поддерживаются в компиляторах, библиотеках и системах сборки.
Но они вовсе не сводятся к прекомпилированным хедерам, и ускорение компиляции — тот самый топор, повод начать варку каши, но не настоящая ее основа.
В докладе раскроем суть и настоящую мотивацию модулей — поддержку компонентного подхода в проектировании. Их многочисленные возможности, нацеленные на это, и есть настоящие ингредиенты каши.
🗣 Спикер: Константин Владимиров работает над компиляторами с 2010 года. Сейчас — над компилятором для RISC-V в Syntacore.
Подробности и билеты
Каша из топора: модули в C++, проблемы и решения
ℹ️ О чем доклад: модули в C++ выросли из прекомпилированных хедеров, с трудом были приняты в стандарт и до сих пор слабо поддерживаются в компиляторах, библиотеках и системах сборки.
Но они вовсе не сводятся к прекомпилированным хедерам, и ускорение компиляции — тот самый топор, повод начать варку каши, но не настоящая ее основа.
В докладе раскроем суть и настоящую мотивацию модулей — поддержку компонентного подхода в проектировании. Их многочисленные возможности, нацеленные на это, и есть настоящие ингредиенты каши.
🗣 Спикер: Константин Владимиров работает над компиляторами с 2010 года. Сейчас — над компилятором для RISC-V в Syntacore.
Подробности и билеты
❤14🔥8👍7👎1
#подкаст
Компилируем новый выпуск Pure Virtual Cast... к 20:00 по Москве
Сегодня у нас в гостях — Константин Владимиров, спикер C++ Russia и автор книги «Оптимизирующие компиляторы. Структура и алгоритмы».
Поговорим про саму книгу и разные компиляторы, с которыми работает Константин: для RISC-V и не только.
Смотрите нас через два часа на YouTube.
Компилируем новый выпуск Pure Virtual Cast... к 20:00 по Москве
Сегодня у нас в гостях — Константин Владимиров, спикер C++ Russia и автор книги «Оптимизирующие компиляторы. Структура и алгоритмы».
Поговорим про саму книгу и разные компиляторы, с которыми работает Константин: для RISC-V и не только.
Смотрите нас через два часа на YouTube.
🔥9❤6👍3
#видеозаписи
Как устроены альтернативные контейнеры из Boost? В чём их предназначение и смысл? В чём вообще смысл?
В этот #плюсочетверг открываем запись доклада о первом вопросе, а с остальными вы небось и без нас разберётесь.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
Как устроены альтернативные контейнеры из Boost? В чём их предназначение и смысл? В чём вообще смысл?
В этот #плюсочетверг открываем запись доклада о первом вопросе, а с остальными вы небось и без нас разберётесь.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
🔥9👍5😎2
#доклады
Branch prediction, или Откуда процессор берет производительность
ℹ️ О чем доклад: Branch prediction — основа спекулятивного выполнения и один из самых важных компонентов производительности.
Узнаем, как работает OoO, где в нем место для Branch predictor, как работает спекулятивное исполнение и алгоритмы предсказаний ветвлений и как это все влияет на исполнение нашего кода.
🗣 Спикер: Евгений Ерохин — старший разработчик в команде микроядра KasperskyOS. Создатель стартапа HyperIntegrate. Создал продукт, позволяющий подключать Android как файловую систему на macOS.
Исследовал и разрабатывал компиляторы в Huawei. Разрабатывал алгоритмы регистровой аллокации, оптимизации, а также тулчейн для Harmony OS. Больше 10 лет разрабатывал драйверы для macOS в Paragon Software.
Подробности и билеты
Branch prediction, или Откуда процессор берет производительность
ℹ️ О чем доклад: Branch prediction — основа спекулятивного выполнения и один из самых важных компонентов производительности.
Узнаем, как работает OoO, где в нем место для Branch predictor, как работает спекулятивное исполнение и алгоритмы предсказаний ветвлений и как это все влияет на исполнение нашего кода.
🗣 Спикер: Евгений Ерохин — старший разработчик в команде микроядра KasperskyOS. Создатель стартапа HyperIntegrate. Создал продукт, позволяющий подключать Android как файловую систему на macOS.
Исследовал и разрабатывал компиляторы в Huawei. Разрабатывал алгоритмы регистровой аллокации, оптимизации, а также тулчейн для Harmony OS. Больше 10 лет разрабатывал драйверы для macOS в Paragon Software.
Подробности и билеты
🔥8❤5😎3
#доклады
В Asio за корутинами
ℹ️ О чем доклад: если не хочется писать собственный асинхронный движок, можно обратиться к готовым реализациям. Узнаем, как использовать корутины с помощью Asio — давно известного в мире С++ асинхронного движка.
Рассмотрим основные понятия, которыми пользуется Asio, и подводные камни, с которыми можно столкнуться, внедряя корутины в проект.
🗣 Спикер: Илья Казаков работает в YADRO в команде систем хранения данных Datapath. Сейчас занимается fault injection в протокол SAS.
Подробности и билеты
В Asio за корутинами
ℹ️ О чем доклад: если не хочется писать собственный асинхронный движок, можно обратиться к готовым реализациям. Узнаем, как использовать корутины с помощью Asio — давно известного в мире С++ асинхронного движка.
Рассмотрим основные понятия, которыми пользуется Asio, и подводные камни, с которыми можно столкнуться, внедряя корутины в проект.
🗣 Спикер: Илья Казаков работает в YADRO в команде систем хранения данных Datapath. Сейчас занимается fault injection в протокол SAS.
Подробности и билеты
👍7❤2🔥2🤔1
#доклады
Как в 2ГИС работают над производительностью мобильного приложения
ℹ️ О чем доклад: как от эпизодических оптимизаций явных просадок производительности в компании пришли к диагностированию проблем до выпуска в продакшен и системной работе по улучшению производительности. Поговорим про инструменты, выстраивание процессов и метрики.
🗣 Спикер: Дмитрий Ястребков с 2016 года занимается мобильной разработкой, делает ядро мобильного приложения 2ГИС.
До этого долгое время разрабатывал программы резервного копирования данных. Начинал карьеру с веб-разработки, промышленной автоматизации и написания приложений для ученых.
Подробности и билеты
Как в 2ГИС работают над производительностью мобильного приложения
ℹ️ О чем доклад: как от эпизодических оптимизаций явных просадок производительности в компании пришли к диагностированию проблем до выпуска в продакшен и системной работе по улучшению производительности. Поговорим про инструменты, выстраивание процессов и метрики.
🗣 Спикер: Дмитрий Ястребков с 2016 года занимается мобильной разработкой, делает ядро мобильного приложения 2ГИС.
До этого долгое время разрабатывал программы резервного копирования данных. Начинал карьеру с веб-разработки, промышленной автоматизации и написания приложений для ученых.
Подробности и билеты
❤5🔥5👍1🤣1
#видеозаписи
Две недели назад мы публиковали видеозапись «грязных трюков». А в этот #плюсочетверг открываем «полезные».
В общем, если посмотреть всё, станешь настоящим трюкачом!
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
Две недели назад мы публиковали видеозапись «грязных трюков». А в этот #плюсочетверг открываем «полезные».
В общем, если посмотреть всё, станешь настоящим трюкачом!
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
👍4❤1
#доклады
Алгоритм массово-параллельной работы с сокетами для C++
ℹ️ О чем доклад: об алгоритме планирования задач общего назначения на С++ и сетевой библиотеке вокруг него, которые выступают альтернативой boost::asio.
Поговорим про:
→ Справедливое равномерное распределение задач между потоками, позволяющее плавно масштабироваться на много ядер CPU.
→ Поддержку C++20 корутин.
→ Бенчмарки — воспроизводимые и автоматические.
→ Формальную корректность — алгоритм планирования задач верифицирован с помощью TLA+.
→ Простоту алгоритма, который легко понять и портировать на другие языки.
Проект в открытом доступе.
🗣 Спикер: Владислав Шпилевой — разработчик C/C++ в Virtual Minds и Tarantool.
Подробности и билеты
Алгоритм массово-параллельной работы с сокетами для C++
ℹ️ О чем доклад: об алгоритме планирования задач общего назначения на С++ и сетевой библиотеке вокруг него, которые выступают альтернативой boost::asio.
Поговорим про:
→ Справедливое равномерное распределение задач между потоками, позволяющее плавно масштабироваться на много ядер CPU.
→ Поддержку C++20 корутин.
→ Бенчмарки — воспроизводимые и автоматические.
→ Формальную корректность — алгоритм планирования задач верифицирован с помощью TLA+.
→ Простоту алгоритма, который легко понять и портировать на другие языки.
Проект в открытом доступе.
🗣 Спикер: Владислав Шпилевой — разработчик C/C++ в Virtual Minds и Tarantool.
Подробности и билеты
👍6🔥1🤣1
#доклады
Веселье с type erasure: делаем обертку с семантикой значения для полиморфных типов
ℹ️ О чем доклад: о базовой реализации type erasure (т.н. «стирание типов») в C++. Посмотрим, как она работает на примере обертки с семантикой значения.
В отличие от семантики указателя или ссылки, обертка с семантикой значения позволяет обращаться с полиморфными объектами со «стертыми типами» как с обычными значениями: перемещать их, копировать, присваивать новые значения.
При этом всей головной болью владения (ownership) и клонирования объекта исходного типа займется реализация «за кулисами».
🗣 Спикер: Павел Новиков — любитель метапрограммирования, многопоточного и асинхронного программирования. Энтузиаст распространения корутин.
Подробности и билеты
Веселье с type erasure: делаем обертку с семантикой значения для полиморфных типов
ℹ️ О чем доклад: о базовой реализации type erasure (т.н. «стирание типов») в C++. Посмотрим, как она работает на примере обертки с семантикой значения.
В отличие от семантики указателя или ссылки, обертка с семантикой значения позволяет обращаться с полиморфными объектами со «стертыми типами» как с обычными значениями: перемещать их, копировать, присваивать новые значения.
При этом всей головной болью владения (ownership) и клонирования объекта исходного типа займется реализация «за кулисами».
🗣 Спикер: Павел Новиков — любитель метапрограммирования, многопоточного и асинхронного программирования. Энтузиаст распространения корутин.
Подробности и билеты
👍4🔥3
#доклады
Университетский курс Compiler Construction: задачи, философия, структура, опыт
ℹ️ О чем доклад: о важнейших аспектах дизайна курса Compiler Construction — фундаментальных основаниях и предпосылках, задачах, содержании.
Доклад ориентирован на преподавателей ИТ-департаментов университетов и сотрудников ИТ-компаний, заинтересованных в получении квалифицированных специалистов.
Также будет полезно ИТ-профессионалам, интересующихся аспектами разработки компиляторов ЯП.
🗣 Спикер: Евгений Зуев — профессор университета Иннополис. Область исследований — семантика языков программирования, проектирование и разработка компиляторов ЯП.
Работал в оборонных научно-исследовательских центрах, в НИВЦ МГУ. Преподавал и проводил исследования в МГУ, ETH Zurich и EPFL Lausanne.
Подробности и билеты
Университетский курс Compiler Construction: задачи, философия, структура, опыт
ℹ️ О чем доклад: о важнейших аспектах дизайна курса Compiler Construction — фундаментальных основаниях и предпосылках, задачах, содержании.
Доклад ориентирован на преподавателей ИТ-департаментов университетов и сотрудников ИТ-компаний, заинтересованных в получении квалифицированных специалистов.
Также будет полезно ИТ-профессионалам, интересующихся аспектами разработки компиляторов ЯП.
🗣 Спикер: Евгений Зуев — профессор университета Иннополис. Область исследований — семантика языков программирования, проектирование и разработка компиляторов ЯП.
Работал в оборонных научно-исследовательских центрах, в НИВЦ МГУ. Преподавал и проводил исследования в МГУ, ETH Zurich и EPFL Lausanne.
Подробности и билеты
👍5❤2🔥2
#видеозаписи
Есть темы, о которых в мире вроде бы уже не раз говорили, но всегда интересно послушать того, кто погружался глубоко.
В этот #плюсочетверг открываем запись доклада об одной из таких тем.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
Есть темы, о которых в мире вроде бы уже не раз говорили, но всегда интересно послушать того, кто погружался глубоко.
В этот #плюсочетверг открываем запись доклада об одной из таких тем.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
👍6🔥3
#доклады
Conan на практике: неочевидные проблемы и решения
ℹ️ О чем доклад: управление проектными зависимостями — самый болезненный пункт для C++ разработчиков по версии isocpp.org.
Одно из решений этой проблемы — пакетный менеджер Conan, но его использование далеко не настолько прозрачно, как можно подумать исходя из документации и докладов авторов пакетного менеджера.
Обсудим очевидные и не очень проблемы, а также возможные решения и обходные пути, без которых использование Conan будет болезненным и проблематичным.
🗣 Спикер: Никита Руденко — ведущий инженер по автоматизации в Syntacore. 5 лет в индустрии, из которых 3 года работал над LLVM-based инструментами, а последние два разрабатывает решения для коллег, упрощающие их работу.
Подробности и билеты
Conan на практике: неочевидные проблемы и решения
ℹ️ О чем доклад: управление проектными зависимостями — самый болезненный пункт для C++ разработчиков по версии isocpp.org.
Одно из решений этой проблемы — пакетный менеджер Conan, но его использование далеко не настолько прозрачно, как можно подумать исходя из документации и докладов авторов пакетного менеджера.
Обсудим очевидные и не очень проблемы, а также возможные решения и обходные пути, без которых использование Conan будет болезненным и проблематичным.
🗣 Спикер: Никита Руденко — ведущий инженер по автоматизации в Syntacore. 5 лет в индустрии, из которых 3 года работал над LLVM-based инструментами, а последние два разрабатывает решения для коллег, упрощающие их работу.
Подробности и билеты
👍6❤1
#доклады
Семантика C++ изнутри компилятора
ℹ️ О чем доклад: о семантике C++ с точки зрения статического анализатора или фронтенда компилятора. Рассмотрим, как устроена таблица символов и как происходит поиск имен.
Как семантика влияет на парсинг, как происходит выбор перегрузок и каким образом компилятор находит функции, которые даже не видны в текущей точке программы.
🗣 Спикер: Юрий Минаев — архитектор C++ анализатора PVS-Studio. В рабочее время копается во внутренностях ядра. Немного хирург (операции на открытом сердце парсера), немного ортопед (легаси нужны протезы).
Подробности и билеты
Семантика C++ изнутри компилятора
ℹ️ О чем доклад: о семантике C++ с точки зрения статического анализатора или фронтенда компилятора. Рассмотрим, как устроена таблица символов и как происходит поиск имен.
Как семантика влияет на парсинг, как происходит выбор перегрузок и каким образом компилятор находит функции, которые даже не видны в текущей точке программы.
🗣 Спикер: Юрий Минаев — архитектор C++ анализатора PVS-Studio. В рабочее время копается во внутренностях ядра. Немного хирург (операции на открытом сердце парсера), немного ортопед (легаси нужны протезы).
Подробности и билеты
🔥5❤2
#видеозаписи
Корутины с нами не первый год, но ещё не превратились в рутину.
Так что доклады о них актуальны, и в этот #плюсочетверг открываем запись такого.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
Корутины с нами не первый год, но ещё не превратились в рутину.
Так что доклады о них актуальны, и в этот #плюсочетверг открываем запись такого.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
🔥5🤔2❤1
#доклады
Уроки кодогенерации JSON Schema
ℹ️ О чем доклад: как в userver писался кодген С++ кода по описанию JSON Schema, с какими проблемами пришлось столкнуться и какие интересные решения получились.
Посмотрим, как пользоваться Jinja-генерацией правильно для генерации кода на C++. Как можно выделять из шаблонов Jinja общую логику и помещать ее в простые библиотеки. Полученный библиотечный код можно использовать не только в кодгене, но и в простом коде.
⛏️ Кому: всем, кто интересуется С++ шаблонами и их использованием в продакшен-коде.
🗣 Спикер: Василий Куликов — окончил ВМК МГУ. Занимался исследованиями в области безопасности ядра Linux. Работает над проектом userver, фреймворком для построения высоконагруженных микросервисов на языке С++ в техплатформе Екома и Райдтеха Яндекса.
Подробности и билеты.
Уроки кодогенерации JSON Schema
ℹ️ О чем доклад: как в userver писался кодген С++ кода по описанию JSON Schema, с какими проблемами пришлось столкнуться и какие интересные решения получились.
Посмотрим, как пользоваться Jinja-генерацией правильно для генерации кода на C++. Как можно выделять из шаблонов Jinja общую логику и помещать ее в простые библиотеки. Полученный библиотечный код можно использовать не только в кодгене, но и в простом коде.
⛏️ Кому: всем, кто интересуется С++ шаблонами и их использованием в продакшен-коде.
🗣 Спикер: Василий Куликов — окончил ВМК МГУ. Занимался исследованиями в области безопасности ядра Linux. Работает над проектом userver, фреймворком для построения высоконагруженных микросервисов на языке С++ в техплатформе Екома и Райдтеха Яндекса.
Подробности и билеты.
❤6🔥3👍2
#анонсы
Пост для вашего тимлида, или 5 причин отправить вас на конференцию
Вы подписаны на канал конференции. Возможно участвовали в ней или еще думаете об этом. Большинство ответит тимлиду на вопрос «зачем идти на новую C++ Russia»: мол, интересные доклады, дискуссии, полезные знакомства...
Но как донести до руководителя, что поход на конференцию — это не только «новое и интересное», но еще и «полезное»? И для развития вас как специалиста, и для проектов вашей команды.
Мы утверждаем, что просто закупить профессиональную литературу для команды недостаточно. Профессиональные конференции важны как для сотрудников, так и для компании в целом.
Сегодня мы принесли вам 5 причин, почему разработчикам нужны такие мероприятия. Наша Новая статья на Хабре подкрепляет их научными и практическими аргументами.
Делитесь этой статьей с руководителями. Она поможет разобраться не только с причинами отправить вас, но и с тем, как все устроено — какие активности есть на конференциях, в каких форматах участвовать, и как купить билет за счет компании.
Пост для вашего тимлида, или 5 причин отправить вас на конференцию
Вы подписаны на канал конференции. Возможно участвовали в ней или еще думаете об этом. Большинство ответит тимлиду на вопрос «зачем идти на новую C++ Russia»: мол, интересные доклады, дискуссии, полезные знакомства...
Но как донести до руководителя, что поход на конференцию — это не только «новое и интересное», но еще и «полезное»? И для развития вас как специалиста, и для проектов вашей команды.
Мы утверждаем, что просто закупить профессиональную литературу для команды недостаточно. Профессиональные конференции важны как для сотрудников, так и для компании в целом.
Сегодня мы принесли вам 5 причин, почему разработчикам нужны такие мероприятия. Наша Новая статья на Хабре подкрепляет их научными и практическими аргументами.
Делитесь этой статьей с руководителями. Она поможет разобраться не только с причинами отправить вас, но и с тем, как все устроено — какие активности есть на конференциях, в каких форматах участвовать, и как купить билет за счет компании.
Хабр
5 причин отправить сотрудника на IT-конференцию
Часть компаний считают, что вместо билетов на конференцию лучше закупить сотрудникам профессиональную литературу. Мы в JUG Ru Group знаем, почему этого недостаточно. Мы проводим IT-конференции больше...
❤5🔥4
#доклады
Как компиляторы на основе LLVM моделируют неопределенное поведение и извлекают из него пользу
ℹ️ О чем доклад: как компиляторы на основе LLVM, такие как Clang, решали проблему представления неопределенного поведения в своем IR.
Познакомимся с понятием отложенного UB, из-за которого опасный код не взрывается сразу, и поговорим о том, как LLVM с ним работает.
Как было раньше и как стало сейчас, как от этого выигрывает оптимизатор, и какие опасности подстерегают тех, кто недостаточно осторожен с конструкциями, которые могут производить UB.
🗣 Спикер: Макс Казанцев — разработчик компиляторов с опытом более 10 лет. Работал над JIT- и AOT-компиляторами для Dalvik и ART JVM для ОС Android в Intel, занимался разработкой оптимизаций для компилятора Falcon в Azul Systems. Разрабатывал компиляторы для нейронных сетей в Cadence.
С 2017 по 2023 год — активный участник сообщества LLVM, автор около 1000 патчей, в основном относящихся к цикловым оптимизациям на LLVM IR.
Сейчас занимается перспективными вычислительными разработками в Сбере.
Читает курс лекций по компиляторам в Новосибирском государственном университете.
Подробности и билеты
Как компиляторы на основе LLVM моделируют неопределенное поведение и извлекают из него пользу
ℹ️ О чем доклад: как компиляторы на основе LLVM, такие как Clang, решали проблему представления неопределенного поведения в своем IR.
Познакомимся с понятием отложенного UB, из-за которого опасный код не взрывается сразу, и поговорим о том, как LLVM с ним работает.
Как было раньше и как стало сейчас, как от этого выигрывает оптимизатор, и какие опасности подстерегают тех, кто недостаточно осторожен с конструкциями, которые могут производить UB.
🗣 Спикер: Макс Казанцев — разработчик компиляторов с опытом более 10 лет. Работал над JIT- и AOT-компиляторами для Dalvik и ART JVM для ОС Android в Intel, занимался разработкой оптимизаций для компилятора Falcon в Azul Systems. Разрабатывал компиляторы для нейронных сетей в Cadence.
С 2017 по 2023 год — активный участник сообщества LLVM, автор около 1000 патчей, в основном относящихся к цикловым оптимизациям на LLVM IR.
Сейчас занимается перспективными вычислительными разработками в Сбере.
Читает курс лекций по компиляторам в Новосибирском государственном университете.
Подробности и билеты
🔥8❤3🤔1
#видеозаписи
Слова «C++» и «JSON» нечасто встречаются в одном названии.
Но тем интереснее послушать такой доклад, и в этот #плюсочетверг открываем его запись.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
Слова «C++» и «JSON» нечасто встречаются в одном названии.
Но тем интереснее послушать такой доклад, и в этот #плюсочетверг открываем его запись.
YouTube | VK Видео
Скачать презентацию с сайта C++ Russia
🔥4❤2