Проводим исследование о роли образования в ИТ. Пройти опрос (займёт 7-10 минут).
Обо мне

Специализация и профессиональные навыки: ActionScript 3.0, 2.0; Flex 4; AIR; Java (Red5, Wowza);

Профессиональные цели: Оставить свой след в индустрии. :D

Опыт работы
Август 2013 — по настоящее время (5 лет и 7 месяцев)
Flash-программист
Москва
Обязанности и достижения
Один из проектов: Конструктор для визуального создания и редактирования диалогов персонажей (NPC) для игры. Конструктор -- это приложение для создания диалогов игрока и персонажа, который позволяет пользователю: добавлять диалоговые блоки на сцену, задавать корневую фразу-вопрос персонажа, добавлять возможные варианты фраз-ответов игрока внутри диалогового блока, добавлять на сцену тригерры-действия, добавлять возможные варианты действий. Ответы игрока связываются пользователем с другими диалоговыми блоками либо с тригеррами-действий. После редактирования можно сохранить или загрузить проект. Скриншот: https://drive.google.com/open?id=0B0lqWF8qFStXeFEwX3VuQmlIV0U Особенности реализации: Система таргетированных событий, которая позволяет упростить процедуру подписывания и вещания событий для определенного типа медиаторов. Каждый медиатор в системе может относится к определенному типу, в зависимости от спецификации. При подписке используется этот тип. Система способна вещать события только для этого типа медиаторов. Приложение использует оригинальный Task framework. Как оказалось использовать только Команды оказалось неудобно. Необходим был более низкий уровень, который позволял бы еще больше абстрагироваться от функционала приложения. Данный фреймворк позволяет инициализировать цепочку задач-классов в едином месте, задать предварительные параметры для задач извне. Фреймворк позволяет перебрасывать результаты исполнения задач дальше, к следующим задачам. Позволяет установить указатель задачи и после, во время выполнения других задач, перейти к этой задаче по этому указателю, таким образом можно создать условия и циклы повторения задач. Фактически, задачи -- это надязык.
Август 2010 — Июнь 2013 (2 года и 11 месяцев)
ООО ИД «Drofa»
Senior Developer (AIR, Flex, AS3, C++, Android)
Москва
Обязанности и достижения
Разработка приложение WallBoard для просмотра «разнокалиберного» контента на электронных досках. Позволяет просматривать HTML-контент через HTMLLoader или Unity3D-объекты (или др. объекты, врапп через HTML) через StageWebView (десктоп) обернутого в виде нативного компонента для Flex. Оглавление скролируется перетаскиванием, как на планшетах. Для приложения разработана система шифрации и дешифрации («на лету») контента. К сожалению, процесс дешифрации больших объемов данных средствами AS3 под AVM2 получается достаточно медленным, поэтому был использован flascc, который позволил скомпилировать нативный C++ код в библиотеку swс, что в конечном итоге дало увеличение быстродействия в 24 раза и это не предел. Приложение позволяет рисовать (маркер) поверх контента (только для HTMLLoader, StageWebView находится всегда выше списка отображения, не спасает даже получение битмап-копии, так как в случае с Unity3D битмап получается пустым). Технологии: AS3, C++, Flex 4.9.1, AIR 3.7. (IoC фреймворк: Robotlegs, шаблоны: Model, View, Mediator, Command, Service). Разработка методики для быстрого и точного перевода грифованных книг компании Дрофа в мобильные приложения с возможностью текстового поиска по книге (PDFViewer). Технологии: swftools, AS3, Flex, AIR. Разработка движка построения сложных формул на Flash, за основу взят стандарт MathML. Реализовано базовое построение формулы - “рисование” ( измерение, масштабирование, лайоутизация визуальных компонентов, узлов, друг относительно друг-друга от родителей к детям и обратно), через рекурсивный разбор xml данных. В дальнейшем предполагалось создание редактора формул для методистов. (не закончено) Создание браузера (DrofaNavigator) для просмотра HTML и SWF контента, который имелся на тот момент у компании. DrofaNavigator постоянно совершенствовался. В настоящее время приложение DrofaNavigator позволяет просматривать контент сгруппированный по курсам (классам) и предметам. Особенность – модульная загрузка контента. Пользователь на сервере выбирает нужные модули (пункты) и скачивает это все в виде файла drf. Это собственный формат файла (т.н. drf) – пакетный файл, состоит из набора zip-архивов – предварительно заархивированных модулей на сервере, сервер собирает выбранные модули в единый файл с общим заголовком, где хранится информация о входящих в пакет архивах. Приложение DrofaNavigator позволяет импортировать drf-файл внутрь своего хранилища, разбирая, разархивируя, создавая или добавляя распакованные файлы к курсам и предметам. Технологии: AIR 2.6 + Flex 4.6 (IoC фреймворк: Parsley, шаблоны: Model, View, Mediator, Command, Task, Service). Браузер HTML (DrofaBrowser) с собственной системой хранения и редактирования данных (в виде связных xml-файлов), через мост между JS и AS3 (AIR). JS API создан и описан для простого и удобного доступа и хранения данных для HTML+JS разработчиков. Не имеет собственной GUI, вся GUI строится через HTML+JS. Технологии: AIR 2.6 + Flex 4.6 (IoC фреймворк: Parsley, шаблоны: Model, View, Mediator, Command, Task, Service). DrofaLabFactory и DrofaLabPlayer – система создания (для методистов) и воспроизведения лабораторных работ (для учеников), с последующим тестированием знаний учащегося. Особенность – создание набора последовательных фреймов с изображениями и текстами, в конце возможность создать тесты двух видов. Первый – в виде списка правильных ответов под изображением, куда перетаскиваются варианты ответов из общего списка. Второй в виде текста со специальными объектами внедренными в текст, куда перетаскиваются ответы из общего списка. В дальнейшем DrofaLabPlayer был портирован под Android. Технологии: AIR 2.6 + Flex 4.6 (IoC фреймворк: Parsley, шаблоны: Model, View, Mediator, Command, Task, Service). Поддержка старых флаш проектов, которые выступали в качестве контента для DrofaNavigator-а.
Декабрь 2008 — Июнь 2010 (1 год и 7 месяцев)
PWI corp.
Software Engineer (Flex, AS3)
Москва
Обязанности и достижения
Создание клиентской части (Flex, AS3) сервиса онлайн-коммуникаций http://www.vivavox.com/ , где участники общаются посредством аудио, видео и текстовых чатов, вайт-боардов (рисование схем, графиков), веб-презентаций (Power Point документы). Возможна запись интервью одного из участников сервиса, подключаемый FME-клиент. В дальнейшем работа над проектом переросла в совместную разработку группой удаленных программистов. Поддержка и написание стрим-плееров (Flex, AS3) для различных порталов. Разработка AIR утилит для создания заданных превью кадров по видео, режисерский пульт для управления многопоточной трансляцией. Координация деятельности работы удаленных программистов над общим проектом. Поиск и выработка стратегии для решения поставленных задач.
Март 2007 — Ноябрь 2008 (1 год и 9 месяцев)
Software Engineer (Flex, AS3, AS2, Java)
Москва
Обязанности и достижения
Software Engineer (Flex, AS3, AS2, Java) Реализация клиент-серверных решений для демонстрации технологий и решений компании во взаимодействии с внешними сервисами компании. Серверная логика -- Java (Red5), клиентская Flex, Flash (AS2, AS3). Разработка и реализация фреймворков и SDKs для клиентов-разработчиков компании, использующих внешние сервисы компании. Пример: http://seestorm.com/demo/ -- система клиент-сервер для демонстрации технологий компании SeeStorm -- синтезирование видео по голосу по фотографии или по 3D аватару. Серверная расширяющая логика написана на Java под Red5, обеспечивает доступ клиентов в хранилище с набором элементов (Flash Remoting, RTMP). После авторизации, пользователь имеет доступ к набору элементов. Пользователи могут быть, как временные (гости), так и постоянные, имеется общее хранилище элементов, доступно всем. Клиент написан на Flex (MXML + ActionScript 3.0) предоставляет пользователю три типа списков элементов: с аватарами, записанными голосами, видео. Постоянный пользователь помимо общих элементов получает доступ к своим собственным элементам, созданным во время прошлой авторизационной сессии. Возможно выбрать аватар из списка и голос и синтезировать темповое видео, темповое видео можно сохранить в списке видео. Редактор аватаров по фото-изображению, позволяет аплоадить изображение с компьютера пользователя и доунлоадить его обратно в GUI. На изображении автоматически расставляются лицевые точки, для глаз и рта. Пользователь может корректировать эти точки, что в свою очередь повлияет на создаваемый аватар. Создать аватар, аватар отобразится в списке элементов -- аватаров. Рекордер позволяет записать голос с микрофона (RTMP), как темповую запись, отследить интенсивность и длительность записи по графику, сохранить запись в хранилище с отображением элемента, записи, в списке записей. Стрим-плеер (RTMP) позволяет просматривать темповое видео и видео из списка, отследить время, передвинуть воспроизводящую головку в нужное место на тайм-лайне. Элементы из списка можно удалить или переименовать (если они НЕ общие элементы). http://212.158.160.57:5080/emopics/web/# -- система анимации фото изображений с результатом в виде готового набора GIF-изображений -- аватаров смайлов! Особенности реализации -- аплоадинг изображений, редактирование лицевых точек, кадрирование, воспроизведение синтезированных (сервис компании) анимированных GIF изображений программными средствами ActionScript 3, есть возможность кадрирования изображений на клиенте и JPEG энкодинга этих битмап данных для отправки на сервер, сейчас отправляется на сервер область кадрирования и там же происходит кадрирование. Реализована конференц-система HD VoIP на базе Adobe технологии Pacifica, с использованием стороннего конференц-сервера компании. www.boltoonz.ru -- для этого проекта реализована расширяющая логика на Java под Red5 для записи голоса, обработки данных от клиента, отправки запроса для синтеза видео сервису компании и складирования видео после синтеза, воспроизведения готового видео. Был реализован GUI (Flex), в дальнейшем переделан третьей стороной, реализован AS2 фреймворк для использования разработчиками клиентской части, используется.
Высшее образование
Сентябрь 1989 — Август 1994
ТЭИС-Ташкент
Информационных технологий
Ташкент
Специализация и достижения
Устройства системной электроники. Диплом инженера.
Январь 1989 — Январь 1994
ТЭИС-Ташкент
Информационных технологий
Ташкент