• Смотреть запись

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

    Generators, coroutines and other brain-unrolling sweetness

    We'll see how coroutines allow for cleaner code, easier abstraction and genericity, composition and avoiding callbacks and inversion of control.

  • Смотреть запись

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

    Modern techniques for keeping your code dry

    Björn will show modern C++ techniques enabling you to write your own zero-cost abstractions that help getting rid of the patterns that keep repeating in your code.

  • Смотреть запись

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

    Исключения C++ через призму компиляторных оптимизаций

    Доклад Романа продемонстрирует, когда делать сборку своего приложения с -fno-exceptions имеет смысл, а когда можно использовать C++ исключений, зная, что код не потерял в производительности.

  • Смотреть запись

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

    C++ трюки из Такси

    Нетиповое и эффективное решение типовых задач:

    • Паттерн Pimpl — но без динамических аллокаций;
    • Быстрое логирование пользовательских типов — но, по возможности, без std::ostream и локалей;
    • Конвертация из JSON/XML/YAML/... в пользовательские типы — но c ADL и переиспользованием кода (почти что перегрузка функций по возвращаемому значению).
  • Смотреть запись

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

    Под капотом стандартной библиотеки C++

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

  • Смотреть запись

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

    Преждевременная оптимизация — зло! Да здравствует преждевременная оптимизация!

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

  • Смотреть запись

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

    Автоматизируй это

    Как легко настроить инфраструктуру вокруг проекта и обеспечить безболезненное обновление сервисов, расскажет Кирилл Тихонов.

  • Смотреть запись

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

    Сериализация объектов с блэкджеком и метапрограммированием

    В своем докладе Александр опишет подход к полуавтоматической сериализации через геттеры при помощи метапрограммирования.

  • Смотреть запись

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

    The C++20 synchronization library

    C++20 introduces a range of number of new synchronization primitives designed for the modern era; in this talk, you'll learn how to use these new tools to write scalable C++ software.

  • Смотреть запись

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

    Squaring the circle: value-oriented design in an object-oriented system

    Learn about how cursors and reactive lenses can help designing your code around value-semantics and functions, modernizing legacy code-bases and UI's otherwise written in a referential, object-oriented style.

  • Смотреть запись

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

    A state of сompile time regular expressions

    Learn how to parse a regular expression pattern in compile-time and generate matcher with finite automaton.

  • Смотреть запись

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

    Как мы начали использовать vcpkg

    Доклад будет посвящен vcpkg, его плюсам и фатальным недостаткам. Мы эти недостатки разберем и починим, и наша система на vcpkg будет более конкурентоспособна, чем Conan.

  • Смотреть запись

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

    Алгоритмическая и микроархитектурная оптимизация C++ приложений

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

  • Смотреть запись

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

    The C++ rvalue lifetime disaster

    Arno will talk about the main problems surrounding rvalue references and suggest the alternate solution with the help of the library-only approach.

  • Смотреть запись

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

    Compile-time type tagging

    We will use and explain many new C++ features like fold expressions, concepts, type lists and index sequences, and the code will extensively use move semantics to generate a cleaner assembly code for type instantiation.

  • Смотреть запись

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

    Teaching geometry to C++

    With the linear algebra proposal making its way through the C++ standard committee, the authors are now considering teaching analytical geometry to C++. This talk will tell you about the progress to date.

  • Смотреть запись

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

    Применение slab-аллокаторов в высоконагруженных сетевых приложениях

    Николай расскажет о том, как он и его команда решили проблему фрагментации памяти, и с какими ограничениями им пришлось столкнуться в процессе.

  • Смотреть запись

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

    Dart, как возможность перенести C++ приложение в web

    В один момент Тимофей и его команда поняли, что разработка клиентского приложения на C++ — это долго и дорого. И постепенно начали переносить продукты в веб. Спикер расскажет о том, как команда из C++ разработчиков смогла быстро переписать C++ код для web с помощью языка Dart.

  • Смотреть запись

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

    Жилье комфорт-класса для акторов и хендлеров

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

  • Смотреть запись

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

    Модули в С++20 — правда или вымысел?

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

  • Смотреть запись

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

    BareMetal C++

    Карина покажет и расскажет про особенности написания и сборки C++ кода при ограниченных ресурсах и отсутствии компилятора.

  • Смотреть запись

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

    Спецификаторы, квалификаторы и шаблоны

    В С++ не так-то просто объявить переменную или функцию. Когда для неё стоит указывать static и inline? const и constexpr? Что насчёт consteval и constinit? Как всё это взаимодействует с шаблонами? В этом докладе Михаил попытается разложить по полочкам всё это многообразие.

  • Смотреть запись

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

    С++ Enterprise Edition — брокеры сообщений

    Александр расскажет о том, что сегодня присутствует на рынке MessageMQ, какие представители наиболее ярки сегодня, разберёт преимущества и недостатки брокеров сообщений с учетом локального рынка импортозамещения. И конечно же, расскажет, как он написал свой брокер сообщений и, главное, зачем.

  • Смотреть запись

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

    Hardening the C++ standard template library

    The C++ standard library is used by all C++ programs; it needs to be as robust as possible. Marshall will talk about the techniques used by libc++ to ensure robustness. He will cover debug mode, test suites, static analysis, dynamic analysis, code coverage tools, and fuzzing.

  • Смотреть запись

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

    Better code: Relationships

    A look at common ways data and code are connected in an application, how those relationships are typically represented, and the problems caused by the use and misuse of these paradigms. Then we'll look at ways to model these relationships in C++ and use them to build correct applications.

  • Смотреть запись

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

    A unifying abstraction for async in C++

    Eric Niebler digs into the Standard Committee's search for the basis operations that underpin all asynchronous computation. He will discuss why futures and promises are slow, what an executor is, what callbacks and coroutines have in common, and how the "Task" abstraction — under active R&D at Facebook — might do for async algorithms what the Iterator abstraction did for synchronous ones.

  • Смотреть запись

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

    The Big Four of C++20

    How C++20 will change the way we program modern C++.

  • Смотреть запись

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

    Type punning in modern C++

    This talk is a comprehensive overview of type punning techniques, including new ones introduced in C++20. We will discuss when and how they can be used safely without causing undefined behaviour, what C++ does and does not allow you to do (and why), existing holes in the C++ language, and how to fix them. In the process, we will cover important C++ concepts such as object lifetime, object representation, and aliasing rules.