Проекты
То, что писалось не по туториалу
Пет-проекты я беру по одному принципу: они должны давать тот опыт, которого не даёт основная работа. Отсюда перекос в сторону многопоточности, асинхронности и того, что происходит между программой и операционной системой.
Сбор метрик Linux напрямую из /proc и /sys с
отчётами в Telegram-бота. Разбор псевдофайловых систем руками, хранение
показателей между опросами, асинхронная работа с API бота.
Асинхронный HTTP-прокси на Boost.Asio и корутинах C++20. Разбор запросов, переиспользование соединений, корректная отмена операций — то место, где асинхронный код обычно и ломается.
Рендер множества Мандельброта на модели sender/receiver из C++23
(std::execution), с собственными senders, написанными по P2300.
Повод разобраться в новой модели асинхронности не по статьям, а на задаче,
которая действительно параллелится.
Автоматический рефакторинг C++ поверх Clang LibTooling: AST-матчеры находят конструкции, Rewriter правит исходник. Работа с настоящим AST компилятора, а не с регулярными выражениями по тексту.
Пул потоков с приоритетными очередями задач на condition_variable.
Классическая многопоточная примитивная механика, написанная с нуля ради
понимания, а не ради использования готового.
Стек, очередь, bitmap-аллокатор и хеш-таблица, реализованные на API ядра. Самостоятельное изучение: как выглядит разработка, где нет ни STL, ни исключений, ни права уронить процесс.
Библиотека вычислительной геометрии — примитивы, пересечения, предикаты. Смежная с основной работой область, вынесенная в отдельный полигон.
Домашний сервер, на котором живёт в том числе этот сайт: docker compose, обратный прокси, автоматический выпуск и продление TLS-сертификатов по ACME, маршрутизация и NAT на MikroTik. Не проект в смысле репозитория, но именно здесь администраторский опыт продолжает применяться.
Исходники — на github.com/Nalowo.