Решение задач

Категория: Решение задач | Скилл: системное администрирование , linux | Дата: 23.11.2020
В общем задача звучала так: установить Redmine на сервер, где веб-сервер на nginx.

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

RVM - менеджер версий сред ruby, начиная от версий интепретатора и заканчивая джемами. Нужен для того чтобы запускать разные RoR приложения на одном сервере, которые могут требовать разные среды исполнения.

Также хотелось классический вариант веб-сервера на nginx. Однако, nginx не знает как исполнять приложение, и в данном случае выступает в качестве прокси на исполняющий веб-сервер RoR приложения.

Unicorn - веб-сервер для Rack (и RoR в том числе) приложений. Почему-то мне не захотелось использовать passenger, наверное потому что nginx должен быть скомпилен с passenger, то есть не чистый nginx. А еще потому что Unicorn может быть свой для каждого RoR приложения, а не один глобальный.

Теперь задача становится более ясной: установить Redmine на сервер, развернув стек: RoR, Unicorn, Nginx, с автоматическим запуском.
Категория: Решение задач | Скилл: php. wordpress , woocommerce | Дата: 31.10.2020
У клиента сайт на wordpress + woocommerce, внутри множество модулей (которые в админке выдают уведомления разного рода notice - error. просто трэш) среди которых модуль интернет-эквайринга от одного известного банка. Наш модуль реагирует на хуки woocommerce и осуществляет на основании этого свою работу. Однако, логика модуля зависит от того, как отработает модуль эквайринга ... и как следствие все работало не так как надо.

Доступа к ЛК клиента экваринга банка нет, так же нет доступа по ftp и к базе данных сайта клиента, однако, есть наш модуль на сайте клиента, который может обновляться, и есть доступ к админке.

На протяжении всего процесса решения проблем включили не раз проверенный метод отладки print_r/file_put_contents, из-за чего выкатили 15 патчей за 2 дня (на самом деле их было больше, потому что иногда забывали обновлять патч-версию, в следствии чего приходилось переустанвливать модуль).
Категория: Решение задач | Скилл: C++ , linux | Дата: 18.10.2020
Задача: программно запускать безголовый браузер, и получать из него данные. Все просто, за исключением некоторых мелочей. Сделать это все надо в linux.

Для этого использовал fork, pipe, waitpid.

Концепция кажется мутной только с первого взгляда, на самом деле выглядит просто.
Категория: Решение задач | Скилл: php | Дата: 19.06.2020
Для разработки модуля массовых email рассылок сервиса uppleseen.com потребовалось проверять SPF и DKIM записи домена, так как пользователь осуществляя рассылку, мог бы указать любой домен, без этих записей все письма пойдут прямиком в спам (вообще-то не только по этому), а если речь идет о массовой рассылке значит это касается репутации сервера в глазах принимающих почтовых служб. Рисковать нельзя, надо проверять. Для проверки на php будет использована функция dns_get_record. Но в конце статьи есть вариант для получения DNS при помощи dig.
Категория: Решение задач | Скилл: php | Дата: 12.06.2020
В ходе разработки модуля массовой email рассылки сервиса uppleseen.com, клиенту понадобилось импортировать уже существующую базу клиентов из нескольких хранилищ. В каждом из них своя структура и свой разделитель данных. В статье описано как это удалось решить.
Категория: Решение задач | Скилл: js , php , node.js | Дата: 02.06.2020
По работе попалась интересная задача по автоматизации instagram, а именно надо было просто провести розыгрыш. Сервисов для организации этой затеи достаточно, есть даже бесплатные. Но были дополнительные (читай премиум) условия, к тому же мне очень захотелось самому посмотреть что там внутри этой популярной инстаграмы и быть может набраться опыта в построении API :)
Категория: Решение задач | Скилл: git | Дата: 12.05.2020
При работе с репозиторием может возникнуть ситуация detached HEAD (в моем случае по неопытности), которую надо как-то решать, потому что это нестандартная ситуация, которая не позволит синхронизироваться с сервером. Внутри предлагаю один из возможных вариантов решения.
Категория: Решение задач | Скилл: js | Дата: 01.05.2020
Ничего необычного, но единственным рациональным вариантом изменить верстку оказалось только встраивание js кода в подвал сайта. Однако движок сайта еще и сам изменял верстку после загрузки. Для этого случая пришлось сделать отдельный проект, которые решает поставленную задачу.
Категория: Решение задач | Скилл: php | Дата: 09.03.2020
На работе попросили обработать (в графическом редакторе) около 100 фотографии моделей для производства. Действия повторяющиеся и однотипные ... Естественно такая рутинная работа меня не радовала, и вспомнив свой прошлый опыт работы с библиотекой gd на php я решил написать скрипт, который сделает все сам ;)
Категория: Решение задач | Скилл: php , imap | Дата: 31.01.2020
Небольшая задача для сборки исходников писем с почтовых ящиков по imap протоколу. Внутри ссылка на репозиторий решения, описание и комментарии прилагаются. В статье описываются возникшие проблемы и их решение.
Я Виталий, ник в сети Byurrer.
Увлекаюсь программированием, веду интересные проекты, пишу здесь об интересующих меня вещах: о работе, проектах, увлечениях и проффесиональном развитии.
Мое резюме

Проекты
SkyXEngine, PHP-API, S4G
Категории
В разработке :)
Популярное
В разработке :)