The picture of my face

Баранов Константин

Junior C++ разработчик

Привет! Я Junior разработчик из г. Санкт-Петербург, Россия. В данный момент активно изучаю язык программирования C++.

Предлагаю вам узнать обо мне побольше и ознакомиться с моими проектами 😁.

С чего бы начать...

Как уже было сказано, меня зовут Константин, мне 21 год и я начинающий разработчик.

На данный момент активно изучаю язык программирования C++.

Хорошо понимаю принципы ООП, базисы разработки приложений, библиотек. Владею, применяю и продолжаю изучать: git, conan, gtest, Google Benchmark, CMake, STL, UML, SQL, gcovr, semver. Всегда пишу документацию (а в идеале - самодокументируемый код), юнит-тесты.

Имею красные дипломы по квалификациям "программист-техник" и "оператор ЭВМ", полученные в СПб ГБПОУ ПКГХ.

В данный момент получаю высшее образование на очно-заочном (вечерняя удалёнка) отделении СПбПУ (ИКНТ, ВШПИ) по специальности "Программная инженерия". P.S.: очно-заочная форма обучения позволяет беспрепятственно совмещать полный рабочий график с учёбой.

Окончил курсы Новосибирской академии (HTML, CSS, C#, Unity), курсы ИТМО (C и C++).

Полюбил писать максимально читаемый и красивый код после прочтения книги "Программирование без дураков" Катрина Пассига и Йоханесса Яндера.

В данный момент рассматриваю вакансии для работы/подработки/стажировки разработчиком C++.

Свяжитесь со мной:

Основные проекты с GitHub

Обозреватель 3D моделей MEOV Обозреватель 3D моделей MEOV

Простой, легковесный, быстрый и удобный обозреватель 3D моделей. Написан на C++, код шейдеров на GLSL, для сборки используется CMake.

Репозиторий на GitHub содержит подробно оформленный readme файл с полной информацией о проекте, его зависимостях, использовании конечным пользователем, области применения, структуре проекта и т.п.

Данный проект является моей дипломной работой, успешно защищённой в колледже.

С++ библиотека математических классов setm::math Библиотека математических классов на C++

Библиотека (а также conan-пакет) вспомогательных математических классов (структур/контейнеров данных).

Состоит из двух основных компонентов (классов) - setm::Complex и setm::Polynomial.

Репозиторий на GitHub содержит подробно оформленный readme файл с полной информацией о библиотеке, шагах по её конфигурированию, сборке, тестированию и использованию с помощью cmake и conan.

Библиотека собиралась из двух репозиториев, описанных ниже на этой странице.

Класс комплексных чисел на C++ Класс комплексных чисел на C++

Данный проект представляет собой класс комплексных чисел на C++.

Поддерживаются все необходимые операции для работы с такими числами.

Проект также является статической библиотекой и conan-пакетом.

Весь его функционал протестирован gtest.

Класс полиномов (многочленов) на C++ Класс полиномов (многочленов) на C++

Моя реализация класса многочленов на C++.

Так же, как и в случае с классом комплексных чисел, поддерживаются все базовые операции.

В том числе, было проведено модульное тестирование функционала данного класса с помощью gtest.

WMS на C++/Qt WMS на C++/Qt

Данный проект был выполнен как курсовая работа в моём колледже. Представляет собой автоматизированную систему управления складским помещением.

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

В приложении реализована регистрация и авторизация посредством логинов и паролей. Для хранения данных пользователей (пароли хешируются по Sha256), а также всей информации о поставщиках, товарах, отправленных и принятых товарах используется база данных на SQLite3.

Побитовое сложение на C++ Побитовое сложение на C++

В процессе изучения побитовых операций, мною была реализована функция побитового сложения двух целочисленных.

Для реализации применялись операторы "исключающего ИЛИ", "И" и побитового сдвига.

CSS Flex Website CSS Flex Website

Изучая CSS, я открыл для себя невероятные гибкие блоки Flexbox и не мог не попытаться сделать адаптивный сайт с их применением.

Это мой первый опыт создания макета одностраничного сайта.

Список файлов в заданной директории C++ Список файлов в заданной директории C++

Среди нововведений 17-го стандарта C++ мне приглянулась библиотека std::filesystem.

В итоге, я написал простую функцию для получения списка файлов в заданной директории. Параметрами функции является директория, в которой необходимо осуществлять поиск, а также вектор строк (расширений) файлов, которые мы хотим найти.

Шифрование текстовых файлов (паттерн стратегия) на C++ Шифрование текстовых файлов (паттерн стратегия) на C++

Изучая паттерны, я реализовал классы для шифрования текстовых файлов различными стратегиями.

RSA шифрование на C# RSA шифрование на C#

Преподаватель по дисциплине "Информационная безопасность" дал мне задание - реализовать простую версию RSA-шифрования неких сообщений, коими в данном случае являются числа.

В итоге я написал код, позволяющий это сделать, а также записывающий открытый и закрытый ключи RSA в текстовые файлы.

Двусвязный кольцевой список на C++ Двусвязный кольцевой список на C++

В этот раз уже другой преподаватель (по дисциплине "Программирование") дал мне задачу. Необходимо было реализовать структуру данных, а точнее - двусвязный кольцевой список.

В результате мною была описана вся основная логика с мелкими деталями. Тогда я хорошо натренировал свои навыки работы с указателями.

Хоть проект и старый, но он вызывает у меня ностальгические чувства, потому я и включил его в этот список.

Простые и совершенные числа C++/Qt Простые и совершенные числа C++/Qt

Ну и продолжая тему ностальгии...

Данный проект представляет собой простое приложение на Qt, которое призвано помочь определить, является ли число простым или совершенным (в зависимости от выбранного пользователем действия).

В программе также можно найти данные числа в заданном диапазоне (от 2 до n). Алгоритм нахождения чисел пошагово визуализируется в табличной форме.

Также приложение обладает краткой справкой о том, что вообще из себя представляют простые и совершенные числа.

В те времена я просто тестировал возможности Qt и закреплял свои навыки работы с ним. Проект стар и дряхл, но всё же заслуживает вашего внимания.

Остались вопросы? Напиши мне:

VK