Алексей

Санкт-Петербург • Студент • 17 лет

I use NixOS btw, пишу на плюсах с 12 лет.

Подробнее обо мне

Навыки

Основной стек
C++23
CMake
Git
STL
Markdown
Nvim
Linux
Bash
NixOS
SSH
Docker
C1 англиский
технический англиский
Знаком (пробовал)
QT5/6
GTK4
Computer Science
AI
SQL
Arduino
ESP32
STM32
Nginx
ufw
Python
PyQt
SQLite
PostgreSQL
HTML
CSS
JS
JSON
TCP/IP
UDP

Проекты

Обо мне

Меня зовут Алексей, мне 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