Курс на Stepik
Обложка курса «Эффективное использование Boost в современном C++» на Stepik
1 500 ₽

Эффективное использование Boost в современном C++ ★ 0.000

Открыть на
STEPIK.ORG

Практический курс по Boost 1.92 на C++23 для разработчиков, которые уже пишут production-код и хотят собрать на C++ настоящий сервис: асинхронность и сеть на Asio и Beast, корутины Cobalt, процессы и плагины, графы задач, персистентность, логирование, тесты. Сквозной проект — Rota, планировщик зависимых задач с HTTP/WebSocket API, который растёт от каркаса до Docker-образа.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Эффективное использование Boost в современном C++»Учеников на курсе 3
Сертификаты, выданные на курсе «Эффективное использование Boost в современном C++»Сертификатов выдано 0
Отзывы о курсе «Эффективное использование Boost в современном C++»Отзывов получено 0
Рейтинг курса «Эффективное использование Boost в современном C++»Рейтинг курса 0.000
Уроки в курсе «Эффективное использование Boost в современном C++»Количество уроков 128
Тесты в курсе «Эффективное использование Boost в современном C++»Количество квизов 91
Стоимость курса «Эффективное использование Boost в современном C++»Стоимость курса 1 500 ₽ —
Обновления курса «Эффективное использование Boost в современном C++»Обновления курса — —
Дата публикации курса «Эффективное использование Boost в современном C++»Дата публикации курса — ———
Последнее обновление курса «Эффективное использование Boost в современном C++»Последнее обновление — ———
Сложность hard — ———

Содержание курса

Разделы в курсе «Эффективное использование Boost в современном C++» 16 разделов Уроки в курсе «Эффективное использование Boost в современном C++» 128 уроков Тесты в курсе «Эффективное использование Boost в современном C++» 91 тест Последнее обновление курса «Эффективное использование Boost в современном C++» обн. 2 ноября 2026

Boost как платформа и проект Rota

8 уроков
1. Что такое Boost сегодня и зачем он C++23-разработчику ↗
2. Сквозной проект Rota: задача, домен, архитектура ↗
3. Установка Boost 1.92: MSYS2, vcpkg, apt и сборка из исходников ↗
4. Boost и CMake: find_package в режиме CONFIG и цели Boost ↗
5. Header-only и компилируемые библиотеки, Boost.Config ↗
6. Каркас Rota: структура каталогов, CMakePresets, первая сборка ↗
7. Как читать документацию Boost, версии и миграция между релизами ↗
8. Практика: каркас rotad и rota-cli с проверкой версии Boost ↗

Ошибки, диагностика и базовые утилиты Boost

8 уроков
1. Boost.System: error_code, error_category и свои коды ошибок ↗
2. result из Boost.System рядом со стандартным expected ↗
3. Boost.Outcome: result, outcome, BOOST_OUTCOME_TRY и политики ↗
4. Boost.LEAF: ошибки с контекстом без затрат в happy path ↗
5. Boost.Exception и ThrowException: диагностика на исключениях ↗
6. Boost.Scope: scope_exit, scope_fail, unique_resource ↗
7. Boost.Stacktrace, Boost.Assert и Boost.Core ↗
8. Практика: модель ошибок Rota и единый формат диагностики ↗

Контейнеры и структуры данных Boost

8 уроков
1. Boost.Unordered: unordered_flat_map, node_map и когда они лучше ↗
2. Boost.Unordered concurrent_flat_map: доступ без мьютекса ↗
3. Boost.Container: small_vector, static_vector, flat_map, pmr ↗
4. Boost.MultiIndex: реестр пайплайнов с несколькими индексами ↗
5. Boost.MultiIndex: модификация, ranked-индексы, composite_key ↗
6. Boost.Circular_buffer и Boost.Heap: буфер вывода и очередь ↗
7. Boost.Intrusive, Bloom, PolyCollection и Flyweight ↗
8. Практика: реестр запусков Rota на MultiIndex и Unordered ↗

Строки, разбор текста и URL

8 уроков
1. Boost.String_algo: trim, split, join, замены, предикаты ↗
2. Boost.CharConv и Boost.Lexical_cast: конвертация чисел и строк ↗
3. Boost.Regex и Boost.Tokenizer: фильтры логов и разбор строк ↗
4. Boost.Parser: грамматика cron-выражений ↗
5. Boost.Spirit X3: разбор длительностей и сравнение с Boost.Parser ↗
6. Boost.URL: разбор адресов, сегменты, query и маршрутизация API ↗
7. Boost.Locale, Static_string и Format рядом со стандартным format ↗
8. Практика: cron-планировщик Rota — от строки до next_fire ↗

Boost.JSON, Boost.Describe и Boost.PFR

8 уроков
1. Boost.JSON: value, object, array, parse и serialize ↗
2. Boost.JSON: value_to, value_from и tag_invoke для своих типов ↗
3. Boost.Describe: описание структур и enum для (де)сериализации ↗
4. Boost.PFR: рефлексия агрегатов без макросов ↗
5. Boost.JSON: stream_parser, memory_resource и большие документы ↗
6. Ошибки разбора и валидация: error_code, parse_options, схема ↗
7. Конфигурация Rota: rota.json, файлы пайплайнов, умолчания ↗
8. Практика: загрузчик конфигурации и API-модели Rota ↗

Boost.Asio: модель исполнения

8 уроков
1. io_context, executors и any_io_executor ↗
2. Completion tokens: callbacks, use_awaitable, deferred, future ↗
3. C++20-корутины в Asio: awaitable, co_spawn, detached ↗
4. Таймеры: steady_timer, периодические задачи, планировщик ↗
5. Strands и потокобезопасность: один io_context, несколько потоков ↗
6. Отмена операций: cancellation_signal, slot, типы отмены ↗
7. Сигналы ОС, graceful shutdown, post/dispatch/defer, thread_pool ↗
8. Практика: асинхронное ядро планировщика Rota ↗

Boost.Asio: сеть и протоколы

8 уроков
1. TCP: acceptor, socket, resolver, endpoints ↗
2. Буферы Asio: const_buffer, mutable_buffer, dynamic_buffer ↗
3. async_read, async_write, async_read_until и composed operations ↗
4. Таймауты: awaitable operators, отмена по таймеру ↗
5. SSL и TLS в Asio: ssl context, ssl stream, сертификаты ↗
6. Свои composed operations: async_compose и async_result ↗
7. UDP, локальные сокеты и диагностика сетевых ошибок ↗
8. Практика: TCP-агент статуса Rota (line protocol) ↗

Boost.Beast: HTTP и WebSocket

8 уроков
1. Beast поверх Asio: message, fields, body, parser и serializer ↗
2. HTTP-сервер на корутинах: сессия, keep-alive, таймауты ↗
3. Маршрутизация запросов: Boost.URL и обработчики Rota API ↗
4. JSON-тела запросов и ответов, единый формат ошибок API ↗
5. HTTP-клиент Beast: вебхуки Rota и повтор с backoff ↗
6. WebSocket-сервер: поток событий запусков ↗
7. Beast: буферы, flat_buffer, тела файлов, chunked, HTTPS ↗
8. Практика: HTTP API и WebSocket Rota ↗

Boost.Cobalt: корутины поверх Asio

8 уроков
1. Cobalt: зачем ещё один слой над Asio, main, run и thread ↗
2. task и promise: ленивые и жадные корутины ↗
3. generator: ленивые последовательности и push-генераторы ↗
4. channel: обмен между корутинами и backpressure ↗
5. race, gather, join и таймауты ↗
6. with, async RAII и отмена в Cobalt ↗
7. Совместимость Cobalt с asio awaitable, Beast и Process ↗
8. Практика: конвейер запуска задач Rota на Cobalt ↗

Boost.Process и Boost.DLL: процессы и плагины

8 уроков
1. Boost.Process v2: process, execute, exit codes ↗
2. Асинхронный запуск: async_execute, readable_pipe, process_stdio ↗
3. Окружение, рабочий каталог, поиск исполняемого файла ↗
4. Таймауты, terminate, request_exit, группы и различия ОС ↗
5. Boost.DLL: shared_library, импорт символов и alias ↗
6. Плагины исполнителей Rota: интерфейс, ABI, жизненный цикл ↗
7. Boost.Filesystem рядом со стандартным filesystem, каталоги задач ↗
8. Практика: process executor и plugin executor Rota ↗

Boost.Graph: DAG задач

8 уроков
1. adjacency_list: выбор контейнеров, свойства вершин и рёбер ↗
2. Построение DAG пайплайна из конфигурации ↗
3. topological_sort и проверка ацикличности ↗
4. Обходы: depth_first_search, breadth_first_search, visitors ↗
5. Критический путь и веса: длиннейший путь в DAG ↗
6. Динамические графы, filtered_graph, subgraph ↗
7. Экспорт в Graphviz и визуализация ↗
8. Практика: планирование порядка запуска в Rota ↗

Многопоточность и межпроцессное взаимодействие

8 уроков
1. Boost.Thread рядом со стандартным thread: что осталось полезного ↗
2. Boost.Atomic: atomic_ref, memory order, wait/notify, ipc_atomic ↗
3. Boost.Lockfree: spsc_queue, queue, stack ↗
4. Boost.Fiber: пользовательские потоки и планировщики ↗
5. Boost.Interprocess: shared memory, managed segments, аллокаторы ↗
6. Boost.Interprocess: синхронизация, message_queue, статус-доска ↗
7. Boost.Pool и Boost.Align: аллокаторы и выравнивание ↗
8. Практика: shared-memory статус и lock-free метрики Rota ↗

Обобщённый код, события и машины состояний

8 уроков
1. Boost.Mp11: списки типов, mp_for_each, mp_with_index ↗
2. Boost.Variant2 и Boost.Optional: visit без valueless ↗
3. Boost.TypeErasure, Boost.Callable_traits и Boost.Compat ↗
4. Boost.Signals2: сигналы, соединения, combiners ↗
5. Boost.MSM: машина состояний запуска задачи ↗
6. Boost.MSM: guards, actions, подмашины, обработка ошибок ↗
7. Boost.Hana и Boost.Describe для конфигурации типов ↗
8. Практика: событийная шина и жизненный цикл Run в Rota ↗

Эксплуатация: логирование, конфигурация, время, потоки данных

8 уроков
1. Boost.Log: trivial, severity, глобальные логгеры ↗
2. Boost.Log: sinks, форматтеры, атрибуты, ротация файлов ↗
3. Boost.Log: каналы, фильтры, асинхронный sink, структурные логи ↗
4. Boost.Program_options: CLI rotad и rota, конфиг-файлы, окружение ↗
5. Boost.DateTime и Boost.Chrono рядом со стандартным chrono ↗
6. Boost.Iostreams: фильтры, gzip логов, mapped files ↗
7. Boost.Histogram и Boost.Accumulators: метрики длительностей ↗
8. Практика: наблюдаемость Rota — логи, метрики, CLI ↗

Персистентность и интеграция с хранилищами

8 уроков
1. Boost.Serialization: архивы, serialize(), версии классов ↗
2. Boost.Serialization: указатели, полиморфизм, контейнеры, снапшот ↗
3. Boost.Endian и Boost.CRC: бинарный журнал событий ↗
4. Boost.Hash2 и Boost.Uuid: идентификаторы и контрольные суммы ↗
5. Boost.Redis: connection, request, response, pub/sub ↗
6. Boost.Redis в Rota: распределённая блокировка и события ↗
7. Boost.MySQL: any_connection, prepared statements, static_results ↗
8. Практика: история запусков Rota в MySQL и снапшоты ↗

Тестирование, сборка и финальный запуск

8 уроков
1. Boost.Test: организация тестов, suites, BOOST_TEST ↗
2. Boost.Test: fixtures, data-driven, параметры командной строки ↗
3. Тестирование Asio- и Beast-кода: io_context в тестах ↗
4. Тесты Process, Graph и JSON-контрактов ↗
5. CMake для Boost-проекта: цели, опции, install, vcpkg manifest ↗
6. Sanitizers, warnings, Boost.Stacktrace в production ↗
7. Docker и Docker Compose для Rota ↗
8. Практика: финальная сборка, запуск и приёмка Rota ↗