Конференция C++ Russia
Санкт-Петербург
19-21 апреля 2018

27
лучших докладчиков
1250
минут информации
для опытных
разработчиков

Конференция «C++ Russia» с блинами и матрёшками! Как всегда, лучшие докладчики
со всей страны на два дня. Конференция ориентирована на опытных разработчиков, никаких вводных лекций!

Место проведения: Санкт-Петербург, ул. Кораблестроителей, 14, гостиница Прибалтийская.

В течение года сообщество проводит встречи в разных городах России: Москве, Санкт-Петербурге, Новосибирске, Екатеринбурге, Нижнем Новгороде, Саратове.
На встречах выступают докладчики из разных городов и стран.

Открывать конференцию будет Jon Kalb, разработчик с 25-летним стажем
В течение этого времени успел поработать в Amazon, Microsoft, Netscape,
Yahoo и других компаниях. Jon -- организатор конференции CppCon. Автор книги
C++ Today: The Beast is Back.

Доклады

21/04/18
Track D
12:45 - 13:45
Евгений Лукьянец
Евгений Лукьянец
Сборка в Docker с использованием Conan

Сборку C++ проекта можно перенести внутрь docker-контейнера, при этом, вместо установки необходимых библиотек и зависимостей в хост-систему, их можно либо устанавливать прямо в docker-образ (например, Cuda), либо устанавливать с помощью менеджера C++ библиотек Conan (например, Boost). При этом получается изолированное контролируемое (и каждый раз одинаковое) окружение для сборки, в которое можно подключить кэш Conan, поэтому разные проекты, использующие одни и те же библиотеки будут использовать одни и те же их сборки. Также отпадает зависимость сборки от дистрибутива Linux, в котором собирается проект, главное — чтобы можно было на этом дистрибутиве запустить Docker.

Slides in pdf

20/04/18
Track A
16:00 - 17:00
Viktor Kirilov
Viktor Kirilov
Interactive C++ Compilation (REPL): The Lean Way

Ever wanted to modify some value or execute some statement while your C++ program is running just to test something out - not trivial or possible with a debugger? Scripting languages have a REPL (read-eval-print-loop). The closest thing C++ has is cling (developed by researchers at CERN) but it is built on top of LLVM and is very cumbersome to set up. RCRL (Read-Compile-Run-Loop) is a demo project showcasing an innovative approach to doing runtime C++ compilation in a platform and compiler agnostic way which can be easily embedded. In this presentation we will see how to use it, how it works and how it can be modified and integrated into any application and workflow.

Slides in pdf

20/04/18
Track C
13:45 - 14:45
Сергей Васильев
Сергей Васильев
Статический анализ: ищем ошибки... и уязвимости?

Новости об очередной найденной уязвимости регулярно всплывают то тут, то там. Сопутствующие потери $, как правило, колоссальны. Поэтому вместо исправления уязвимостей, следует не допускать их появления.

Один из способов борьбы с ошибками в коде – использование статического анализа. Но насколько он подходит для поиска уязвимостей? И так ли велика разница между простыми ошибками и уязвимостями с точки зрения кода?

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

Slides in pptx

21/04/18
Track A
13:45 - 14:45
Dietmar Kühl
Dietmar Kühl
Concept Based Testing

With concepts being added to the next revision of C++ it is expected that new concepts get defined. Each concept defines a set of operations used by generic code. One such use could be a generic test verifying that all parts of a concept are defined and checking generic interactions between a concept’s operations. Ideally, such a test even works with classes only partially modelling a concept to guide the implementation of classes.

This presentation doesn’t use the actual concept extensions but shows how generic tests can be created using features of C++17. For the generic tests the detection idiom and constexpr if are used to determine availability of required operations and gracefully dealing with the abseence of operations. The generic tests should be able to cover basics of classes modelling a concept. Obviously, specific behaviour for classes will still require corresponding tests.

Attendees are expected to be familiar basic C++. However, deep knowledge of template meta programming is not needed.

Slides in pdf

20/04/18
Track A
13:45 - 14:45
Jonathan Boccara
Jonathan Boccara
105 STL Algorithms in Less Than an Hour

We are all aware that we should know the STL algorithms. Including them in our designs allows us to make our code more expressive and more robust. And sometimes, in a spectacular way.

But do you know your STL algorithms?

In this talk, you'll see the 105 algorithms that the STL currently has, including those added in C++11 and C++17. But more than just a listing, the point of this talk is to present the different groups of algorithms, the patterns they form in the STL, and how the algorithms relate together.

This kind of big picture is the best way I know to actually remember them all, and constitute a toolbox chock-full of ways to make our code more expressive and more robust.

Slides in pdf

20/04/18
Track B
13:45 - 14:45
Mikhail Matrosov
Mikhail Matrosov
Versatile C++ applied

In C++ you can solve a single task in a multiple ways. We will pick an actual task from production, and investigate how it can be solved with a number of tools that C++ provides: STL containers, boost.range, C++20 ranges, coroutines. We will compare API constraints and performance of different solutions, and how they can be easily converted from one to another if the code is well-structured. During the way we explore applications of some useful C++17 features like constexpr if, selection statements with initializer, std::not_fn, etc. Special attention will be payed to my favorite topic - standard algorithms.

Slides in pptx

Программа

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

20/04/18
track atrack btrack ctrack d
09:00 - 10:00 Регистрация
10:00 - 12:00 Jon KalbC++ Today: The Beast is Back
12:00 - 12:45 Кофе-брейк
12:45 - 13:45 Arno SchödlFrom Iterators To Ranges — The Upcoming Evolution Of the Standard Library Borislav StanimirovDynaMix: A New Take on Polymorphism Дмитрий БанщиковРазделяемые библиотеки без внешних зависимостей Фёдор КороткийПамять – идеальная абстракция
13:45 - 14:45 Jonathan Boccara105 STL Algorithms in Less Than an Hour Mikhail MatrosovVersatile C++ applied Сергей ВасильевСтатический анализ: ищем ошибки... и уязвимости? Алексей СалминMemory Management Tips & Tricks
14:45 - 16:00 Обед
16:00 - 17:00 Viktor KirilovInteractive C++ Compilation (REPL): The Lean Way Александр ГранинФункциональный подход к Software Transactional Memory Илья ШишковКак научить языку C++: опыт создания курсов на Coursera Herb SutterNew in C++20: The spaceship operator (operator<=>)
17:00 - 18:00 Victor CiuraEnough string_view to hang ourselves Вадим ВинникCollection Processing. Single essence, multiple manifestations Иван ПономарёвCrash репорты Android NDK Анастасия КазаковаОтладка кода на C++, без запуска и компиляции
18:00 - 19:00 Andrei AlexandrescuFastware

Билеты

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

Как всегда действует студенческая программа.
Для получения скидки пишите на
students@cpp-russia.ru

Входной билет

Посещение основной программы конференции 20-21 апреля

Мастер-класс

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

Онлайн

Просмотр любого доклада. Записи докладов доступны в течение двух месяцев.

Ужин с докладчиками

Горячая пища и общение с докладчиками в неформальной обстановке. 20 апреля в 20.00

Купить билет

Перейтик заказу билетов

Platinum спонсор

Gold спонсоры

Silver спонсоры

Community спонсоры

Контакты

Место проведения: Санкт-Петербург, ул. Кораблестроителей, 14, гостиница Прибалтийская.

Если у Вас есть вопросы,
их можно задать по телефону или почте

+7 (905) 292-77-13