Пустовит Сергей Олегович

Backend/Frontend разработчик по LiveStreet CMS

О себе

photo
    Full stack веб-разработчик (PHP/JavaScript), 27 лет. Занимаюсь разработкой под LiveStreet CMS более 6 лет. Второе место в рейтинге LiveStreet-сообщества и бирже фрилансеров.

    Автор более 50 публичных плагинов для LiveStreet CMS разного уровня сложности, без учета персональных заказов.

    Активно слежу за безопасностью движка: мной найдены и устранены 8 проблем в системе безопасности, в том числе одна критическая уязвимость.

    Пишу статьи и рекомендации по разработке и настройке для LiveStreet CMS в онлайн журнале LiveStreet Guide.

    Разработчик и мейнтейнер официальной админки для LiveStreet CMS, модуля Storage (key-value хранилища) и плагина request_filter шаблонизатора Smarty для LiveStreet Framework (по заказу ООО «ЛС СОФТ»).

Специализация: LiveStreet CMS

     Разработка плагинов любого уровня сложности, промышленный дизайн, сайты под ключ, верстка, аудит безопасности кода LS и плагинов.

Технологии

PHP, PHP5, MySQL, Smarty, Twig, JavaScript, AJAX, jQuery, jQuery UI, jQuery Mobile, JSON, JSONP, Mootools, HTML5, CSS3, XML, Xpath, OOP, EAV, ORM, xDebug, MVC, Regular Expressions, Regular Expressions Optimizing, REST API, LiveStreet CMS, LiveStreet Framework, OAuth 2, CURL, Schema.org, Open Graph, Symfony2, Dependency Injection, Node.JS, Sails.JS, Waterline.JS ORM/ODM, EJS, Socket.io, PostgreSQL, Jira.

Системы контроля версий

Git, SVN.

Принципы разработки

D.R.Y., K.I.S.S., Agile.

Предыдущие успешно выполненные проекты

  • Simple Catalog

  • LiveStreet Guide

  • Blocks Master

  • Admin config

  • Admin users

Полный список работ

  • Создан онлайн эмулятор классического фортепиано - Classic Piano.
  • Найдена уязвимость в реализации jsonp в LS, позволяющая получить административные права доступа к сайту. К счастью, данная уязвимость требует совпадения нескольких условий, а также наличие уязвимости меньшего уровня - раскрытие директории. О нахождении уязвимостей последнего типа уже ранее упоминалось.
  • Исправлены две давние и интересные ошибки парсера текста Jevix, используемого в LS CMS: исправление ошибки переноса, когда тире в конце предложения и перевод строки "сьедался" и исправление ошибки парсера, когда тот исправлял (C), (R) и т.п. внутри тега code. Информация об ошибках и способах их исправления также была направлена в соостветствующий гит репозиторий проекта.

    Также выполнено небольшое исправление и оптимизация метода Cut модуля Text.
  • Обновил библиотеку для создания круглых фейдеров (виртуальных регуляторов громкости и т.п.) и заодно создал красивую демку.
  • Разработан плагин «Расширение Simple Catalog: Тикет системы (Simple Catalog Tickets)», который позволяет создавать тикет системы на сайте для обращений пользователей в службу поддержки / администрации сайта предоставляя для этого удобный специальный интерфейс.

    Другие пользователи смогут искать решения их проблем с помощью четырех видов поиска: обычный, алфавитный, параметрический и по категориям.
  • Разработан плагин «Конструктор каталогов со свойствами и магазин (Simple Catalog)» для LiveStreet CMS для создания каталогов с уникальной структурой и магазина на сайте.
  • Разработал большую часть официальной админки для LiveStreet CMS (разработка серверной части и логики клиентской части). Визуально объем работ можно оценить на странице контрибьюторов гита админки, а также по заголовкам "author" комментариев кода, например здесь.

    Мной написан практически весь бэкенд и логика фронтенда админки. Разработка админки начата в начале лета 2013 года с нуля, от кода старой админки, разрабатываемой многие годы, было решено отказаться. Разработка выполнена по заказу ООО «ЛС СОФТ».
  • Разработал плагин request_filter для шаблонизатора Smarty, позволяющий делать более удобное формирование ссылок на страницах с сортировкой и сложными переключениями (используется в LiveStreet Framework). Разработка выполнена по заказу ООО «ЛС СОФТ». Заголовок "author".
  • Для LiveStreet Framework разработал модуль Storage - хранилище типа "ключ => значение", которое позволяет легко и быстро работать с небольшими объемами данных, CRUD операции с которыми занимают всего одну строку кода. Разработка выполнена по заказу ООО «ЛС СОФТ». Заголовок "author" кода.
  • Сделана новая версия личного сайта разработчика PSNet. Полностью изменен дизайн, а также сделана адаптивная верстка. Сайт удобно просматривать даже с мобильных устройств.
  • Мной найдена критическая уязвимость в безопасности движка LiveStreet, которая позволяет получить права администратора сайта. Уязвимы абсолютно все сайты под управлением ЛС начиная с 0.4 версии движка. Официальный релиз.
  • Проведен анализ, найдены и закрыты ещё 2 уязвимости в системе безопасности последней версии LiveStreet CMS (1.0.2). Уязвимыми оказались все существующие версии ливстрит.
  • Мной найдены 5 уязвимостей в системе безопасности движка в последней версии LiveStreet CMS (1.0.1).
  • Создан сайт LiveStreet CMS Guide, посвященный разработке и проектированию для блого-социального движка LiveStreet CMS.
  • Разработан новостной проект Штат8.
  • Выполнено много интересных разработок и доработок для сайта WayLab - Лаборатория Свободных Путешествий, например - раздел "Вдохновение" - лента непрерывного случайного потока лучшего контента на сайте в виде красивых фото блоков. Сайт уже открыт и вышел из бета режима. Официальный релиз.
  • Обновлен дизайн сайта продюсера транс музыки Pou Le Serg из Украины.
  • Принято решение выложить в открытый доступ на всеобщее обозрение наработки остановленного проекта RuleThe.Net.
  • Разработка проекта OnWave.net - "Музыкальная социальная сеть для истинных фанатов модной и современной музыки. Наш слоган: Старая школа музыки или новый "тренд" в музыке?". Был выполнен новый дизайн сайта и написано несколько плагинов.
  • Некоторое время выполнялась разработка онлайн эмулятора программного синтезатора StreamMuz. Проект был закрыт, на его основе в 2015 году был создан новый проект - Classic Piano, в который частично вошел код от старого.
  • С 2011 года плагины для LiveStreet уже выставляю со своего аккаунта в каталоге LiveStreet CMS. Нахожусь в TOP разработчиков LiveStreet CMS.
  • В 2010 году участвовал в разработке проекта "Живи лучше" (simplywell.ru) - коллективного блога о том, как сделать свою жизнь лучше.
  • С 2010 года состою в команде Rafrica.net Studio, которая занимается разработкой проектов под LiveStreet CMS.
    Соавтор плагинов для LiveStreet до 2011 года.
  • Весной 2010 года производится запуск поисковой машины mp3 музыки - LookForMP3.net. На сегодняшний день это одна из самых больших поисковых систем музыки, которая хранит более 1.3 млн записей в базе данных и позволяет легко искать музыку. Никаких регистраций - все просто и удобно.
  • Начало 2010 года ознаменовывается открытием проекта playmp3.org.ua - сервиса, который позволяет вставлять музыкальные плееры в домашние странички пользователей, форумы, социальные сети и т.п.. Сервис также собирает детальную статистику прослушивания треков на каждый день в виде графиков, которая доступна автору. Сервис уникален из-за своей статистики т.к. ещё ни один сервис таких функций не имел.
  • В конце 2009 года в мире появляется проект РадиоАфрика - украинская музыкальная социальная сеть о музыке, куда вошли несколько уже существующих музыкальных проектов разных направлений.