Специалисты

Описание

Владею инструментарием: Vue.js, React.js, Python, C#, C, Git, Linux, HTML, Oracle PL/SQL, mysql, SQLalchemy, Firebird, SOAP, MFC, WindowsForms, Koa.js, Delphi, Qt, NestJS, TypeORM, TypeScript, AWS, Redis, Jupyter Notebook, Asp.Net, Java Android,PHP Symfony, WebSockets, Socket.io, C++ boost, C++ stl, Feathers.js, Postgres, Nuxt.js

Навыки и компетенции: ООП, Асинхронное программирование, HTTP REST API
Образование:
Псковский государственный университет
Сентябрь 1999 — Апрель 2005
Информатики
Россия, Псков

Опыт
Проект

Разработка программного обеспечения

Описание

Разработка web сервера на C++ для управления распределенной системой хранения данных. Сервер состоит из: ? HTTP REST API ? Cистема оповещений на базе протокола socket.iо, работающего поверх протокола websocket. ? Система управления устройством при помощи RPC (TCP/IP) Работая над этим проектом я получил неоценимый опыт и понимание асинхронной работы, примитивов асинхронного взаимодействия, а также вышеприведенных протоколов. А также принципов разработки на современном С++. В HTTP сервере я реализовал механизм middleware типа того что в express.js. Так же пришлось самому разрабатывать router, который кроме путей вычленяет и маршрутные параметры (/the/route/:pram1/:param2), он подключается к HTTP серверу как middleware. HTTP сервер разрабатывался с использованием библиотек boost::asio и boost::beast Так же пришлось самому реализовать протокол Socket.IO v4 для системы оповещений, так как я нашел на github реализацию только Socket.IO v1 и последний коммит там был лет 6-7 назад. Эта система оповещений тоже подключается к HTTP серверу как middleware. Система управления устройством разрабатывалась с использованием механизма promise/future. Так как устройство передает данные не в ответе на запрос, а отдельным сообщением, которое перехватывается в отдельном потоке.

Технологии

C++ boost, C++ stl, ООП, HTTP, WebSockets, Socket.io, TCP

Длительность

Май 2023 — По наст. месяцев

Проект

Интеграция системы рекламных предложений с внешними сервисами SSP и DSP

Технологии

Python, PostgreSQL, MongoDB, Jupyter Notebook, JavaScript

Длительность

Февраль 2023 — Апрель 2023 месяцев

Проект

Система рассылки через WhatsUpp

Описание

Разработка системы рассылки через WhatsUpp. Кроме самой рассылки есть система биллинга тарифы, платежи и все такое. На бэкенде использовался NestJS, на фронте - Vue.js. Я начинал разработку один, по этому архитектура и все основные алгоритмы были разработаны мной. Потом подтягивались еще разработчики. Рассылка в системе производится через микросервис и RabbitMQ. Кроме самой рассылки в системе есть биллинг с развитой сеткой тарифов, которые могут меняться со временем, а также различные бонусы и подарки. Во время рассылки производится списание средств пользователя в соответствии с его подпиской. Также разработан гибкий конструктор сообщений, который позволяет кроме текста, картинок и медийных файлов добавлять в сообщения кнопки, текст в этих кнопках и т.д. Разработана также гибкая система загрузки контактов из csv файлов. Эта система позволяет вытягивать контакты из csv любого формата, с любым расположением полей. С каждым контактом связываются дополнительные параметры, которые можно отображать в сообщениях и загружать из csv.

Технологии

JavaScript, Node.js, Vue.js, NestJS, PostgreSQL, TypeScript, TypeORM

Длительность

Январь 2022 — Декабрь 2022 месяцев

Проект

Система дистанционного обучения для Бразилии

Описание

Обязанности: Участвовал в разарботке системы дистанционного обучения для Бразилии (и других стран Латинской Америки) ebac-lms , которая представляет собой аналог Skillbox. В этот проект я пришел на ранней стадии разработки. В то время в проекте кроме меня участвовало 2 разработчика, в том числе тимлид. Из большого количества разных задач могу выделить два больших эпика, на которых я затратил больше всего времени. ? Система расчета оплаты тьюторам. Работа тьюторов оплачивается в зависимости от сложности задания по нескольким тарифам, которые могут меняться со временем. Также могли меняться, добавляться и удаляться уровни сложности. Так же пришлось разработать еще и хитрую систему бонусов, которая зависела от своевременности выполнения работ. В этой системе я разрабатывал как бэкенд на nest.js, так и фронтенд. Так же была разработана гибкая система отчетности в excel и pdf, которая позволяла быстро разрабатывать и добавлять новые отчеты. Гибкость обеспечивалась следованием принципам SOLID. Администраторы системы могли вносить в рассчитанные данные некоторые корректировки, а потом фиксировать данные. После фиксации данные становились доступными для просмотра тьюторам, а также рассылались в виде pdf отчетов по e-mail. Рассылка производилась через микросервис с использованием RabbitMQ. Редактор субтитров. Здесь работа велась на фронте. Уже был реализован некий редактор, но он позволял редактировать части субтитров (чанки) только в диалоговом окне при двойном клике на часть текста. Моей задачей было реализовать возможность inline редактирования. Пришлось практически все переписать с нуля, так как в прошлой реализации про чистый код не слышали

Технологии

TypeScript, TypeORM, NestJS, PostgreSQL, Vue.js, Nuxt.js, AWS, Redis

Длительность

Июнь 2021 — Октябрь 2022 месяцев

Проект

Кредитный потребительский кооператив

Описание

Обязанности: Доведение до ума старой системы управления кредитным кооперативом. Исправление жуткого легаси кода Структурирование жуткой базы данных без первичных ключей Получение различных несуществующих данных по косвенным признакам, методами расчетов и т.д. Многое другое, связанное с усовершенствованием и доработкой старого приложения (Delphi, Qt, Firebird) Cистема рассылки SMS (Python, Firebird) Система управления офисом (Koa.js, Vue.js, Firebird

Технологии

JavaScript, Git, SQL, Python, Базы данных, Node.js, Delphi, C#

Длительность

Март 2013 — Март 2021 месяцев

Проект

Нефтеперерабатывающий завод

Описание

Обязанности: Система учета нефтепромыслового оборудования (С++, MFC, Oracle) Система доставки и установки компонентов (версионная система автоматического обновления приложений) (С++, MFC, SOAP, Oracle) Система планирования ремонтов электрооборудования (С#, WindowsForms, Firebird) Визуализатор внутренней отчетности (ASP.Net MVC, JavaScript) Много других приложений в основном на C# WindowsForms

Технологии

C#, C++, SQL, JavaScript, Oracle PL/SQL, Firebird, SOAP, MFC

Длительность

Март 2008 — Февраль 2008 месяцев