Проекты

То, что писалось не по туториалу

Пет-проекты я беру по одному принципу: они должны давать тот опыт, которого не даёт основная работа. Отсюда перекос в сторону многопоточности, асинхронности и того, что происходит между программой и операционной системой.

LinuxObserver

Сбор метрик Linux напрямую из /proc и /sys с отчётами в Telegram-бота. Разбор псевдофайловых систем руками, хранение показателей между опросами, асинхронная работа с API бота.

C++ · /proc · /sys · Telegram Bot API · в работе

HttpProxy

Асинхронный HTTP-прокси на Boost.Asio и корутинах C++20. Разбор запросов, переиспользование соединений, корректная отмена операций — то место, где асинхронный код обычно и ломается.

C++20 · Boost.Asio · корутины

MandelbrotFractal

Рендер множества Мандельброта на модели sender/receiver из C++23 (std::execution), с собственными senders, написанными по P2300. Повод разобраться в новой модели асинхронности не по статьям, а на задаче, которая действительно параллелится.

C++23 · std::execution · P2300

CodeRefactor

Автоматический рефакторинг C++ поверх Clang LibTooling: AST-матчеры находят конструкции, Rewriter правит исходник. Работа с настоящим AST компилятора, а не с регулярными выражениями по тексту.

Clang LibTooling · AST · Rewriter

TaskDispatcher

Пул потоков с приоритетными очередями задач на condition_variable. Классическая многопоточная примитивная механика, написанная с нуля ради понимания, а не ради использования готового.

C++ · многопоточность · condition_variable

Модули ядра Linux

Стек, очередь, bitmap-аллокатор и хеш-таблица, реализованные на API ядра. Самостоятельное изучение: как выглядит разработка, где нет ни STL, ни исключений, ни права уронить процесс.

C · Linux kernel API · загружаемые модули

GeomLib

Библиотека вычислительной геометрии — примитивы, пересечения, предикаты. Смежная с основной работой область, вынесенная в отдельный полигон.

C++ · вычислительная геометрия

Своя инфраструктура

Домашний сервер, на котором живёт в том числе этот сайт: docker compose, обратный прокси, автоматический выпуск и продление TLS-сертификатов по ACME, маршрутизация и NAT на MikroTik. Не проект в смысле репозитория, но именно здесь администраторский опыт продолжает применяться.

Docker Compose · nginx · ACME · MikroTik

Исходники — на github.com/Nalowo.