х2018 Autumn2018 Spring2017 Autumn2017 Spring2017 Winter2016 Autumn2016 Summer20162015

C++ CoreHard Spring 2018 Conference

C++ CoreHard Spring 2018 – очередная конференция для C++ разработчиков.

Организаторами выступает сообщество CoreHard.by , объединяющее не только С++ разработчиков, но и тех, кто интересуется С, ассемблером, промышленными контроллерами и высоконагруженными серверными решениями.

На этот раз конференция пройдет в 2 дня: 7 апреля - день докладов, 8 апреля - день мастер-классов

Официальные языки конференции: русский, английский

Хотите выступить с докладом? Оставляйте заявку


#CoreHardBy

Выступают

Конференция

  • 10:30 - 11:00

    Регистрация

  • 11:00 - 11:10

    Открытие

  • 11:10 - 12:00

    Objects? No thanks! [English]

    Wouter van Oijen

    Classic C++ objects provide abstraction, but at a run-time cost. For compile-time known compositions, static classes and static class templates provide the benefits of abstraction without the time and space overhead.

  • 12:10 - 13:00

    25 лет истории C++, пролетевшей на моих глазах

    Евгений Охотников

    Автор доклада познакомился с C++ в 1991-ом году, а с 1992-го года C++ является для докладчика основным языком разработки. Что происходило с языком за это время? Как и почему он стал популярным? Как начался застой в развитии C++? Как C++ потерял свою популярность? Есть ли место для C++ в современном мире? Попробуем поговорить об этом опираясь на 25-летний опыт программирования на C++.

  • 13:10 - 14:00
  • 14:00 - 15:00

    Обед

  • 15:10 - 16:00

    Collection processing. Single essence, multiple manifestations [English]

    Вадим Винник

    Along the whole history of programming, sequential elementwise processing of various kinds of collections has been and still is one of the most common practical tasks. Internal representation of the collections, as well as the algorithm used to fetch subsequent elements, may vary in a very wide range: array, linked list, tree, hash table, file et al. However, behind the variety of idioms, standard library functions, ad-hoc solutions, one can reveal the essence that remains invariant for that whole class of tasks. This talk aims to show a step-by-step transition from algorithms based on explicit description of actions over individual elements towards high-level, declarative processing tools that treat a collection as an entity and adequately reveal the logic of the domain.

  • 16:10 - 17:00

    Многогранный С++ на практике

    Михаил Матросов

    В С++ существует множество способов решения одной и той же задачи. Мы возьмём реальную задачу из моей практики и исследуем ряд инструментов С++ для её решения: контейнеры STL, boost.range, C++20 ranges, coroutines. Мы сравним решения с точки зрения их интерфейсов и производительности, а также увидим, как одно решение может быть легко получено из другого, если код правильно организован. В процессе мы посмотрим на возможности С++17: constexpr if, selection statements with initializer, std::not_fn, и т.д. Особое внимание будет уделено стандартным алгоритмам (моей любимой теме).

  • 17:10 - 18:00

    Beware of C++17 [English]

    Nicolai Josuttis

    The devil is in the detail. This also applies to C++17. We get new cool features, but we also get new things to care for and remember. This talk discusses some of the cool features when they may lead to surprises.

  • 18:10 - 19:00

    Дадим жару Комитету! [English]

    Nicolai Josuttis, Wouter van Oijen, Antony Polukhin

    Задай любой каверзный вопрос участникам Комитета Стандартизации С++

  • 19:00 - 19:10

    Закрытие

  • 10:30 - 11:00

    Регистрация

  • 11:00 - 11:10

    Открытие

  • 11:10 - 12:00

    Objects? No thanks! [English]

    Wouter van Oijen

    Classic C++ objects provide abstraction, but at a run-time cost. For compile-time known compositions, static classes and static class templates provide the benefits of abstraction without the time and space overhead.

  • 12:10 - 13:00

    Как работает анализ Data Flow в статическом анализаторе кода

    Павел Беликов

    Анализ Data Flow (потоков данных) - технология анализа исходного кода программ, широко используемая в различных development tools: компиляторах, линтерах, IDE. Мы поговорим о нём на примере разработки статического анализатора. Рассмотрим классификацию и различные виды Data Flow анализа, смежные технологии, взаимодополняющие друг друга и проблемы, возникающие при его разработке, и сюрпризы, которые нам преподносит C++, когда мы пытаемся его проанализировать. В ходе доклада мы разберём несколько ошибок, найденных в реальных проектах с помощью этой технологии.

  • 13:10 - 14:00

    Настройка окружения для кросскомпиляции проектов на основе docker'a

    Александр Чуприна

    Как быстро и легко настраивать/обновлять окружения для кросскомпиляции проектов под различные платформы(на основе docker), как быстро переключаться между ними, как используя эти кирпичики организовать CI и тестирование(на основе GitLab и Docker).

  • 14:00 - 15:00

    Обед

  • 15:10 - 16:00

    Инструменты профайлинга С++ кода

    Александр Зайцев

    Так бывает, что иногда ваше приложение начинает долго выполнять казалось бы обыденные задачи и потреблять большое количество оперативной памяти. А вы как разработчик и понятия не имеете, почему же так происходит (но вам интересно). В ходе доклада поговорим о средствах, которые могут нам понять причины странного поведения наших программ. Если не боитесь таких слов как Valgrind, gprof, gperftools и многих других - добро пожаловать!

  • 16:10 - 17:00

    Кодогенерация C++ кроссплатформенно

    Алексей Ткаченко

    В докладе будет рассмотрена генерация кода при компиляции различных языковых конструкций, как простых, так и сложных, на различных платформах, как общераспространённых x86/x64, так и тех, которым уделяется меньше внимания: ARM, AVR. Также будут встречаться примеры для совсем экзотических процессоров вроде PowerPC и даже MicroBlaze. Основной упор будет делаться не на обработку данных, а именно на сопоставление различных конструкций кода с инструкциями целевых платформ.

  • 17:10 - 18:00

    Ядро мультикроптовалютного кошелька Multy

    Василий Немков

    3,5 блокчейна в 2 мегабайта: как, зачем и почему. Особенности разработки кросс-платформенных решений для блокчейна.

  • 18:10 - 19:00

    Дадим жару Комитету!

    Nicolai Josuttis, Wouter van Oijen, Antony Polukhin

    Задай любой каверзный вопрос участникам Комитета Стандартизации С++

  • 19:00 - 19:10

    Закрытие

  • 10:30 - 11:00

    Регистрация

  • 11:00 - 11:10

    Открытие

  • 11:10 - 12:00

    Objects? No thanks! [English]

    Wouter van Oijen

    Classic C++ objects provide abstraction, but at a run-time cost. For compile-time known compositions, static classes and static class templates provide the benefits of abstraction without the time and space overhead.

  • 12:10 - 13:00

    C++ для web с помощью Emscripten

    Андрей Карпушин

    В докладе я расскажу о своем практическом опыте компиляции и использовании C++ на веб страницах, о том что нужно сделать, чтобы портировать приложение на С++ под веб, об ограничениях с этим связанных, об интеграции С++ кода с JavaScript и другими элементами веб страницы.

  • 13:10 - 14:00

    Перехват функций (хуки) под Windows в приложениях с помощью C/C++

    Андрей Якимов

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

  • 14:00 - 15:00

    Обед

  • 15:10 - 16:00

    Фича-компонентный подход при разработке игр

    Сергей Соложенцев

    Технический директор Элис Гейм расскажет о том, как менялись подходы к работе с игровыми объектами в match 3 играх, и как мы пришли к текущему фича-компонентному подходу создания изменяемых игровых объектов. В чем его преимущества над остальными испробованными подходами для создания туториалов, многочисленных режимов, а также реюзинга кода.

  • 16:10 - 17:00

    From C++ to Objective-C

    Александр Маркевич

    В этом докладе я хочу рассказать о том, что Obj-C/C++ — это расширение существующих C/C++. В данном докладе будут рассмотрены особенности языка, будет рассказано про управление памятью (retain/release vs. ARC vs. shared_ptr/unique_ptr), про Swift и почему он лучше или хуже Obj-C/C++.

  • 17:10 - 18:00

    Beware of C++17 [English]

    Nicolai Josuttis

    The devil is in the detail. This also applies to C++17. We get new cool features, but we also get new things to care for and remember. This talk discusses some of the cool features when they may lead to surprises.

  • 18:10 - 19:00

    Дадим жару Комитету!

    Nicolai Josuttis, Wouter van Oijen, Antony Polukhin

    Задай любой каверзный вопрос участникам Комитета Стандартизации С++

  • 19:00 - 19:10

    Закрытие

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

  • 10:30 - 11:00

    Регистрация на мастер-классы

  • 11:00 - 19:00

    Шустрый и современный C++

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

    В любой большой кодовой базе можно встретить куски абсолютно непонятного кода. Как правило такой код пишется чтобы немного выиграть в производительности приложения... и как правило такой код не нужен в принципе, так как оптимизирует не то что нужно, не в том месте где это нужно и не так как надо. В ходе мастер класса мы натолкнёмся на особенности аллокаторов, оптимизаторов и имплементаций контейнеров; посмотрим на ассемблерный код; научимся правильно и понятно писать быстрые однопоточные и многопоточные приложения. Для курса понадобится всего лишь базовые знания C++ и компилятор с поддержкой C++11 (как минимум Visual Studio 2013, или Clang-3.3, или GCC-4.8).

  • 10:30 - 11:00

    Регистрация на мастер-классы

  • 11:00 - 19:00

    Программируем грамотно на C++ 11, 14, 17: особенности языка и стандартной библиотеки

    Вадим Винник

    Язык C++ меняется на глазах. Для часто возникающих на практике задач, ранее требовавших от программиста особых ухищрений, вводятся ясные и лаконичные средства либо в сам язык, либо стандартную библиотеку, или в библиотеку Boost. Обратная сторона развития языка заключается в том, что многие программисты не успевают уследить за изменениями и продолжают программировать в духе C++98. Кроме того, в повседневной работе часто приходится иметь дело с кодом, написанным годы назад, который можно значительно сократить и сделать очевидным, воспользовавшись новыми удобствами языка. Однако для этого новые средства C++ должны стать очевидными для самого программиста. В ходе мастер-класса будут рассмотрены средства, появившиеся в стандартах C++ 11, 14 и 17, которыми до сих пор пользуются не все. Для участия в мастер-классе понадобится портативная ЭВМ с установленным компилятором C++, поддерживающим стандарт C++17 и более ранние.

  • 10:30 - 11:00

    Регистрация на мастер-классы

  • 11:00 - 19:00

    C++17 - The new Language and Library Features [English]

    Nicolai Josuttis

    C++17 is out for a year now and at least partially supported by Clang, GCC, and Visual Studio. While C++ is no revolution and changes the style of programming (as C++11 did), it is a remarkable collection of many many features both in the core language and the library. It might look that all this is easy to learn and to use. But beware, C++17 is a lot more complex than it looks like. There are nice hidden features, significant remarkable design issues, and important pitfalls (especially when combining new features). This tutorial discusses the new features with the focus of remarkable applications and traps that can occure in practice.

Организаторы

  • CoreHard

Партнеры

  • Solarwinds
  • Awem
  • PVS-Studio
  • DPI Solutions

Инфопартнеры

  • Job tut.by
  • Wargaming
  • Kaspersky Lab
  • IT-academy
  • Dot Net Summit
  • dev.by
  • Imaguru
  • IBA
  • comaqa.by
  • Epam
  • itstep.by
  • gamedev.by
  • javaday.by
  • conf.cocoaheads.by
  • ITVDN
  • HotWork
  • trud.com
  • avradays.com
  • vse-kursy.by
  • Аргументы и Факты
  • БГУИР
  • afisha.tut.by
  • Relax.by