Дмитрий Т.

ФрилансерыДмитрий Ткачук

Украина Харьков, Украина
3 месяца 25 дней назад
Временно не работаю Временно не работаю
на сервисе 11 месяцев 27 дней

Специализация

Прикладное программирование
157 место из 2351
Парсинг данных
58 место из 229
Позиция в общем рейтинге 42
  13972 место из 221412

Резюме

В данный момент имею постоянную работу, на фриланс времени нет.
В профиле указано, что не работаю. Не пишите в ЛС, пожалуйста 🙂

Общий бэкграунд

Изначально занимался программированием в контексте исправления багов в старом приложении, более не обновляемом разработчиком. Таким образом нарабатывался опыт дизассемблирования, декомпиляции и инъекции собственного кода, а попутно C/С++.

Позднее занимался автоматизацией тестирования веб-приложений: во-первых, автоматизацией тестирования интерфейса (т.е. написание ботов на UI), а во-вторых, автоматизацией тестирования бэкенда и сервисов (т.е. написание ботов на основе HTTP-запросов). В процессе приходилось решать задачи по "старому" профилю, т.е. разбор слабодокументированных/недокументированных протоколов, иногда применяющих несложное шифрование (RC4), на основании клиентской части кода и логов протокола.

В общем и целом темой занимаюсь около семи лет, из них три в основном автоматическим тестированием.


Решаемые задачи

В связи с бэкграундом задачи могут быть достаточно разноплановые.

  • Написание ботов для работы с сайтами (например, регистрация, рассылка сообщений, оперативная покупка ограниченных предложений...);
  • Написание скриптов, собирающих данные (копирование форумов, интернет-магазинов, парсинг и предоставление данных в реальном времени, автоматическое скачивание видео YT/coub/и т.п., автоматическое скачивание/копирование контента в соцсетях...);
  • Собственно автоматизированное тестирование (Selenium+Java+опционально Thucydides или аналог, либо Selenium+Python). Желательно по существующему тест-плану/мануальным тест-кейсам либо по BDD;
  • Нагрузочное тестирование на статических и динамических данных (Java/Python+HTTP).
    На выходе — графики лимита нагрузки (отношение количества клиентов к среднему времени ответа), работоспособности страниц (отношение количества клиентов к количеству кодов HTTP 3xx, 4xx, 5xx), рейтинг по общему времени ответа по отдельным URL, рейтинг по среднему времени ответа по отдельным URL;
  • Исправление багов в устаревшем/трудночитаемом коде, рефакторинг (PHP, JS, Python, возможны другие языки);
  • Правка скомпилированных приложений без наличия исходного кода (x86, CIL(MSIL, .NET), Java);
  • Написание GUI-приложений для решения прикладных задач, преимущественно C++/Python и Qt.


Навыки/облако тэгов 🙂

  • ЯП: C/C++, Java, Python, Ассемблер x86(основы); HTML, JavaScript, CSS, PHP;
  • Фреймворки/библиотеки: MFC, Qt, JUnit, Selenium, Tornado; jQuery; 
  • Прочее: реверс-инжиниринг.

Навыки и умения

Портфолио

Lunatic-Qt (движок тем WinXP для Qt)

Парсинг данных Парсинг данных


Движок QStyle, реализующий поддержку визуальных стилей от Windows XP.
Поддерживаются как официальные стили от MS, так и тысячи созданных пользователями скинов (в разной степени, но в основном хорошо :))

Таким образом, кроме всего прочего, реализуется требование "сделать красиво" с минимальными трудозатратами (особенно при условии разработки с учётом данной библиотеки).



  0

UnityAllods

Разработка игр Разработка игр


Данный проект подходит не только под игровые приложения, но и частично под парсинг данных.

Цель проекта — "движок-в-движке" на Unity, где Unity используется для гарантии широкой кроссплатформенности продукта, а большая часть логики и форматов — от родной игры (Rage of Mages II / Аллоды 2).
В движке присутствует сетевой режим (практически пошаговый на TCP+Protobuf), опять же с собственной логикой.

Проектирование и разработка движка — полностью мои.
На данный момент, к сожалению, проект заморожен за отсутствием времени и ресурсов.



  0

Аудиоплеер с синхронизацией с ВКонтакте

Парсинг данных Парсинг данных


Написано на Python (Tornado) + HTML5 + JS.
Приложение служит для предоставления гостевого доступа (т.е. без авторизации ВКонтакте) к аудиозаписям пользователя или группы через веб-интерфейс.

В связи с политикой ВКонтакте относительно использования их CDN сторонними ресурсами, аудиозаписи скачиваются на сервер, с которого происходит раздача. Таким образом, скрипт также можно использовать локально для прослушивания аудиозаписей в автономном режиме.



  27  0

Скрипт для подготовки изображений для LeisureQuiz

Прикладное программирование Прикладное программирование


Небольшое приложение для внутреннего использования.
Было предназначено для наполнителей контента, задача — позволить в приемлемые сроки обработать 200-600 изображений в каждой из 15 категорий, выбрав "рабочую область" изображения и вписав метаданные.

На выходе — конфигурационный файл, используемый с ImageMagick, и таблица данных для разработчиков.



  0

Минималистичный веб-чат

Веб-программирование Веб-программирование


Написание нового front-end поверх существующего back-end. Сделан на основе BlueImp's AJAX Chat.

Было создано за несколько месяцев до Discord, вдохновлялся в основном IRC-клиентами и дизайном vk.com. Впоследствии сильно удивился, увидев похожий интерфейс у дискорда :)



  3  0
 

Контактная информация

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

Поделиться ссылкой на профиль