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

Phil Nash. Accelerated TDD: For More Productive C++ [English]

30 Апреля 2021

We all know that writing tests for our code is “what we should do”, and maybe we’re even doing that already. But it feels like extra busy-work that slows us down – and they hardly ever catch any bugs anyway…
Maybe we’ve even tried TDD, and felt that it was just …

Reindert-Jan Ekker. Python for C++ developers [English]

28 Апреля 2021

* Abstract

This session will give a short introduction to the Python programming language from the perspective of C++ programmer.

We will go over the core Python language and compare its features with
C++. Although many things are similar, you will learn about some
interesting and surprising differences between the two languages.
Along …

Павел Филонов. Защищая C++ [Russian]

23 Апреля 2021

Если поговорку "With great power comes a great responsibility" перевести на язык С++, то получится что-то в духе "Если для оптимизации программ вы используете низкоуровневый доступ к памяти, то вы же и отвечаете за контроль этого доступа".

Непонимание этой ответственности - причина большого набора известных уязвимостей в программном обеспечении.

Когда …

Антон Полухин. Шустрый и современный C++

22 Января 2021

Описание:
В любой большой кодовой базе можно встретить куски абсолютно непонятного кода. Как правило такой код пишется чтобы немного выиграть в производительности приложения... и как правило такой код не нужен в принципе, так как оптимизирует не то что нужно, не в том месте где это нужно и не так как надо.
В …

Rainer Grimm. Concurrency with modern C++ [English]

21 Декабря 2020

Дата: 21.12.2020
Время: 10:00 - 19:00 (GMT+3)
Место: Zoom.
Стоимость:
300 BYN (до 22.11.2020)
350 BYN (до 06.12.2020)
400 BYN (до 20.12.2020)

Описание:
This class gives you a detailed insight into the multithreading facilities of C++11, C++14, and the parallel algorithms which we got with C++17.

Mateusz Pusz. C++ Concepts [English]

17 Декабря 2020

Дата: 17.12.2020 (перенос с 27.11)
Время: 10:00 - 19:00 (GMT+3)
Место: Zoom
Стоимость:
300 BYN (до 30.11.2020)
400 BYN (до 16.12.2020)
Продолжительность: 8ч

C++ Concepts is one of the most significant and long-awaited features of C++20. They improve template interfaces by explicitly stating the compile-time …

Klaus Iglberger. Modern C++ Design Patterns [English]

11 Декабря 2020

Дата: 11.12.2020
Время: 10:00 - 19:00 (GMT+3)
Место: Zoom
Стоимость:
300 BYN (до 22.11.2020)
350 BYN (до 29.11.2020)
400 BYN (до 10.12.2020)
Продолжительность: 8ч

Design patterns have proven to be useful over several decades and knowledge about them is still very useful to design …

Павел Филонов. Запускаем ML модели на С++ [Russian]

При разработке продуктов, которые содержат в себе функционал на основе машинного обучения выделяют 2 важных этапа: обучение модели и ее применение.

Для обучения модели часто используется язык Python и многочисленные фреймворки для решения задач машинного обучения.

При применении модели уже нет такой однозначности и может возникнуть необходимость проинтегрировать готовую ML …

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

CoreHard 2018 Spring

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 …

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

CoreHard 2018 Spring

Язык C++ меняется на глазах. Для часто возникающих на практике задач, ранее требовавших от программиста особых ухищрений, вводятся ясные и лаконичные средства либо в сам язык, либо стандартную библиотеку, или в библиотеку Boost. Обратная сторона развития языка заключается в том, что многие программисты не успевают уследить за изменениями и продолжают …

Антон Полухин. Шустрый и современный C++

CoreHard 2018 Spring

В любой большой кодовой базе можно встретить куски абсолютно непонятного кода. Как правило такой код пишется чтобы немного выиграть в производительности приложения... и как правило такой код не нужен в принципе, так как оптимизирует не то что нужно, не в том месте где это нужно и не так как надо.
В …

Павел Филонов. Continuous integration для C++ разработчика

CoreHard 2018 Autumn

А мы построим свой CI с conan и travis
Вводная
В головах разработчиков бытует мнение, что их работа заканчивается после того, как они закомитили код, а весь остальной процесс их вовсе не касается. В ответ на этот тезис хорошо подходит цитата Роберта Хайнлайна:
Любой человек должен уметь менять пеленки, планировать вторжения, резать свиней, …

Ivan Čukić. Advanced C++ techniques and functional programming idioms [English]

CoreHard 2018 Autumn

- Algorithms in the standard library
- Function objects in C++, callables and std::invoke
- Lazy evaluation, lazy algorithms and ranges
- Creating new language constructs on the library level
- Removing invalid program states with sum types and std::variant
- Generic programming and template constraints using void_t
- Handling errors with optional<T> and expected<T, E>
- …

Rainer Grimm. Multithreading with modern C++ [English]

CoreHard 2018 Autumn

Abstract
This class gives you a detailed insight into the multithreading facilities of C++11 and C++14, and the parallel algorithms which we got with C++17. If possible, we will have a more in-depth look into the C++ memory model consisting of the atomics and the various memory models in C++. This …

Антон Полухин. Шустрый и современный C++

CoreHard 2018 Autumn

В любой большой кодовой базе можно встретить куски абсолютно непонятного кода. Как правило такой код пишется чтобы немного выиграть в производительности приложения... и как правило такой код не нужен в принципе, так как оптимизирует не то что нужно, не в том месте где это нужно и не так как надо.
В …

Павел Филонов. Continuous integration для C++ разработчика

CoreHard 2019 Spring

А мы построим свой CI с conan и travis
Вводная
В головах разработчиков бытует мнение, что их работа заканчивается после того, как они закомитили код, а весь остальной процесс их вовсе не касается. В ответ на этот тезис хорошо подходит цитата Роберта Хайнлайна:
Любой человек должен уметь менять пеленки, планировать вторжения, резать свиней, …

Mateusz Pusz. Modern C++ idioms [English]

CoreHard 2019 Spring

C++ is no longer C with classes and it never was only an Object Oriented language. C++ is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation. If used correctly, it provides hard to beat performance. Such usage requires …

Вадим Винник. Что используется каждый день, но остаётся малознакомым в С++: rvalue references, std::move, copy elision и не только

CoreHard 2019 Spring

- Template parameter and auto type inference.
- Auto refenerces and passing arguments into a function.
- Expression categories: (gl|r|l|x|pr)-values.
- When are constructors get called and when do not.
- Tail recursion optimisation becomes possible in C++.
- Actually, std::move does not move anything.
- Constexpr vs. const.
- Smart pointers vs. raw pointers.
- Function objects …

Антон Полухин. Шустрый и современный C++

CoreHard 2019 Spring

В любой большой кодовой базе можно встретить куски абсолютно непонятного кода. Как правило такой код пишется чтобы немного выиграть в производительности приложения... и как правило такой код не нужен в принципе, так как оптимизирует не то что нужно, не в том месте где это нужно и не так как надо.
В …

Павел Филонов. Continuous integration для C++ разработчика

CoreHard 2019 Autumn

А мы построим свой CI с conan и travis
Вводная
В головах разработчиков бытует мнение, что их работа заканчивается после того, как они закомитили код, а весь остальной процесс их вовсе не касается. В ответ на этот тезис хорошо подходит цитата Роберта Хайнлайна:
Любой человек должен уметь менять пеленки, планировать вторжения, резать свиней, …

Mateusz Pusz. Modern C++ idioms [English]

CoreHard 2019 Autumn

C++ is no longer C with classes and it never was only an Object Oriented language. C++ is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation. If used correctly, it provides hard to beat performance. Such usage requires …

Вадим Винник. Что используется каждый день, но остаётся малознакомым в С++: rvalue references, std::move, copy elision и не только

CoreHard 2019 Autumn

- Template parameter and auto type inference.
- Auto refenerces and passing arguments into a function.
- Expression categories: (gl|r|l|x|pr)-values.
- When are constructors get called and when do not.
- Tail recursion optimisation becomes possible in C++.
- Actually, std::move does not move anything.
- Constexpr vs. const.
- Smart pointers vs. raw pointers.
- Function objects …

Антон Полухин. Шустрый и современный C++

CoreHard 2019 Autumn

В любой большой кодовой базе можно встретить куски абсолютно непонятного кода. Как правило такой код пишется чтобы немного выиграть в производительности приложения... и как правило такой код не нужен в принципе, так как оптимизирует не то что нужно, не в том месте где это нужно и не так как надо.
В …

Вадим Винник. Вычисления на этапе компиляции и метапрограммирование

CoreHard 2020 Spring

- Категории выражений: как не запутаться в (g?l|p?r|x)value;
- Семантика перемещения и её альтернативы (RVO, CoW);
- Специализации функций для короткоживущих объектов;
- Вычисления на этапе компиляции с помощью constexpr;
- Параметрический полиморфизм;
- Гибкая настройка с помощью классов свойств;
- SFINAE и сопоставление с образцом;
- Арифметические вычисления на типах;
- Обработка списков на этапе компиляции.

Klaus Iglberger. Modern C++ Design Patterns [English]

CoreHard 2020 Spring

Design patterns have proven to be useful over several decades and knowledge about them is still very useful to design robust, decoupled systems. Modern C++, however, has profoundly changed the way we use C++, think about design and implement solutions. This hands-on training explores modern C++ design and the modern …

Rainer Grimm. Concurrency with modern C++ [English]

CoreHard 2020 Spring

Course Description
This class gives you a detailed insight into the multithreading facilities of C++11, C++14, and the parallel algorithms which we got with C++17.
Additionally, we will have a look into the C++ memory model consisting of the atomics and the various memory orders in C++. This insight will provide you …

Антон Полухин. Шустрый и современный C++

CoreHard 2020 Spring

В любой большой кодовой базе можно встретить куски абсолютно непонятного кода. Как правило такой код пишется чтобы немного выиграть в производительности приложения... и как правило такой код не нужен в принципе, так как оптимизирует не то что нужно, не в том месте где это нужно и не так как надо.
В …