Чему вы научитесь
- Подключать Boost 1.92 к проекту через CMake в режиме CONFIG, MSYS2, vcpkg и Docker и отличать header-only библиотеки от компилируемых
- Моделировать ошибки через Boost.System, Outcome и LEAF и собирать диагностику с Boost.Exception и Boost.Stacktrace
- Выбирать контейнеры Boost под задачу: Unordered, Container, MultiIndex, Circularbuffer, Lockfree
- Разбирать текст и URL с Boost.Parser, Spirit X3, Stringalgo, CharConv и Boost.URL
- Сериализовать модели данных в JSON автоматически через Boost.JSON, Describe и PFR
- Писать асинхронный код на Boost.Asio с C++20-корутинами, strands, таймерами и отменой операций
- Строить HTTP- и WebSocket-серверы и клиенты на Boost.Beast
- Использовать Boost.Cobalt для конвейеров из корутин с каналами, race и gather
- Запускать и контролировать процессы через Boost.Process v2 и загружать плагины через Boost.DLL
- Представлять зависимости задач графом Boost.Graph и вычислять порядок запуска и критический путь
- Организовывать многопоточность и межпроцессное взаимодействие с Boost.Atomic, Lockfree и Interprocess
- Проектировать события и состояния на Boost.Signals2, Variant2 и MSM
- Настраивать логирование, конфигурацию и метрики сервиса на Boost.Log, Programoptions и Histogram
- Сохранять состояние через Boost.Serialization, Endian и CRC и интегрироваться с Redis и MySQL через Boost.Redis и Boost.MySQL
- Тестировать асинхронный код на Boost.Test и собирать проект в Docker-образ
О курсе
Для кого этот курс
Начальные требования
- Опыт коммерческой разработки на любом языке и понимание базовых понятий C++: классы, шаблоны, RAII, умные указатели, исключения. Возможности C++20/23 (корутины, концепты,
std::expected,std::format) объясняются по ходу через код. - Компилятор с поддержкой C++23: GCC 16 (в курсе — MSYS2 MinGW64 на Windows или системный GCC на Linux), Clang 20 или MSVC 19.4x; CMake 3.28+ и Ninja.
- Boost 1.92 (минимум 1.90): из MSYS2, vcpkg или собранный из исходников — установка разбирается в первой главе.
- Для глав 15–16: Docker с Docker Compose, чтобы поднять Redis и MySQL и собрать образ сервиса.
Преподаватели курса
Формат курса
Курс текстовый: 16 глав по 8 уроков, каждый урок — компактная глава технической книги с кодом, выводом программ и разбором ошибок. Уроки читаются последовательно: проект Rota растёт от главы к главе, и код каждой главы опирается на предыдущие. В конце каждого урока — практическое задание для самостоятельной работы (без автоматической проверки) и вопросы для самопроверки; главы с третьей по пятнадцатую завершаются тестовыми задачами с одним правильным ответом и объяснением. Дедлайнов нет, темп свободный. Исходники проекта и примеров доступны в материалах курса; рекомендуемое окружение — GCC 16 с Boost 1.92 из MSYS2 или Linux с vcpkg.
Что вы получите
- Полные исходники проекта Rota: планировщик зависимых задач на C++23 и Boost 1.92 с HTTP/WebSocket API, плагинами, персистентностью и тестами
- CMake-пресеты для Windows (MSYS2 MinGW64), Linux и vcpkg, Dockerfile и Docker Compose с Redis и MySQL
- Самодостаточные примеры к каждой библиотеке, которые компилируются одной командой
- Практические задания в конце каждого урока и тестовые задачи в конце глав
- Чек-лист приёмки сервиса на Boost из последней главы