Резюме

Портфолио Обо мне Обратная связь

Портфолио

Некоторые из моих работ. Далеко не все...

Движок блога ГК43 на Python
Сайт-портфолио графического дизайнера
Сайт модельного агентства
Редактор для выравнивания последовательностей ДНК
Мастер для быстрого создания мастеров Bitrix
0.5С Бухгалтерия для рекламного отдела
Update Wizard. Программа для скачивания обновлений
Сайт КонсультантКиров
Ixodes Base
Gel Album
BioTest
Магазин Тракер
Оповещение о вакансиях
Класс дистанционного образования
Сайт Кировская Молекулярная Биология
Модуль Недвижимость
Модуль Граббер
Магазин Нетеряшки
Заказ выписки ЕГРП
Таймер задач

Портфолио

Photo

Живой журнал

Технологии: Python, MySQL, CSS, JS
Выполнено: разработка архитектуры БД, разработка структуры и функционала, порезка, верстка, кодинг
Ставилась задача создать свою блоговую платформу региональной направленности. Прототипом основного функционала служил LJ, с местными доработками и своими особенностями, определенными заказчиком.
Практически - мой дебют на Питоне. Из интересного - замороченная структура Zope, не прощающая никаких ошибок. Правки, доработки, расширение функционала обходятся очень трудозатратно. Получен бесценнейший опыт и навыки планирования на бумаге, выявления и устранения "узких" мест в теории, и только потом - кодинг. Дисциплинирует.
Убийцей ЖЖ проект не стал, но все еще работает (январь 2016), что вызывает умиление и ностальгию :).
Назад

Портфолио

Photo Photo Photo Photo

Сайт-портфолио

Технологии: PHP, MySQL, CSS, JS
Выполнено: разработка архитектуры БД, разработка структуры и функционала, порезка, верстка, кодинг
Сайт-портфолио графического дизайнера. Дизайн и запрошенный функционал - авторский. Реализация - моя.
Своя CMS. В публичной части - показ работ в соответствующих разделах, поиск по названию и описанию. В админской - добавление работ и их описания. Ничего лишнего, только необходимое заказчику.
Назад

Портфолио

Photo Photo

Сайт модельного агентства

Технологии: PHP, MySQL, CSS, JS, Jquery
Выполнено: разработка архитектуры БД, разработка структуры и функционала, порезка, верстка, кодинг
Сайт модельного агенства. Дизайн и запрошенный функционал - авторский. Реализация - моя.
Опять своя CMS. Система немного подросла: добавлено кэширование, управление из админ-панели главным меню и произвольным набором страниц. Введены включаемые области - телефоны и прочие контакты заказчик может менять сам, в пару кликов мышки. Фильтр анкет моделей, автозапуск фотографий в анкетах.
Назад

Портфолио

Photo Photo

Редактор для ручного выравнивания нуклеотидных последовательностей

Технологии: Qt C++
Задача: получить нативный Linux-редактор текста, понимающий формат rtf, поддерживающий форматирование шрифта, и возможность переключиться в режим безразмерных строк. В строке может быть и 1000 нуклеотидных буковок, и 10000.
Выполнено: воссоздан требуемый функционал MS Wordpad + добавлено несколько полезных фишек
В OS Windows проблем нет. Там есть WordPad - старый такой текстовый редактор, который несет на борту необходимые фишки: форматирование шрифта (полужирный, курсив, подчеркнутый, цвет) и перенос строк, который можно отключить. Открываем *.rtf, включаем бесконечные строки и моноширинный шрифт, натаскиваем интересующие нас последовательности ДНК, и ровняем, ровняем, ровняем...

В OS Linux, к глубокому сожалению, полного аналога Вордпада не оказалось. AbiWord - облом-с... На первый взгляд - не проблема. Есть wine, соответственно, нет проблемы. Однако проблема нашлась: wordpad под wine категорически не желает делать текст полужирным. Точнее делает, но не отрисовывает. Что-то там с рендером шрифтов, несовместимостью библиотек, и др., и пр. Неважно, вобщем - с пол-пинка не завелось, танцы с бубном не помогли. Поиски в репозиториях и гугление аналогичного софта не увенчались успехом.

Желательно - поиск фрагмента по тексту, подсвечивание найденных фрагментов. Поиск и замена.

Пара вечеров, и редактор готов. Делает все, что от него требовалось, работает под никсами, как и ожидалось. Плюс бонусные плюшки - показывает позицию каретки, длину фрагмента, GC-состав и температуру плавления выделенного участка ДНК...

Как бонус - немного освоил С++. Может, еще где понадобится.
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo

Мастер для быстрого создания мастеров CMS Bitrix

Технологии: Borland Delphi
Задача: получить вспомогательный инструмент для ускорения создания мастеров Bitrix, немного автоматизировать рутину.
Для начала спою хвалебную оду визардам. Первое: механизм пошагового выполнения каких либо действий. Все уже придумано, есть API... Как говорится, бери и пользуйся. Из наличия API проистекает вторая выгода - возможность вызывать визард как из публичной, так и из админской части сайта. Третья выгода - при вызове можно проверить права доступа пользователя. Ну и четвертое, как вишенка на торте - есть минимальный графический интерфейс. Кнопки "вперед-назад-отмена", система вывода сообщений и возможность скормить визарду переменную, введенную пользователем.

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

Мастер, скажем так, для создания мастера. Ну или минимально необходимого каркаса мастера. Принцип действия понятен из скриншотов, работа проверена под WinXP и Wine в Debian 6.

Почему не на php? Ну вот так захотелось. Чтобы квалификацию не терять, забывать начал как IDE Дельфи выглядит...
Назад

Портфолио

Photo Photo Photo Photo

0.5C Бухгалтерия

Технологии: Borland Delphi + Firebird
Задача: Написать СРМ для менеджеров по рекламе. Как основу (клиентскую базу) должна использовать БД EasyClients, в родные таблицы не пачкать, только чтение. В свои - сколько угодно. Программа должна уметь выставлять счета на проданную рекламу с учетом размера баннера, места его расположения, сроков показа и стоимости. Стоимость, баннера и их параметры заносятся администратором, менеджеры формируют счета из готового. Итоговая сумма должна формироваться автоматически. Печать счетов, слежение за сроками оплаты, уведомления о просроке.
Доп. ограничения: Нет, мы не будем покупать расширенную лицензию на EasyClients. Нет, и Парус тоже не будем покупать. и 1С Бухгалтерию тоже не будем покупать. Да знаю я, что там половина "из коробки работает". И чо? Ты программист, или где? И чо, что ты веб-программист?
И чо-и чо... И ничо...© Cказано - сделано.
Получилось вполне взрослое клиент-серверное приложение. Названо было 0.5С Бухгалтерия. Прикол такой был - отчасти немного пофрондировать, отчасти - указать, что 1С пишет куча людей, а тут один...
База данных под Firebird крутилась на локальном сервере, клиенты были поставлены директору, начальнику отдела продаж и всем рекламным манагерам.
Программа формировала договора, счета на оплату, с учетом тех позиций, которые были доступны для продажи. Причем, если сквозной топовый баннер был продан ан весь октябрь, то повторно продать его (загнать в договор и счет на оплату) было невозможно, только с ноября. После выставления счета начинал тикать таймер, ожидая оплаты. Неплательщики сначала красились желтым, потом красным. Оплаченные счета - зеленым. Проведенные и закрытые - серым.
Далее, опираясь на БД можно было сформировать любой отчет с фильтрацией по дате, клиенту, наличию проплаты, менеджеру, курирующему проект. Из родительских таблиц EasyClients можно было дернуть данные, когда этому неплательшику был последний прозвон или личная встреча.
С учетом того, что премиальная часть оклада рекламного отдела формировалась по "серым", закрытым и проведенным бухами счетам, а также от отношения клиент/время нахождения в БД/кол-во договоров/кол-оплаченных договоров/кол-во контактов (встреч и звонков) - можете себе представить, как меня страстно обожало руководство и "нежно любил рекламный отдел" XD.
Тем не менее, это был мощный опыт разработки в RAD, навык написания своих компонентов для Delphi, опыт работы с хранимыми процедурами в БД (очень заманчиво, между прочим - перевалить львиную долю бизнес-логики на БД, а в клиенте остается только дергать эти функции с параметрами и читать ответ).
Кстати, именно тогда я дозрел до покупки лицензии на Delphi. Чтобы вопросов не возникало.
Назад

Портфолио

Photo Photo

Update Wizard. Программа для поиска и скачивания обновлений.

Технологии: Borland Delphi
Задача: Написать программу, являющуюся модулем для мониторинга и установки обновлений родительской программы.
Собственно, планировалась как модуль программы для учета клиентов, но может включаться в любую поставку. Настройки программы делятся на две части: xml-файл с описанием обновляемой программы (на сервере), и клиент, который опрашивает сервер. В случае появления обновлений - предлагает их скачать. Такое решение было выбрано из-за нежелания метаться с флешкой между 25 компьютерами при последующих доработках основной програмы. Их еще поймай, этих 25 манагеров - то в разъездах, то на больничном...
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo

Сайт КонсультантКиров

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

Интересный был проект. Как минимум тем, что тренингами в филиале заведуют три отделения, но схемы проведения и записи у них совершенно разные. Бизнес-логика, соответственно, тоже - пришлось хорошенько подумать над задачами.
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo Photo Photo

Ixodes Base. Приложение для учета и статистической обработки экспериментальных данных.

Технологии: PHP, easyUI, jQwery, mySql
Электронный лабораторный журнал для учета клещей с возможностью фильтрации выборок по параметрам. Экспорт данных в *.doc, *.xls.Возможность статистической обработки интересующих групп даннных. Для быстрой разработки интерфейса выбрана easyUI по причине бесплатности и отличной совместимости с jQwery. Журнал успешно используется в исследовательской лаборатории.
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo

Gel Album. Приложение для учета и хранения снимков результатов электорофретических исследований.

Технологии: PHP, easyUI, jQwery, mySql
Фотоальбом с возможностью поиска по описаниям и экспортом данных в *.doc. Для быстрой разработки интерфейса выбрана easyUI по причине бесплатности и отличной совместимости с jQwery. Альбом успешно используется в исследовательской лаборатории.
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo

BioTest. Система тестирования знаний студентов естественных направлений.

Технологии: PHP, easyUI, jQwery, mySql
Движок тестовой системы для студентов биологического факультета. Из основных особенностей - собственные наработки вида вопросов: конструктор биохимических цепей реакций и формул, позволяющий качественно оценивать знания биохимии или органической химии, и графические тесты с возможностью редактрирования рисунка - идеальны для гистологии, например. Отдельная группа подтипов вопросов для генетических задач.
Для быстрой разработки административного интерфейса выбрана easyUI по причине бесплатности и отличной совместимости с jQwery.
Активная система противодействия списыванию, построенная на логировании поведения экзаменуемых и перекрестному поиску с участием типа браузера, IP, времени, времени начала и окончания тестирования, времени, затраченному на каждый вопрос. Дорабатывается система отлова копипаста с учетом релевантности.
В целом - очень интересный проект, заставивший похрустеть мозгами.
Назад

Портфолио

Photo Photo Photo

Интернет-магазин Traker

Магазин на Bitrix редакции Малый бизнес. Ничего особенного, магазин, как магазин. Обмен с 1С настроен, немного кастомизирована процедура добавления товара в корзину и оформления заказа.
Назад

Портфолио

Photo Photo Photo

Оповещение о вакансиях

Технологии: PHP, curl, bash, cron
Зачастую с вакансиями как - кто первый встал, того и тапки. Подписка по email есть не на всех сайтах, да и не решает она проблемы - лаг большой, и нет конкурентного преимущества. Сидеть, и весь день F5 долбить - тоже не наш метод. Работать-то когда?
Вывод: нужно автоматическое оповещение о появившихся вакансиях.
Делаем.
Задача: оперативно отслеживать изменения на определенных сайтах и сообщать о них. Класс граббера уже есть - давно написан, постоянно дорабатывается и бережно хранится. Вешаем скрипт на крон, натравливаем на сайт. Скачиваем и парсим страницу раз в пять минут, сравниваем с предыдущим состоянием. Чтобы нас не забанили - подсовываем User Agent. Если есть изменения - вызываем скрипт на bash, который, в свою очередь вывешивает уведомление на экран и залихватски присвистывает голосом дроида из Звездных войн.
Выборка вакансий сравнивается с черным списком работодателей, их вакансии игнорируются, и со спискомм ключевых слов. При совпадении - вакансия получает приоритет.

Решение гибкое, настраивается без проблем. Теперь можно спокойно кодить, не отвлекаяcь по пустякам.
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo Photo Photo

Класс дистанционного образования

Технологии: PHP, easyUI, jQwery, mySql
Выполнено: разработка архитектуры БД, разработка структуры и функционала, порезка, верстка, кодинг
Сайт для учителя биологии Вятской Гуманитарной Гимназии.
В верстке использовался kickstart - можно сказать, мой дебют в верстке по сетке. CMS по прежнему самописная, появился поиск и кэширование.
По большому счету кэширование тут избыточно, и без него работает все шустро - но, тем не менее, давно собирался дописать этот модуль, повода не было.
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo

Кировская Молекулярная Биология

Технологии: PHP, easyUI, jQwery, mySql, bootstrap
Выполнено: разработка архитектуры БД, разработка структуры и функционала, порезка, верстка, кодинг
Сайт мой. Можно сказать - хоббийный. Своя CMS, уже обросла модулями капчи, кэширования, полнотекстового поиска. Адаптивная верстка реализована на bootstrap3. Прикольно, удобно, полезно.
На сайте потихоньку собираю то, что будет полезным для работы дипломников и молодых биохимиков. Пишу всякие калькуляторы и прочие полезности, если есть время.
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo

Модуль "Недвижимость"

Технологии: PHP, jQwery, mySql
Модуль "Недвижимость" для Bitrix.

Спроектирована структура таблиц, оптимизированная под быстрый поиск и фильтрацию. Учтены все возможные свойства, описывающие объект недвижимости. Добавлена возможность расширения и добавления пользовательских свойств. Для позиционирования на карте добавлен инструмент геокодирования и снятия координат с Яндекс.Карты и КЛАДР ФНС РФ.

Для публичной части разработаны компоненты для выборки объектов таблицей, топ 10, спецпредложения, последние предложения. Несколько вариантов фильтров для сужения области поиска.

Хм... Сейчас, конечно, выглядит так себе. Но для 2009 года это был прорыв. Тормозящие инфоблоки, падение MYSQL при запросе элемента инфоблока и всех его свойств... Помните такое на mysql4: Too many tables; MySQL can only use 61 tables in a join?
А выбор местоположения? Сейчас, он, конечно, стал неплох, но 6 лет назад... Классификатор адресов от ФНС тогда был быстрее, полнее и уместнее.

Назад

Портфолио

Photo Photo Photo Photo Photo

Модуль "Граббер"

Технологии: PHP, jQwery, mySql
Модуль "Граббер" для Bitrix.

Граббер контента. Изначально планировался как граббер для крупного новостного портала.
Умеет тянуть новости как из RSS, так и HTML лент.
Для предотвращения копирования дублей - умеет искать первоисточник по времени добавления и уникального отпечатка контента.
Добавляем ленту, настраиваем правила, указываем куда складывать, подключаем на крон - полился контент на сайт...
Назад

Портфолио

Photo Photo Photo Photo Photo Photo Photo

Интернет-магазин Нетеряшки

Магазин на Bitrix редакции Малый бизнес. Кастомизирована процедура добавления товара в корзину и оформления заказа для оптового покупателя. Кастомизированы формируемые документы к покупке (счет-фактура, ТТН и пр.).
Назад

Портфолио

Photo Photo Photo Photo

Заказ выписки ЕГРП

Технологии: PHP, jQwery
Сервис поиска объектов по кадастровому номеру, частичному или полному адресу.
Ищет объекты недвижимости в базе Росреестра, после нахождения нужного и выбора его - вызов компонента заказа.
Забавная штука получилась - API Росреестра, немного js, немного ajax, свой компонент обратной связи, с шаблоном, заточенным под прием заявки, на финальном шаге - Robokassa для оплаты.
Заказчик доволен.
Назад

Портфолио

Photo

Таймер задач

Технологии: jQwery
Общие сведения
Таймер выполнения задач. Реализация - html+jquery.
Использование
Открываем страницу с таймером.
Начали выполнять задачу - нажали Старт.
Собрались покурить/попить чайку - нажали Стоп. Вернулись, продолжаем - нажали Старт.
После выполнения задачи последовательно жмем Стоп и Сброс. Производится подсчет времени и вывод в инпут, откуда результат можно скопировать и унести в отчет.
Подсчет времени
Секунды не учитываются.
Минуты для оплаты подсчитываются пятнадцатиминутными интервалами.
Например, с 00:01 до 14:59 - к оплате выставляется 0 минут. С 00:01 до 27:15 - к оплате 15 минут при фактических затратах в 27 минут. Ну и так далее.
Почему так: мне так спокойнее. И заказчику приятнее. Да и вообще выполнить 2-3 минутную задачу (сменить телефон в шапке), и выкатить счет за час, или пол-часа работы - ну это как-то негуманно.Поэтому заказчику предъявлется округленная в меньшую сторону цифра, а мне - точная, для хронометража.
Планируется
Минимум: прикрутить HTML5 local storage для записи результатов, чтобы можно было пользоваться и в оффлайне. Хотя... Кому нужен таймер офлайновый, если 90% работ ведется удаленно, онлайн?
Максимум: добавить нечто вроде CRM с набором клиентов, задач, выбора задачи, тайминга и хранения всего этого добра в связке. К этому, собственно, всё и идет.
Назад

Обо мне

На фото я с напарником (я - в синей футболке, если что). У нас четкое разделение труда: я - пишу код, он - спит на системном блоке.

Мои положительные стороны:
Коммуникабельность, умение общаться по телефону. Инициативен, обучаем, легко налаживаю контакт с людьми, хорошо работаю в команде, так и в одиночку. Ответственно отношусь к выполняемой работе, психологически уравновешен.

Нравится:
Качественные постановки задач.
Качественное выполнение поставленной задачи.

Не нравится:
Соцсети любой направленности (Однокласники, Вконтакте и пр.). Тупые таймкиллеры.

Компьютерные навыки

Знание OS Windows и OS Linux на уровне пользователя, офисных программ и графических редакторов; опыт работы с PHP, Python (сервер приложений Zope 2.8), НТМL, JavaScript, Ajax, (jsHttpRequest, extJS, jquery), CSS, CSS2, LESS, VBS, Delphi, MySQL, SQLite, Firebird. Опыт верстки, в том числе с CSS-фремворками, вроде bootstrap, kikstart. Опыт настройки локальных серверов Apache, Zope, MySQL, Firebird для дальнейшего использования в разработке программ, опыт установки и настройки программного обеспечения под Windows и Linux.

Опыт администрирования web-сервера (Debian, CentOS) – настройка виртуальных серверов, резервного копирования etc.

Сертификаты Bitrix

Оnline-курсы

Image Image Image Image Image Image Image Image Image Image Image Image

Очная сертификация


Интеграция дизайна и настройка платформы
CERT-EX-DEV-010-2873165-23461-492832

Опыт работы

Web-программист

ООО “Лайт”, г. Санкт-Петербург 03.2017 - настоящее время

Разработка и поддержка сайтов организации

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

Web-программист

Медиа-студия “Fly”, г. Киров 01.2011 - 12.2016

Порезка, верстка, кодинг сайтов на CMS Bitrix. От визиток до магазинов. Настройка обмена. Кастомизация. Разработка компонентов. Разработка модулей.
Воплощение практически любых фантазий заказчика, котрые не входят в конфликт с интерпритатором php на сервере.

Web-программист

ООО “CKH-Медиа”, г. Киров 11.2009—01.2011

Разработка новых сервисов для сайта компании (investorkirov.ru), администрирование и модификация существующих сервисов; верстка шаблонов + программирование клиентских сайтов (в рамках дочерней веб-студии СКН-Медиа), администрирование web-сервера

Порезка, верстка, кодинг сайтов, над которыми в указанный период работала студия.
Изучен API CMS Birix до уровня, достаточного для написания собственных модулей и компонентов.

Web-программист

ООО “Вятка-на-Сети” холдинга “ПБК”, г. Киров 06.2008—11.2009

Разработка новых сервисов и поддержка существующих ресурсов компании (net.kirov.ru)

Web-программист

Веб-студия ООО “Медиа-Сервис” холдинга “ПБК”, г. Киров 11.2007—06.2008

порезка дизайна, программирование сайтов (CMS Bitrix), выполнение работ по принципу аутсорсинга для OOO “Вятка-на-Сети”.

Порезка, верстка, кодинг сайтов, над которыми в указанный период работала студия.

Web-программист

ООО "МЕДИАИНВЕСТ", г. Киров 04.2006—11.2007

Разработка новых сервисов и поддержка существующих ресурсов компании (gorodkirov.ru), установка и настройка программного обеспечения на рабочих местах менеджеров рекламного отдела. Набивка контента, замена и иногда отрисовка баннеров, уход за оргтехникой. Совершенно дикое место, давшее практику стресс-программирования :) .

Разработано и внедрено клиент-серверное приложение для рекламного отдела. Ведение базы клиентов, контакты, планировщик событий, отчетность по работе с клиентом (звонки, встречи, результат). Формирование счетов на оплату по проданной рекламе, контроль поступления оплаты и сроков. Печать счетов и отчетов как по отдельному клиенту/менеджеру, так и групповые.
На порядок выросла эффективность сбора оплаты и выявления должников, выявлены эффективные и не очень менеджеры.
Разработан и запущен блоговый движок (blog43.ru) на платформе Zope 2.8 (Python).

Координатор отдела логистики

ООО "ИНТЕРЛАБ", г. Москва 01.2003 — 12.2004

Обеспечение доставки груза от зарубежного производителя до таможенного терминала, подготовка документов для таможенной очистки грузов, обеспечение перевозок очищенного груза по РФ и СНГ "до двери" получателя.

Разработана и внедрена web-СRM (php+mysql) на локальном сервере. Формирование документов для таможни, база адресов грузополучателей, печать наклеек. За счет внедрения системы уменьшен вдвое срок таможенной очистки грузов.
Получен бесценный опыт общения как с обычными людьми, так и с бухгалтерами, таможенниками, чиновниками. Бесценнейший опыт.

Образование

МГУ им. М. В. Ломоносова

Биологический факультет 1999 - 2003

Кафедра биоорганической химии, специализация - биохимик.

Первые IT-навыки были получены на дипломной работе: починка прошивки для амплификатора ДНК (НЕХ-редактор, программа для MS-DOS), доработка софта для электронного денситометра, реверс-инжиниринг и многое, многое другое.

Интересы и хобби

Проектирование и конструирование биохимического лабораторного оборудования, разработка программного обеспечения для моделирования биологических процессов, конструирование радиоэлектроники. Чтение, получение новой информации.

Напишите мне