Больше информации по резюме будет доступно после регистрации

Зарегистрироваться
Был более двух недель назад

Кандидат

Мужчина, 47 лет, родился 15 июня 1978

Минск, м. Уручье, готов к переезду, готов к редким командировкам

Программист-разработчик

1 900 $ на руки

Специализации:
  • Программист, разработчик

Занятость: полная занятость, частичная занятость, проектная работа

График работы: полный день, гибкий график, удаленная работа

Опыт работы 27 лет 9 месяцев

Август 2020по настоящее время
5 лет
freegraphics
Разработчик, архитектор
Написание игры викторины для мобильных телефонов для издания. Также был создан редактор уровней. Технологии: Linux, QT, C++, GLSL, Android, Git, GitHub, Python, Django Rest Framework, Docker, PostgreSQL, SQLite, Lua
Июль 2019по настоящее время
6 лет 1 месяц
ITS Partner

Минск

Информационные технологии, системная интеграция, интернет... Показать еще

Программист-разработчик
Создание средств логирования для embedded систем на C++/C для Linux и ERTOS. Создание библиотеки коммуникации по pipe каналу. Linux, ERTOS, C++, C, protobuf, pipe, curl, JSON, multithreading
Май 2019по настоящее время
6 лет 3 месяца
fregraphics
Программист-разработчик
Разработка мобильного приложения для хореографов. Python, QT, Android, Tensorflow, Tensorflow Lite, C++, Opengl, R, Blender
Февраль 2019по настоящее время
6 лет 6 месяцев
freegrahics
Инженер-исследователь
Исследование архитектуры для RL агентов с множеством возможных одновременных операций. По данному исследованию код можно найти на моем GitHub-е, а статью на habrahabr.ru https://habr.com/ru/post/454916/ Python, Tensorflow, RL, research, GitHub, Habrahabr.ru
Февраль 2021Февраль 2021
1 месяц
Freegraphics
Тренер
Написание статьи. "Три полезных принципа при построении материалов тренинга." В том числе, использование мемов в тренинге https://www.linkedin.com/posts/sergey-klizardin-20a974101_three-principles-that-help-in-building-training-activity-6768799169890021376-3eTy
Октябрь 2020Декабрь 2020
3 месяца
freegraphics
Автор статей
Написание статей: * https://habr.com/en/post/531378/ - обзор принципов построение UI - "Разрабатываете приложения для друзей" * https://habr.com/en/post/535114/ - life hack для разработчиков, которые "не понимают" работу PM-ов. "Опуститься до уровня PM?" - полемичная статья. В ходе написания не учёл, что на habr.com многие не смотрят в профиль автора. Статья была воспринята как "крик души" начинающего разработчика. См. комментарии для более подробной информации. * https://habr.com/en/post/535278/ - случай разработки "Важность диалога PM и разработчика" - ставлю вопросы относительно случая разработки. Подробнее см. комментарии.
Январь 2019Февраль 2019
2 месяца
freegraphics

Минск

Автор статьи
Написание статьи по реализации минимальной обработки ошибок и расширению assert() (c/c++, Хабр) https://habr.com/ru/post/439172/
Январь 2019Февраль 2019
2 месяца
freegraphics

Минск

Автор статьи
Написание статьи для борьбы с прокрастинаций (Хабр) https://habr.com/ru/post/435204/
Октябрь 2016Декабрь 2018
2 года 3 месяца
AlisGames

Минск

Программист
Разработка игры пасьянса. Было разработано: 1) Оконная система 2) Система отрисовки анимации с использование щ шаблонов c++, что позволило собирать анимацию из блоков 3) Систему команд для приложения. Т.е. можно было реализовывать undo команд, работать с очередью команд, асинхронно выполнять команды. 4) Многочисленный функционал. Окна, игровая логика, обработка сообщений от мыши, подключение аналитики и других модулей. 5) Систему туториалов (позже от неё отказали на скриптование на lua) 6) Создание сайта для редактирования ресурсов игры https://play.google.com/store/apps/details?id=com.gameinsight.solitaire C++, Android, Java, Objective C, Android Studio, Python, PHP, Django, JS
Октябрь 2016Март 2017
6 месяцев
AlisGames

Минск

Программист
Разработка бота используещего не жаданую стратегию игры. Игра на подобии match 3. Бот нужен был для лучшего баланса игры. Т.к. жадный бот не играл адекватно игрокам. В результате был разработан бот, который играл на уровне лучших игроков и использовал не жадную стратегию, дающую большее количество очком OpenCL, C++, Python, R, RL
Август 2016Январь 2017
6 месяцев
freegraphics

Беларусь

Программист
Написание рекомендационной системы. Используется R Studio, Python, Numpy, Theano, Visual Studio C++, OpenCL, perl, GCC. Разрабатывается, как модули на C++ для сервера под Linux (для отработки запросов сайта), так и утилиты под Windows для предварительной обработки данных, обучения модели на GPU, визуализации хода обучения. Для построения рекомендательной системы использовалась deep neural net. Это позволило реализовать возможность "на лету" добавлять новые оценки, добавлять новые фильмы и новых пользователей, без переобучения модели. Также это позволило получить возможность быстрого вычисления списка фильмов, которые могут быть интересны пользователю. Для вычисления того, насколько могут быть интересны фильмы использовались доступная информация о фильме и о пользователе (не только сама оценка).
Сентябрь 2016Сентябрь 2016
1 месяц
freegraphics

Минск

Инженер-исследователь
Статья для habrahabr.ru описания принципа использования autoencoders для построение рекомендательных систем (для факторизации частично заполненной матрицы). https://habrahabr.ru/post/311232/
Ноябрь 2014Июль 2016
1 год 9 месяцев
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

team lead команды аудита кода
Аудит исходного кода.
Январь 2016Июнь 2016
6 месяцев
"Системные технологии"

Беларусь, st.by

Программист-разработчик
Исследование технологий машинного обучения и распределённых вычислений. Изучил python, numpy, theano, hadoop.
Июнь 2015Август 2015
3 месяца
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

Программист-разработчик
Разработка компонента, который оптимизирует загрузку обработчиков запросов, используя Deep Q-Leaning. Запросы от веб-части интернет банкинга обрабатываются множеством APPS. Цель компонента оптимизировать загрузку APPS, добиться минимизации времени ответа сервера. Используется Deep Q-Learning для того, чтобы приложение обучалось в ходе работы и тем самым могло оптимизировать работу серверов "на лету".
Октябрь 2013Август 2015
1 год 11 месяцев
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

преподаватель
Чтение докладов, организация обсуждений в рамках "Клуба разработчиков" (я являюсь инициатором его создания). Прочитано: -- "Шаблоны проектирования" -- "Чистый код" -- "Unit testing" и другие планируется "Элементы тренинга тренеров. Создание тренинга."
Февраль 2013Август 2015
2 года 7 месяцев
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

team lead команды аудита кода
1. Аудит исходного кода
Февраль 2015Июль 2015
6 месяцев
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

Программист-разработчик
Разработка приложения для поиска аномалий в логах. В BNF подобной форме описывается структура лога. Далее приложение обучается на нормальных данных. Формулируется модель. Далее подается лог для анализа. Приложение показывает те места в логе, которые являются аномалиями. Для реализации вычислений был использован GPU, Была написана реализация Deep Neural Net на OpenCL. Были реализованы relu, dropout, regression слои на базе оптимизированного для GPU матричного умножения. Был реализован SGD trainer с использованием momentum.
Май 2014Февраль 2015
10 месяцев
"Системные технологии"+БГУ

Минск, st.by

Образовательные учреждения... Показать еще

преподаватель, разработчик курса
Доработка курса "Битва танков-роботов". В курс была добавленна информация о машинном обучении (обучении с подкреплением). Написаны примеры танков-роботов для просчета выстрела на упреждение, а также пример для самостоятельного обучения стратегии ведения боя. Сервер был переписан с pipe-а на сокеты. Многочисленные доработки сервера. Реализована поддержка разработки клиентов не только на C++, но также были разработан компонент для поддержки разработки клиента на C# (планировалось реализовать поддержку разработки клеинта на Java). Применялся Naive Deep Q-Learning (для формировании стратегии боя), поэтому уровень кажества обучения пульсировал. При обучении выстрела на упреждение использовались методы монте-карло, поэтому там сходимость была существенно лучше.
Апрель 2014Май 2014
2 месяца
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

team lead команды аудита кода
Проверка качества алгоритмов генерации CAPTCHA в продуктах интернет-банкингов "Системных технологий". (буквально по окончанию эксперимента появилась информация о том, что Street View распознает 99% Recaptcha символов). Эксперимент заключался в следующем: можно ли создать со средним уровнем знаний средство, которое успешно распознает сгенерированные картинки CAPTCHA. По результам эксперимента были сформулированы рекомендации для разработчиков по улучшению безопасности. Была создана и обучена Convolution Net для распознавания является ли изображение символом или нет, а также каким именно символом является изображение. Приложение сканировало изображение и опеределяло какие символы есть на изображении. В ходе экперимента были выявлены угрозы и обозначены средства противодействию достаточно хорошему распознаванию CAPTCHA даже весьма простым приложением.
Октябрь 2013Апрель 2014
7 месяцев
"Системные технологии" + БГУ

st.by

преподаватель
Проведение курса «Введение в промышленную разработку. Игра битва танков-роботов» БГУ. Проведение курса. Студенты изучают процесс разработки ПО, стадии формирования технического задания, проектирования, разработка, тестирование. Занимаются разработкой приложения «Игра битва танков-роботов» как серверной части, так и клиенткой части. Занятия проходят в виде тренингов/лекций/практических занятий. Даются материалы по формированию требований, написанию вариантов использования, ООП, паттернам проектирования, UML, работе с БД, работе с сокетами, работе с 3D графикой, изучаются алгоритмы для реализации игры, изучается STL, boost, разработка с использованием шаблонов, метапрограммирование. Рассказывается о тестировании, разработке баз данных на базе Oracle.
Август 2013Октябрь 2013
3 месяца
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

преподаватель
Создание тренингов.
Апрель 2013Апрель 2013
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

преподаватель
Создание и проведение курса по безопасной разработке в asp.net Описание: В рамках поддержки разработчиков по вопросам безопасности был разработан курс для получения знаний web-разработчиков по вопросам безопасности.
Январь 2013Январь 2013
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Ревизия кода веб-приложения Internet Bank для физлиц Описание: Проведена ревизия кода веб-приложения Internet Bank для физлиц. Были обнаружены ошибки. С разработчиками были выработаны способы по устранению данных ошибо
Январь 2013Январь 2013
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Ревизия кода android приложения Internet Bank Описание: Проведена ревизия кода android приложения Internet Bank. Были обнаружены ошибки. С разработчиками были выработаны способы по устранению данных ошибок.
Январь 2011Январь 2013
2 года 1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Проведение экспертной оценки по вопросам качества кода Описание: Проводилась экспертная оценка по вопросам качества кода, актуальным для разработчиков/архитекторов/руководства.
Январь 2012Январь 2012
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

преподаватель
Разработка тренинга по моделированию угроз Описание: Для архитекторов был разработан тренинг по моделированию угроз. Позже он был проведен для одного из управлений.
Январь 2012Январь 2012
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Анализ аутентификации по ЭЦП Описание: Был проанализированы замечания пользователей по неудобству использования аутентификации для мобильных устройств. И предложены методы по использованию криптографии для минимизации проблем связанных с использованием CAPTCHA.
Январь 2012Январь 2012
1 месяц
"Системные технологии" + БГУ

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

преподаватель
Подготовка и ведение курса «Введение в промышленную разработку» для студентов БГУ Описание: К сожалению, приходя на работу, студенты достаточно «далеки» от понимания промышленной разработки. Лабораторные работы, курсовые не могут дать опыта решения реальных задач, а главное не могут подсказать студенту, на чем нужно концентрироваться для успешного устройства на работу. В курсе были рассмотрены задачи, возникающие перед командой разработчиков: • формирование требований к программе, • разработка архитектуры приложение, • сама по себе разработка. Были рассмотрены следующие темы: • варианты использования и их использование при формировании требований, • шаблоны проектирования, • основные диаграммы UML, • Принципы юзабилити, • Test Driven Development. Проблемы и решения: Курс во многом был пробным. Основная проблема – достаточно неоднородный уровень подготовки студентов БГУ с точки зрения разработки. Поэтому пришлось давать программу в несколько меньшем ритме и дать определенный бекграунд по разработке.
Январь 2012Январь 2012
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Проведение поиска ошибок web продукта Internet Bank для юридических лиц и корпосайта Приорбанка. Было проведено поиск ошибок продуктов СТ.
Январь 2012Январь 2012
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Проведена ревизия кода веб приложения Internet Bank для юрлиц Описание: Проведена ревизия кода веб-приложения Internet Bank для юрлиц. Были обнаружены ошибки. С разработчиками были выработаны способы по устранению данных ошибок.
Январь 2011Январь 2011
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Анализ продукта СТ APPS на наличие ошибок Описание: Проведен анализ продукта на наличие ошибок. Сформулированы требования для разработчиков. Проведена разработка библиотек, которые можно было использовать разработчикам при притиводействии типичным ошибкам.
Январь 2011Январь 2011
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

тренер
Разработка и проведение тренинга по базовым уязвимостям С++ Описание: Был разработан тренинг по уязвимостям класса выполнения производного кода. Было продемонстрировано, как возникают уязвимости и как защищаться от них. Были приведены задания для участников для усвоения необходимых знаний.
Январь 2007Январь 2011
4 года 1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Написание библиотеки utils Описание: В ходе разработки различных АРМ-ов и модулей была выработана библиотека базовых классов, которая должна была решить следующие задачи: • Минимизировать необходимую стандартную работу при написании АРМ-ов. • Облегчить работу с данными и минимизировать требования к разработчику по стандартным операциям с данными o сохранение на диск, в разные форматы o сохранение в реестр o передача по сети o передача по pipe-у. • проработать концепцию обработки ошибок • облегчить работу с потоками • облегчить работу с командной строкой Поставленные задачи были успешно решены и были разработаны классы. • Для работы с аналитиками (справочные данные в приложениях СТ). • Классы для декларативного описания данных. В дальнейшем это описание используется при: o отображении данных в гриде; o сохранении/чтение данных на диск; o сохранении/чтение данных в реестр; o сохранение/чтение данных в БД. o Сохранение/чтение данных в бинарные форматы. o передаче данных по сети. • Классы поддержки классов декларативного описания данных. • Классы работы с БД. • Классы работы с xml файлами. • Классы работы с реестром. • Классы работы с сетью. o По pipe каналу o Используя сокеты. • Классы для работы с бинарными форматами данных. • Классы работы с командной строкой. • Классы конвертации данных для других классов и для автоматизации конвертаций. • Классы быстрого преобразования для кодовых страниц. • Классы поддержки файловых операций. • Классы форматирования строк (с поддержкой многоязычности). • Классы для абстрагирования интерфейсов. • Классы поддержки очередей данных. • Классы для поддержки безопасности. • Классы для преобразований строк. • Классы для безопасных строковых функций и шаблонные классы для наиболее простого преобразования небезопасных функций в безопасные. • Классы синхронизации данных. • Классы поддержки интернационализации и перевода строк на разные языки. С поддержкой сохранения ресурсов на диске в виде xml файлов. • Классы поддержки модульных тестов. • Классы/функции расширения обычных API функций. • Многочисленные мелкие классы для программиста. Библиотека собиралась в ходе работы над многочисленными проектами. Также были разработаны классы поддержки растягиваемых диалогов.
Январь 2010Январь 2010
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Разработка процесса разработки ПО для организации Описание: Были разработаны должностные инструкции по обеспечению данного процесса.
Январь 2010Январь 2010
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Утилита сканирования изображений Описание: Была написаны COM интерфейсы и обычная DLL, которая использовала TWAIN API и позволяла захватывать изображения, в том числе проводить сканирование документов. Технологии: MSVC 2005, MFC, ATL, COM, TWAIN API
Январь 2007Январь 2010
3 года 1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
АРМ-ы СТ-Кэш (работа с физ. лицами для интернет-банка) Описание: Разрабатывал АРМ-ы (АРМ -- автоматизированное рабочее место) для того, чтобы поддерживать обработку заявок клиентов, заявок-рекламаций клиентов, а так же работу с параметрами клиентов. Позволяют создавать/обрабатывать заявки клиента. Выполнять другие функции запрошенные заказчиком. Для данных АРМ-ов был применен подход с точки зрения оптимизации интерфейса для решения задач пользователя АРМ-ов. Одна из подзадач потерпела фиаско, т.к. требования заказчиком вырабатывались изначально без надлежащего подхода. Т.е. не был предъявлен список необходимых/планируемых операций, т.е. какие-то мне удалось выяснить, остальные стали мне известны только намного позже. Как результат, достаточно сложные переговоры по одной из критичных функций. Проект научил контролировать требования с самого начала и с самого начала разработки формировать требования даже не смотря на заявление о готовности таких требований со стороны банка. Постановщики задач на стороне банка не обладают всеми знаниями архитекторов и разработчиков и процесс разработки архитектуры (при желании удачно создать приложение/модуль) необходимо контролировать самому архитектору/разработчику. Средства и технологии: MSVC 6.0, MSXML, WinAPI, MFC
Январь 2005Январь 2010
5 лет 1 месяц
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Поддержка/сопровождение/разработка многочисленных мелких задач. Описание: Написание мелких задачек в духе: нарисовать грид, прицепить к нему контекстное меню, реализовать фильтр для выборки данных из БД, отобразить эти данные в гриде иногда написать процедуры для работы с БД из этого грида. Средства/технологии: MSVC 5.0, Sybase. Из интересного: было удивительно выяснить, что кто-то при реализации многопоточности «забыл» реализовать корректную синхронизацию объектов. Что-то около пару дней я у заказчика в реальных условиях “засекал” причины падений. А когда глянул в код, то просто удивился – ни одного объекта синхронизации. Виновник нашелся быстро (в смысле класс, который валил приложение). И все было исправлено через пару дней. Показательно человек, который разрабатывал приложение, ушел за месяц на другую работу. Интересно, что модуль даже хорошо работало без синхронизации, если только в некоторые моменты не нажимать на определенные клавиши. Да, ещё один момент. Модуль проработал пару месяцев в реальной, а не тестовой среде.
Январь 2009Январь 2009
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

аудит кода
Анализа SMTP сервиса на ошибки Описание: Проведен анализ SMTP сервиса на ошибки
Январь 2008Январь 2009
1 год 1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Мониторинг Описание: Реализация системы мониторинга различных подсистем. Ставилась задача написания системы мониторинга, которая могла бы достаточно легко расширяться новыми подсистемами сбора данных. Вспомогательные задачи: 1. Создан грид, который совмещает в себе возможности отображения таблиц и отображения древовидных данных. Таким образом, решалась задача оптимального размещения на экране данных и возможности отображения/редактирования сложных структур данных (множество деревьев – лес покрывает все типы данных). 2. Написаны классы для работы с pipe-ом. Реализован сервер и клиент pipe-а. Они необходимы для минимизации нагрузки на базу данных. В отличии от сокетов pipe-ам не нужно реализация протоколов обмена. А также реализована безопасность с использованием стандартных средств windows. Есть недочеты с безопасностью, но в целом для простой передачи данных достаточно хорошо подходит. 3. Доработаны обертки для работы со стандартными классами (СТ несколько громоздкими и требующими однообразного кодирования). Проблемы и решения: Процесс мониторинга со стороны оператора монитора состоит из трех стадий: 1. поиск критических ситуаций. 2. анализ, найденных критических ситуаций. 3. принятие решений в соответствии с обнаруженной критической ситуацией. Так как возможности человека достаточно ограничены, применен подход, при котором само приложение находит критические ситуации. Этот подход центрирован на формировании сообщений о критических ситуаций, а не на “модели спидометра” (когда мониторинг обязан работать как спидометр машины, а не для того чтобы решать задачи мониторинга). Такой подход дает возможность разрешить самую важную проблему – минимизацию нагрузки на оператора мониторинга тем самым сведению к минимуму возможных ошибок из-за человеческого фактора. Центрирование на формировании сообщений о критических ситуациях также дает разрешение техническим (ограничение по объемом передачи данных БД и программ, а также размеров сохраненных в БД данных) и экономическим аспектам (стоимость оборудования) задачи. Хранение описания структур данных в БД, поддержка структур массивов (т.е. как это уложить в БД). Решена в виде таблиц-описателей структур данных. Минимизация процесса написания сборщиков данных. Решена с помощь написания классов для представления собираемых данных как типов данных C++, и вынесением операций работы с хранилищами из набора того, что нужно писать при разработке модуля сбора данных. Редактирование сложных типов данных и предоставление эти данных для пользователя в естественном виде, решена с помощь грида, совмещающий в себе возможности отображения как древовидных данных так и таблиц.
Январь 2008Январь 2008
1 месяц
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Написание модуля работающего с WinHttp API Описание: Так как microsoft рекомендовала использовать WinHttp API для серверов и так, как не удалось реализовать реальную параллельность выполнения для HTTP API, поэтому был написан модуль WinHttpGateway. Он так же поддерживал работу по https, так же реализовывал в отдельном *.h файле обрамление для того чтобы программисту было удобно использовать этот динамически подключаемый модуль. Средства и технологии: MSVC 6.0, PSDK. WinHttp API. Длительность: затратил примерно 2 месяца на разработку.
Июль 2007Август 2007
2 месяца
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Написание модуля упрощающего работу с XML форматами Описание: Т.к. из MSVC 5.0 не очень удобно работать с COM объектами и не всегда также удобно писать много кода ad hoc. Был написан класс, который поддерживал базовые операции необходимые серверу для работы с XML-ем. Реализовывались крупные и частые операции сервера: формирование из линейной структуры параметров в древовидную структуру и обратно. Интересно: что большую часть работы удалось зашить в правильно написанное xslt преобразования. Все задачи удалось зашить в xslt преобразования. В С++ коде требовалось лишь минимально приготовить данные. Средства и технологии: MSVC 6.0 XML SDK.
Апрель 2007Июль 2007
4 месяца
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Написание модуля для работы по https протоколу (Модуль HttpGateway) Описание: Стандартные MFC классы для работы с Http запросами ограничены в своей функциональность. Поэтому был написан модуль, который поддерживал бы работу по https протоколу, который бы поддерживал работу с сертификатами. Проблемы и решения: Т.к. большая часть проектов пишется в ST на MSVC 5.0, а API для работы с сертификатами было реализовано только в PSDK с версии MSVC 6.0, то модуль разрабатывался под MSVC 6.0. Для более удобной работы с данным модулем были написаны *.h файлы, которые подключались из проектов использующих данный модуль на MSVC 5.0, которые скрывали детали взаимодействий с динамически загружаемым модулем HttpGateway.dll и давали возможность работать с этим модулем как с обычным C++ классом. При эксплуатации, обнаружилось, что API функции поддерживают только псевдо параллельность из разных потоков при вызове не в режиме параллельной работы самого API. К сожалению, исходники wina с использованием WinHttp API были прочитаны позже (в тот момент при реализации я был ограничен в срока для рассмотрения проблемной области и тестирования возможных вариантов). А из этих исходников было ясно видно, что Http API реализует точно такой же способ коммуникации как и WinHttp API (только с другим именованием констант). В то время как WinHttp API было детально и более менее хорошо описано в MSDN-е, в том числе и работа в параллельном режиме обработки запросов. И так как требования на параллельную обработку налагались для использования в серверной части, то по совету msdn-а для серверной части было использовано WinHttp API, а HttpGateway так и остался псевдопараллельным (на клиентах не требовалось возможность обрабатывать множество запросов одновременно). Средства/технологии: MSVC 6.0, PSDK
Март 2007Апрель 2007
2 месяца
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Формирование минимальной инсталляции для установки ST-Bank. Описание: Необходимо было сформировать минимальный набор dll-ек, exe-шников, SQL скриптов для формирования БД (таблицы, view, триггеры, процедуры) для того, чтобы можно было установить ядро ST-Bank на базу данных, не используя дамп БД. Это нужно было для реализации возможности миграции этого набора на другие БД (не Sybase) или же установки на БД, с другими настройками БД (когда нельзя использовать для установки дамп БД). Задача была решена написанием небольшой программы, которая: 1. Формировала минимальный список dll-ек и exe-шников. 2. «Вытягивала» список процедур и таблиц, которые использовались в этих модулях. 3. «Вытягивала» список зависимых объектов из БД. (В Sysbas-е есть встроенные процедуры, которые позволяют «вытянуть» зависимости.) К сожалению, на БД из-за «нюансов» Sybase после «переинсталяции» объектов не всегда можно вытянуть все зависимости автоматически. Нужно соблюдать правильный порядок инсталляции, чтобы Sybase корректно создал зависимости, ну и аналогичные детали/особенности БД Sybase. Поэтому был написан скрипт, который делал так, чтобы Sybase начинала видеть зависимые объекты. Он прогонялся для всех уже найденных объектов. 4. После формирования списка, вытягивала в последний раз зависимости, и формировала SQL-и для создания объектов. 5. Создавала SQL-и с операторами Insert для заполнение данных в БД. 6. Формировала непосредственно файла для инсталлятора. Длительность: примерно 1-1.5 месяца.
Июнь 2006Сентябрь 2006
4 месяца
"Системные технологии"

st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Программирование платы Dialogic для реализации телефонного сервиса Описание: Необходимо было написать модуль, который бы реализовывал возможности автоматического call-центра. Были реализована поддержка скриптов взаимодействия (простейший скриптовый язык). С фиксированным набором функций, который позволял задавать алгоритм реакции и прочитываемые сообщения. Реализована поддержка информирования о курсах валют. Само собой, реализована интерактивность. Была заложена возможность для расширения встроенных функций. Проблемы и решения: Были решена задача максимально быстрого, автоматического восстановления при сбоях. При возникновении проблем, происходило логирование ошибки и перезагрузка сервиса. Простая перезагрузка модуля API платы Dialogic помогла устранению сбоев в функционировании (проблемы были смоделированы в ходе отладки и тестирования). Т.к. данная плата позволят подключать одновременно от 4 до 16 телефонных линий, то соответственно была реализована возможность параллельной работы. Интересна была реализация алгоритма произнесения цифр. Средства/технологии: MSVC 5.0, MFC, API платы Dialogic, Sybase.
Октябрь 2005Декабрь 2005
3 месяца
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Написание средства отправки моментальных сообщений в рамках программы ST-Bank Описание: Модуль моментальных сообщений поддерживал функциональность введение, отправки сообщения и отображение истории сообщений. Он реализовывал простой протокол для обмена сообщениями с использованием TCP сокетов или с помощью команд net send и подобных. Была реализована возможность отправлять как по имени компьютера, так и по имени пользователя (два вида контактных листов). Контактный лист формировался по списку машин, которые запускали ST-Bank. Было реализовано уведомление пользователя о пришедшем сообщении. Модуль моментальных сообщений не реализовывал возможность работы в нескольких сразу загруженных на одной машине программах ST-Bank. Служба отправки сообщений работала только в первом запущенном окне. Большей частью это связанно с тем, что обычно работники банка работают только с одним экземпляром программы. Средства/технологии: MSVC 5.0, MFC, БД Sybase, TCP sockets. Длительность: примерно 1-2 месяца.
Сентябрь 2005Декабрь 2005
4 месяца
Центр детского творчества

Искусство, культура... Показать еще

преподаватель
Создание тренинга по творческому мышлению. Давал базис из «Мозгового штурма», подхода Эдварда Де Бона, ТРИЗ-а. Для лучшей разработки сценариев/постановок, генераци идей для постановок, расмотрения ситуаций.
Июнь 2005Сентябрь 2005
4 месяца
"Системные технологии"

Минск, st.by

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Написание модуля для автоматического заполнения диалогов для массового вывода на печать данных различных окон в проекте ST-Bank. Описание: Задача была решена в виде следующего алгоритма. 1. Формируется список модулей (dll-ки), для которых нужно заполнить диалоги при печати. a. Определяются диалоги, которые нужно заполнять. 2. Формируются данные, которые будут подставляться в эти диалоги. Для этого «вытягиваются» ресурсы необходимых диалогов этих модулей, и пользователь заполняет данные диалоги. 3. Далее в автоматическом режиме осуществлялся обход модулей. a. Запуск модуля на выполнение. b. Когда появляются некоторые диалоги, то использование ранее введенных данных для заполнения диалогов либо формирование ошибки, если возникли ошибки (заполнения, выполнения операций и т.д.). c. Эмуляция вызова необходимых команд. d. Цикл. Задача не требовала поддержек никаких ветвлений, все выполнялось линейно с пропуском модулей, в которых возникли ошибки (осуществлялось логированием ошибок). Средства/технологии: MSVC 5.0, MFC, API работы с ресурсами. Длительность: выполнение этой задачи заняло примерно 3 месяца.
Апрель 2005Май 2005
2 месяца
разработчик
Программа для формирования и редактирования списка пускаемых в эфир клипов Технологии: MFC, ADO, SQL, WinApi, STL DTVManager – программа для формирования и редактирования списка пускаемых в эфир клипов. Фактически, 9 таблиц с возможностью редактирования. Таблицы задавали список клипов, рекламы, сообщений, т.е. того, что запускалось в эфир. Программа работала с БД MSSQL.
Март 2005Апрель 2005
2 месяца
Sakrament

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
ActiveX компонент-контрол редактор математических формул Технологии: COM, ActiveX, STL, WinAPI, ATL, WTL Контрол предназначен для редактирования математических формул. Контрол позволял вводить математические формулы так как это, допустим, можно делать в редакторе формул в word-е.
Август 2004Февраль 2005
7 месяцев
Sakrament

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Программа автодозвона и обслуживания приходящих звонков Технологии: Visual C++, MFC, STL, Win API, Win GDI, TAPI, SAPI Программа предназначенная для осуществления автоматических звонков по списку адресов и произнесения определённого текста, а также осуществляющая ответ на входящие звонки. Использовался движок “Sakrament” для синтеза речи. Программа позволяла: создавать/редактировать сообщения для ответа на звонки; воспроизводить записанные сообщения; прослушивать пришедшие сообщения; управлять записанными сообщениями.
Июнь 2004Июль 2004
2 месяца
Sakrament

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Программа построения фонетических тестов для ИнЯза Технологии: Visual C++, MFC, STL, Win API, WIN GDI, криптография, unicode Программа была разработана для тестирования заочников. Преподаватель формировал файлы тестов, которые рассылал по электронной почте ученикам. Ученики проходили тесты и высылали результаты преподавателю. Отличительной возможностью программы стало использование криптографии для защиты и тестов и самих результатов, а также для устранения возможности подделки результатов тестов. Для корректной работы программы использовалось Unicode, с которым возникли некоторые технические сложности по требованиям для старых систем. Пришлось обеспечить локальную для программы корректную поддержку требуемой функциональности Unicode для win9x. Также при построении программы была созданы базовые классы, которые позволяли сериализировать данные программы, сохраняя не только данные, но и имена данных. Это позволило перестать зависеть от формата файла данных в разных версиях программы и позволило использовать файлы разных версий программы. Таким образом, максимально облегчалось для разработчика обеспечивать совместимость между разными версиями программ. Также базовые классы написаны так, что не требовали написания многочисленного кода сохранения данных, а требовали лишь декларативно описать, что нужно сохранять, а базовые классы уже сами сохраняли данные в нужное хранилище (реестр, файл и т.д.). В дальнейшем идея данных классов была использована в библиотеке utils, которая была написана в свободное от работы время в СТ.
Июнь 2004Июль 2004
2 месяца
Sakrament

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Программа TeleMix для голосовой сигнализации аварий и событий на АТС Технологии: Visual C++, MFC, STL, Win API, WIN GDI, Oracle DB Программа, которая информировала голосовым сигналом о возникновении аварийных ситуаций на АТС. Использовался движок “Sakrament” для синтеза русской речи. Программа проверяла состояние устройств и выводила информацию на экран, если возникала ситуация, требующая внимания оператора, то запускалась индикация, и произносилось соответствующее сообщение. Программа активно взаимодействовала с БД.
Октябрь 2003Январь 2004
4 месяца
Sakrament

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Контрол подстрочника аудио-записи Технологии: Visual C++, MFC, STL, Win Api Win GDI, юзабилити На основе класса хранящего аудио-запись был создан класс-контрол для формирования подстрочника. Открывалась аудио запись, которую можно было прослушивать, а также создавать/редактировать текст, который был привязан к определенным позициям в аудио-файле. В контроле был реализована возможность отдельного просмотра текста. В ходе разработки я начал изучать принципы юзабилити, которые применял при проектировании и построении контрола. Контрол использовался в продуктах “Sakrament”.
Январь 2002Июль 2003
1 год 7 месяцев
Лаборатория численного моделирования НИИ ПФП

Минск

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Разработка и написание программы генерирующей скрытое изображение Технологии: Visual C++, MFC, STL, Win API, Win GDI По заказу Центробанка была разработана программа для генерирования скрытого изображения. Изображение наносилось обычным методом печати и невидимо при обычном просмотре, когда же на изображение ложился транспарант, то изображение проявлялось. Изображение формировалось специальным образом, так что затруднялся его повтор с использованием сканера. Алгоритм создавался на основе образцов подобных изображений Израиля. В начале была разработано консольное приложение для генерирования подобных изображений, позже было создано windows приложение. Методика использовалась в течении нескольких лет для защиты проездных документов.
Декабрь 2001Октябрь 2002
11 месяцев
Elisoft

Минск

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Экспорт netViz документов в Visio XML формат Технологии: Visual C++ 6.0, MFC, WinAPI, COM, DOM, XML, XSLT, Visio VBA В рамках проекта был разработан модуль, который экспортировал документ из приложения netViz в Visio. Т.к. формат файла не был хорошо документирован, то пришлось провести много исследований для того, чтобы добиться достаточно хорошей работы экспорта. Отличительной особенностью проекта стала возможность не только осуществить преобразование, но также существенно сократить объём файла для экспорта. Visio, по крайней мере версий 2000-х годов, не позволял импортировать из xml документа графические форматы со сжатием (т.е. позволял импортировать только такие форматы как bmp, gif). NetViz же по своей природе был насыщен различными изображениями, которые были понятно в графических форматах с хорошим сжатием (такие как jpeg). Поэтому я принял решение передавать исходные файлы в исходном формате, но не как изображения, а как дополнительную информацию, а потом уже используя COM интерфейсы Visio и Windows возможности Visio VBA добавлять эти изображения «на лету» уже после экспорта. С таким решением удалось сократить размер файлов экспорта по сравнению с прямым решением где-то на два порядка, что было очень существенно для файлов богатых графическими изображениями.
Август 2000Ноябрь 2001
1 год 4 месяца
BelCAF

Минск

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Разработка клиент-серверного приложения организации документа оборота офисов на Java Технологии: Java Builder 5.0 - 6.0, XML, XSLT. Участие в проекте. Разработка своей части кода. Следует отметить, что моя часть кода активно работала с XML файлами. Освоил XSLT и Java фреймворки работы с XML и XSLT.
Август 1998Август 2000
2 года 1 месяц
BelCAF

Минск

Информационные технологии, системная интеграция, интернет... Показать еще

разработчик
Разработка GUI компонентов, и других служебных классов Технологии: Java (JDK 1.1), Install Shield, cross-browser technologies, html, xml, CORBA Разработка GUI компонентов для проекта. Написание утилиты для автоматического изменения формата файлов для перехода между версиями. Тестирование GUI компонентов на различных браузерах. Тестирование браузеров на возможность использование средств в проектах. При работе над проектом участвовал в разработке и программировании таких компонентов как Области изображений, Таблицы и Компоненты отображения графиков. Разрабатывал DLL модуль для выполнения специфических для Windows функций. Использовал JNI для использования этой DLL из java кода. Использовал технологию CORBA для отдельных классов. Использовал Install Shield для построения инсталлятора. Отдельно можно выделить разработку окна About проекта. Необходимо было разработать визуальные эффекты для окна About. Было перепробовано около десятка разных визуальных эффектов.
Июнь 1998Август 1998
3 месяца
«Интеграл», производственная практика

Минск

Государственные организации... Показать еще

разработчик
Разработка серверной утилиты контроля места на дисковом пространстве сервера Технологии: Visual C++ (5.0), MFC, WinAPI Первый опыт работы с Visual Studio. Приложение было достаточно простым. Специальными API функциями windows осуществлялся контроль за определенными каталогами на сервере. Данные о свободном пространстве в режиме реального времени выводились в список на экран. При достижении лимита дискового пространства осуществлялась сигнализация.
Январь 1996Январь 1997
1 год 1 месяц
БГУИР, Кафедра ВМСиС

Минск

Образовательные учреждения... Показать еще

разработчик
Участие в разработке текстового редактора для школ В некоторых школах в 1996-1997 годах ещё использовались бытовые компьютеры. Для некоторых из них не было достаточно хорошего текстового редактора, поэтому стояла задача разработать редактор на ассемблере для оптимизации скорости выполнения. Я участвовал в написании части кода ввода с клавиатуры, выполнения функций редактирования, отображения текста и другие. Технологии:Ассемблер 8080.

Навыки

Уровни владения навыками
ATL
Java
Python
Разработка ПО
C/C++
STL
.NET Framework
C++
ООП
Unit Testing
C#
Deep Q-Learning
Deep Artificial Neural Nets
Чистый код
Reinforcement Learning
тренер
Boost
OpenCL
CUDA
паттерны параллельного программирования
Numpy
Theano
R Studio
Android
Tensorflow
Qt
Docker
Linux
ERTOS
Git

Обо мне

C++, нейронные сети, преподавание, тренерство, MFC, COM, DCOM, ASP.NET, Android, Java, WTL, ATL, OpenGl, шаблоны проектирования, метапрограммирование, проектирование, формирование/сбор требований, Matlab, Octave, UML, Python, Sybase, Oracle, WinAPI, Deep Artificial Neural Nets, Deep Q-Learning, Reinforcement Learning, Encoder, Unsupervised Learning, Supervised Learning, Data mining, R, R-Studio, boost, GPU programming, OpenCL, CUDA. Изучаю польский и английский язык. Прохожу (чаще просматриваю) курсы на Coursera, eDx и других платформах. Увлекаюсь психологией, написанием рассказов.

Высшее образование

2000
Факультет компьютерных систем и сетей, инженер системотехник

Знание языков

БелорусскийРодной


АнглийскийB1 — Средний


ПольскийA1 — Начальный


РусскийC2 — В совершенстве


Повышение квалификации, курсы

2014
Machine Learning
coursera.org by Andrew Ng

Тесты, экзамены

2019
Certifikat znajomości języka polskiego
PanProfesor, A1 (dobra)

Гражданство, время в пути до работы

Гражданство: Беларусь

Разрешение на работу: Беларусь

Желательное время в пути до работы: Не имеет значения