Обо мне
Меня зовут Алексей, мне 16 (скоро 17), живу в Санкт-Петербурге. Учусь на первом курсе АИТиУ (ранее ТКуиК) на направлении "Обеспечение информационной безопасности автоматизированных систем". Пишу на C++ с 12 лет, увлекаюсь low-level разработкой, архитектурой и системным программированием.
Ключевые факты
- Пишу на C++ порядка 5 лет, использую современный C++23 и слежу за развитием C++26
- Три года проходил курсы ИТМО по C++ — первые два года дали мощный старт и базу, после чего начал развиваться самостоятельно через личные проекты, третий год доучивался ради сертификатов и основ динамического программирования
- Интересуют архитектурные задачи: проектирование структуры проектов, схемы использования памяти для оптимизации, низкоуровневая оптимизация (кастомные аллокаторы, работа с кэшем процессора)
- Рабочая станция — ThinkPad X13 на NixOS + Hyprland + Nvim + Tokyo Night (мои dotfiles)
- В 14 лет разобрался в рекурсивном спуске и написал математический парсер, изучил TCP/IP и сокеты через файловый сервер — этот опыт стал фундаментом для последующей разработки своего языка программирования
- Последние 3 года использую Linux как основную ОС
- Каждый мой проект решает реальную задачу или проблему познавательного характера — делаю вещи, чтобы понять, как они работают изнутри
- Помимо IT, занимаюсь электронной музыкой (FL Studio → Reaper) — мой канал
Планы на развитие
Языки программирования
- Переход на Rust как основной язык
- Расширение кругозора: Zig, Go, D, Haskell, Lisp
- Практическая цель: Lua (конфигурирование Hyprland, моддинг)
Операционные системы
- Освоение ключевых дистрибутивов: Void, Gentoo, OpenSUSE
- Изучение BSD семейства: FreeBSD
- Инструмент для экспериментов: ThinkPad T480
Инфраструктура и DevOps
- Миграция серверной инфраструктуры на NixOS
- Публикация и документирование всех конфигов
- Развертывание новых сервисов: файловое облако (SeaFiles), заметки
Проекты
- Довести свой ЯП до полноценной компиляции
- Эксперименты: минималистичный шелл на QuickShell, децентрализованный чат
- Рефакторинг Hyprland-конфигов с переходом на Lua
Свой язык программирования lang1 и production-grade компилятор
Компилятор собственного языка программирования на C++23. Разработка ведется 7 месяцев (с октября 2025). Проект ориентирован на изучение архитектуры компиляторов, управления памятью и системного программирования.
Ключевые особенности
- AST трансформируется в HIR (High-level Intermediate Representation) для дальнейшего семантического анализа и оптимизаций
- Модульная система: три основных компонента — common (утилиты, аллокаторы, логгер), lang (90% кода — lexer, parser, AST, семантика), compiler_app (CLI интерфейс)
- Собственная схема распределения памяти: арены для AST, кастомные аллокаторы для оптимизации кэша процессора, структуры данных спроектированы для минимального размера и плотного размещения в памяти
- Система идентификации: ScopeID, SymbolID, TypeID (включая CoreTypeID), TargetID
- CompileTarget объединяет SourceFile, TranslationBundle и SemanticUnit через композицию — владеет объектами этих классов
- Основное хранилище TargetsStorage для управления целями компиляции
- Архитектура изначально проектируется с учетом многопоточности — все компоненты готовы к параллельной обработке
- Pipeline компиляции: CompileDriver → ModulesLoader → SyntaxDriver → SemanticDriver
Текущий статус
- Активная работа над семантическим анализом (третья итерация архитектуры)
- Переход на новую систему работы с памятью (арены вместо std::make_unique)
- Рефакторинг хранилищ и оптимизация работы с TargetsStorage
- Синтаксический анализ и парсинг модулей работают стабильно
- Управление памятью построено на принципах RAII и умных указателях
Стек и планы
- C++23, CMake, Ninja
- Планируется: LLVM backend для генерации кода, инкрементная сборка через хэширование, реализация многопоточной обработки файлов
- Язык: модули через import, переменные, функции, структуры (после MVP)
DevOps sandbox: собственная инфраструктура
Домашняя лаборатория для экспериментов с DevOps и системным администрированием. Собственная инфраструктура на VDS и домашних серверах с реальными сервисами, защищенная и объединенная в сеть.
Текущая инфраструктура
- VDS + два домашних сервера в разных локациях
- Защита: ufw (файрвол), fail2ban (защита от брутфорса), nginx с фильтрами и rate limiting
- Сервисы: чат (chat.lexa-projects.ru) и доска для рисования (whiteboard.lexa-projects.ru)
- WireGuard для объединения всех узлов в единую защищенную сеть
- Провайдер: Selectel
Планы
- Собрать все конфиги в единый репозиторий
- Почистить чувствительные данные и вынести сикреты в .env
- Полностью задокументировать инфраструктуру
- Опубликовать на GitHub как часть портфолио
- Миграция серверной инфраструктуры на NixOS