Я бэкенд-разработчик с бэкграундом спортивного программирования, робототехники, и даже немного фронтенда. На этой страничке собраны главные проекты, которые мне не стыдно показать.
Проекты с GitHub:
- [2022; C++, CMake, Node.js] ВК-бот для генерации картинок-цитат из пересланных сообщений
На замену почившему генератору цитат бот с аналогичным функционалом. Интересной особенностью является прямое использование библиотеки vips для обработки изображений: это позволило поддержать эмодзи в сообщениях, чего нет у аналогичных ботов. IO-bound часть написана на Node.js, CPU-bound (обработка изображений - растеризация текста, применение фильтров) на C++, интеграция проведена с помощью NodeAddonAPI. Бот легко поддерживает темп в 20 запросов в секунду, что считалось DDOS-атакой у чужого бота на Питоне. В C++ части также с помощью метапрограммирования реализован универсальный интерфейс передачи, проверки типов и парсинга параметров из Node.js. Сборка проекта основана на CMake.
- [2023; JS, TS, React] Приложение на React для ассистента Сбер Салют
Приложение прошло модерацию - попробуйте сказать "Салют, давай поиграем в отравленная шоколадка". Представляет собой реализацию игры chomp на React с помощью JS и TypeScript, специально для запуска в приложениях Салюта. Искусственный интеллект написан по алгоритму Монте-Карло. Приложение - stateless, чисто фронтенд.
Проекты с GitLab:
- [2019: Python, HTML] Счётчик ссылок на страницы в Википедии
Хронологически первая работа, которой я могу гордиться. README на русском и английском, подсказки параметров командной строки, работающий код (написанный с нуля универсальный конечный автомат) - и всё это в 10 классе. Стек: Python 3, HTML.
Ещё в школе писал ПО, удалённо управляющее мобильным роботом, для финала ОНТИ по направлению «Аэрокосмические технологии». Проекты содержат как бортовое ПО, запускаемое на Raspberry на роботе, так и ПО, запускаемое на управляющем компьютере. Общение между Arduino (скрипт к которой писал я вместе с сокомандником) и Raspberry идёт через Unix сокеты. Стек: ROS, Python 3, C++ (для Arduino), Bash (скрипты для запуска ROS-команд).
- [2022-2023: Scala 2] Академия Бэкенда Тинькофф: несколько проектов, начинающихся на Tinkoff здесь
Домашние задания для курса Академии. Проходили код-ревью (видно в Merge Request). Стек: Scala 2.
- [2024: ROS, Python, Docker Compose] «Я - профессионал» по робототехнике
Бортовое ПО для автономного управления мобильным роботом, завоевавшее мне диплом призёра «Я - профессионал». Робот под управлением ROS, бортовой контроллер моторов на Arduino взаимодействовал с Raspberry через Unix сокет. Для автономного управления реализовал распознавание препятствий с помощью OpenCV. Стек технологий: ROS, Python 3, OpenCV, Bash, Docker Compose (для упрощённого заливания прошивки на робота).
Проекты с Bitbucket:
- [2020-2021: C++] Алгоритмы и структуры данных, а также ООП из МФТИ
В этом репозитории собраны решения задач с соответствующих курсов ФПМИ МФТИ. Все задачи проходили тщательное код ревью, что можно посмотреть в пулл реквестах. Код содержит комментарии для проверяющего, для алгоритмов нужно было писать структуры данных (например, class Graph вместо vector<vector<int>>). Папка OOP содержит структуры для курса Ильи Мещерина по C++, мне всё ещё нравится реализация быстрого аллокатора и списка, реализация хэштаблицы показывает весёлое метапрограммирование.
