Конференция C++ Russia,
24-25 февраля 2017

25
лучших спикеров
из России и Европы
1250
минут информации
для опытных
разработчиков

О конференции

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

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

Доклады

Подать заявку на доклад можно
до 15 января 2017 года.

Как обычно, продолжительность доклада не должна превышать 50 минут (с учетом вопросов). Мы рады докладам о C++(11/14/17), STL, Boost, Qt, любых других библиотеках, тестировании и сборке крупных проектов на С++, асинхронности и конкурентности, etc.

Хочу стать
спикером!
25/02/17
Track A
13:45 - 14:45
Дмитрий Вьюков
Дмитрий Вьюков
Fuzzing: The New Unit Testing

Фаззинг - это тестирование программ на неправильных, неожидаемых или случайных входных данных. В докладе я расскажу о типах фаззеров, о том, как они работают и о существующих реализациях. Мы напишем и запустим настоящий фаззер. Найдем HeartBleed менее, чем за минуту. Так же я расскажу о том, как фаззеры могут угадывать правильные CRC чексуммы во входных данных, помогать с регрессионным тестированием, находить логические ошибки в коде и о том, как мы используем фаззинг в Google.

24/02/17
Track C
16:00 - 17:00
Роман Орлов
Роман Орлов
Догнать и перегнать boost::lexical_cast или быстрое преобразование целого числа в строку

Из документации к библиотеке Boost Lexical cast известно, что преобразование целого числа в строку lexical_cast выполняет быстрее других стандартных средств. Можно ли написать более быстрый алгоритм с не меньшей степенью обобщенности?

В докладе будет рассмотрена реализация такого алгоритма, который на синтетических тестах опережает lexical_cast в 2-5 раз в зависимости от компилятора и флагов оптимизации. Особенность реализации состоит в отсутствии циклов и рекурсивных вызовов времени исполнения - только рекурсия на этапе компиляции. Также будут затронуты особенности компиляции предлагаемого решения на Сlang и GCC.

25/02/17
Track A
16:00 - 17:00
Юрий Ефимочев
Юрий Ефимочев
clang-tidy: путешествие внутрь C++ Abstract Syntax Tree

Семейство библиотек clang предоставляет разработчикам широчайшие возможности по реализации инструментов анализа C++ кода. Одним из таких инструментов является статический анализатор C++ кода clang-tidy. В докладе я расскажу как можно расширить возможности этого анализатора собственным проверками и где все это можно применить в процессе разработки. Попутно будут рассмотрены некоторые занимательные особенностями внутренней механики(абстрактного синтаксического дерева) С++.

25/02/17
Track A
12:45 - 13:45
Виктор Ястребов
Виктор Ястребов
Повышение качества разработки c использованием юнит-тестов

В докладе рассмотрены подходы к созданию надежных юнит-тестов, которые просты в поддержке и модернизации, а также принципы создания кода пригодного для покрытия автотестами. Приведены два способа внедрения зависимости: с использованием конструктора тестируемого объекта, а также с использованием подхода "выделить и переопределить". Каждый из способов разобран на примере, демонстрирующем особенности его реализации и применения. Приведен ряд практических советов, нацеленных на создание надежных юнит-тестов. Использование на практике приведенных подходов и принципов позволяет упростить процесс поддержки и модификации существующего кода, а также дает уверенность в надежности работы добавляемого нового функционала. В конечном итоге это приводит к повышению качества разрабатываемого продукта.

24/02/17
Track B
13:45 - 14:45
Timur Doumler
Timur Doumler
Readable Modern C++

C++ offers great performance and many powerful features like the standard library, a rich type system, and compile-time programming. However, it often ends up being hard to read. High-level languages like C++ are usually not written to communicate with compilers. They’re usually written to communicate with people. In fact, many developers spend more time reading and understanding other people's code than writing their own.

This talk focuses on how to optimise C++ code for being easily readable by average human developers, ideally being close to plain English. I will revisit best practices on naming, comments, and locality from a modern C++ perspective. Readability also means writing less code and avoiding repetitions and unnecessary noise. I will present practical use cases of modern C++ features that are especially effective to achieve this. I will finish the talk with an overview of new C++17 features aiming at more readable code, such as fold expressions, constexpr-if, and structured bindings.

Программа

После регистрации и вводной лекции вся программа идёт на трёх треках параллельно. После конференции на нашем сайте можно будет посмотреть слайды и видео докладов.

23/02/17
Applied functional programming in C+ Embedded Programming with modern C++ Continuous integration для C++ разработчика Инструменты для эффективной разработки на C++
9:00 - 10:00 Регистрация на мастер-классы
10:00 - 12:00 Applied functional programming in C++ I Embedded Programming with modern C++ I Continuous integration для C++ разработчика I Продуктивная кроссплатформенная разработка на C++ с использованием CLion
12:00 - 12:45 Кофе-брейк
12:45 - 14:45 Applied functional programming in C++ II Embedded Programming with modern C++ II Continuous integration для C++ разработчика II CMake – билд-система, о которой должен знать каждый С++ разработчик
14:45 - 16:00 Обед
16:00 - 18:00 Applied functional programming in C++ III Embedded Programming with modern C++ III Continuous integration для C++ разработчика III Продуктивная разработка на C++ с использованием ReSharper C++
18:00 - 20:00 Предрегистрация на конференцию
24/02/17
track atrack btrack c
09:00 - 10:00 Регистрация
10:00 - 12:00 Сергей ЗубковC++ Core Guidelines
12:00 - 12:45 Кофе-брейк
12:45 - 13:45 Антон БикинеевReflection in C++Next Евгений Рыжков, Андрей КарповКак потратить 10 лет на разработку анализатора кода Василий СорокинПростой REST сервер на Qt с рефлексией
13:45 - 14:45 Rainer GrimmProgramming at compile time Timur DoumlerReadable Modern C++ Денис КормалевИстория одного бага
14:45 - 16:00 Обед
16:00 - 17:00 Сергей ШамбирАдаптация Promise/A+ для взаимодействия между C++ и Javascript Илья ШишковФитнес для вашего кода: как держать его в форме Роман ОрловДогнать и перегнать boost::lexical_cast или быстрое преобразование целого числа в строку
17:00 - 18:00 Ivan CukicGoing functional Михаил МатросовПовседневный С++: алгоритмы и итераторы Григорий ДемченкоУниверсальный адаптер
25/02/17
track atrack btrack c
10:00 - 12:00 Полухин АнтонКак делать не надо: C++ велосипедостроение для профессионалов
12:00 - 12:45 Кофе-брейк
12:45 - 13:45 Виктор ЯстребовПовышение качества разработки c использованием юнит-тестов Александр БоргардтМодели акторов в С++ миф или реальность. Алексей КутумовC++ без исключений, часть 3
13:45 - 14:45 Дмитрий ВьюковFuzzing: The New Unit Testing Евгений ОхотниковДля чего мы делали собственный акторный фреймворк и что в итоге получили? Evgeniy Muralev, Mark VinceWorking with the compiler, not against it
14:45 - 16:00 Обед
16:00 - 17:00 Юрий Ефимочевclang-tidy: путешествие внутрь C++ Abstract Syntax Tree Антон НаумовичГарантии качества для крупных С++ проектов Максим ХижинскийИтераторы в lock-free структурах данных
17:00 - 18:00 Евгений ЗуевС++ в России: Стандарт языка и его реализация Руслан МорозовВнедрение практик безопасного кодирования Евгений КрутькоC++17: параллельная версия стандартных алгоритмов

Купить билет

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

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

Gold спонсоры

Silver спонсоры

Community спонсоры

Контакты

Место проведения: гостиница «Бородино», Москва, ул. Русаковская, дом 13, стр. 5

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

+7 (905) 292-77-13