Артем П.
Разработка приложения для анализа медицинских изображений и поддержки принятия врачебных решений в области травматологии на C++ с использованием ITK, VTK и wxWidgets. Обязанности и достижения: - Оптимизация скорости работы: Нашел и переписал самое медленное место в коде - модуль загрузки и подготовки DICOM-снимков. После правок загрузка исследований ускорилась в ~7.5 раз. Пользователи (врачи) перестали ждать загрузки нескольких тысяч снимков минутами. - Проектирование и реализация новых модулей: Полностью спроектировал и написал с нуля три больших функциональных блока: 1) Инструменты измерений: Линейка, углы (в том числе для сколиоза - угол Кобба), эллипсы. Каждое измерение можно было выбрать, передвинуть его точки, удалить. 2) Инструмент разметки: Простой редактор на базе OpenCV, чтобы можно было рисовать поверх снимков (кисть, линии, ластик с возможностью стирать только фон или только нарисованные элементы). Этим потом пользовались для создания разметки под задачи машинного обучения. 3) Модуль анализа динамических исследований: Разработал систему для обработки специальных серий снимков (например, отслеживающих распространение контрастного вещества). Программа автоматически группировала сотни изображений по типам и временным меткам, а затем строила график изменения «яркости» тканей во времени. Такой график - ключевой инструмент для врача, чтобы визуально находить области с аномальным накоплением контраста, что является важным признаком при диагностике. - Работа со сложной визуализацией: Разобрался в чужом коде на Java, чтобы перенести логику работы мультипланарного перекрестья в наше приложение на C++. Отвечал за синхронное движение трех плоскостей (аксиальной, корональной, сагиттальной) - Доработка 3D-визуализации: Реализовал систему быстрого переключения цветовых схем (LUT-пресетов) для 3D-моделей, например, для ангиографии (CT-AAA). Это позволяло врачам быстро менять вид реконструкции под свои задачи. - Общая кодовая база: Активно участвовал в код-ревью, старался писать понятный код и применять принципы SOLID, где это было уместно. Исправлял ошибки, работал с конфигурацией в XML, поддерживал работу с архивами (ZIP/RAR). Технологии: C++, STL, ITK, VTK, wxWidgets, OpenCV, XML, multithreading, Git, SOLID.
Обязанности и достижения: - Разрабатывал высокопроизводительные приложения-эмуляторы реальных устройств на C++ с использованием Qt4/Qt5. - Реализовывал сетевое взаимодействие через TCP/UDP-сокеты (QTcpSocket/QUdpSocket), обеспечивая надежный и стабильный обмен данными. - Работал с многопоточностью, использовал мьютексы и механизмы синхронизации для потокобезопасной логики. - Изучал и внедрял протоколы обмена данными, интегрировал решения с корпоративными системами. - Ключевой проект: разработка и поддержка эмуляторов устройств, включая обработку изображений с помощью OpenCV2. - Анализировал техническую документацию и спецификации протоколов для корректировок конфигурационных файлов и реализации новых функций. - Активно использовал Wireshark для анализа и отладки сетевых протоколов корпоративных продуктов, диагностики проблем взаимодействия и обратной разработки обмена данными. Технологии и инструменты: C++, Qt4/Qt5, TCP/UDP, многопоточность, мьютексы, OpenCV2, Wireshark, Jira, Confluence, Git
Описание проекта: Разработка учебного клиент-серверного приложения (онлайн-казино) на C++ / Qt с использованием WinSock2 и базы данных SQLite. Основной объём серверной логики и архитектуры клиент-серверного взаимодействия выполнялся мной. Проект прошёл техническое рецензирование в ООО «Стилсофт». Обязанности и достижения: - Проектирование архитектуры клиент-серверного взаимодействия, включая протокол обмена данными и систему команд. - Разработка серверной части: обработка игровых клиентов в отдельных потоках, синхронизация с использованием мьютексов, управление игровыми сессиями. - Реализация игровой логики (Blackjack) полностью на стороне сервера, включая все проверки, расчёты и управление состояниями. - Работа с SQLite: хранение данных, выполнение запросов, подготовка структуры базы. - Интеграция сетевого взаимодействия через WinSock2, отладка и корректная обработка пакетов на клиенте. - Доработка клиентской части Qt-приложения для корректной визуализации состояния игры на основе данных от сервера. - Совместная работа в небольшой команде: распределение задач, синхронизация изменений, ревью друг друга. - Улучшение устойчивости протокола, оптимизация потоковой обработки и повышение стабильности соединений. Технологии и инструменты: C++, Qt, WinSock2, SQLite, многопоточность, мьютексы, клиент-серверная архитектура, Git
Работаю над коммерческими модами/плагинами для Minecraft (FML 1.7.10). Поддерживаю собственную modding-студию CraftEngine - https://craftengine-studio.gitbook.io/craftenginestudio. Обязанности и достижения: - Разработка модов и плагинов на Java под FML 1.7.10. - Проводил рефакторинг и исправление багов в открытых модах Minecraft, включая устранение крашей, улучшение логики и оптимизацию производительности. - Разрабатывал систему клиент–серверного обмена данными между модами и серверными плагинами, обеспечивая корректную синхронизацию игрового состояния и обработку пользовательских действий. - Создание GUI-элементов, игровых механик, предметов, блоков и кастомных систем. - Оптимизация производительности и устранение конфликтов между модами. - Поддержка небольших коммерческих проектов для майнкрафт-серверов. - Настройка Gradle, Forge-окружения, рефакторинг и ревью кода.
Понравился профиль? Создайте себе такой же