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

Эффективное использование 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++»Учеников на курсе 0
Сертификаты, выданные на курсе «Эффективное использование Boost в современном C++»Сертификатов выдано 0
Отзывы о курсе «Эффективное использование Boost в современном C++»Отзывов получено 0
Рейтинг курса «Эффективное использование Boost в современном C++»Рейтинг курса 0.000
Уроки в курсе «Эффективное использование Boost в современном C++»Количество уроков 128
Тесты в курсе «Эффективное использование Boost в современном C++»Количество квизов 91
Стоимость курса «Эффективное использование Boost в современном C++»Стоимость курса 999 ₽
Обновления курса «Эффективное использование Boost в современном C++»Обновления курса
Дата публикации курса «Эффективное использование Boost в современном C++»Дата публикации курса
Последнее обновление курса «Эффективное использование Boost в современном C++»Последнее обновление
Сложность hard

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

Разделы в курсе «Эффективное использование Boost в современном C++» 16 разделов Уроки в курсе «Эффективное использование Boost в современном C++» 128 уроков Тесты в курсе «Эффективное использование Boost в современном C++» 91 тест Последнее обновление курса «Эффективное использование Boost в современном C++» обн. 18 сентября 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