Marketplace. Скрипт обменного пункта Exchange
Marketplace. Скрипт обменного пункта Exchange
Скрипт: Автоматический обменный пункт Exchange.
Скрипт производит прием и обмен средств с заданным курсом и комиссией системы. Курсы возможно получать в режиме реального времени с одного из провайдеров курсов, процент или коэффициент сделки задается через систему администрирования скрипта.
Поддерживаемые валюты:
- Webmoney WMZ,WME,WMR,WMU,WMG,WMX
- Яндекс.Деньги
- Qiwi
- Perfect Money
- Bitcoin (Bitcoind, coinbase API, blockchain API)
- Ethereum
- Litecoin
- Monero
- Ripple
- Bytecoin
- Advcash
- Unitpay
- OKPAY
- Paxum
- BTCE-E (WEX) коды
- Payeer
Для некоторых провайдеров услуг требуется установка дополнительного программного обеспечения.
Отправка писем из alpine контейнера с помощью SSMTP
Отправка писем из alpine контейнера с помощью SSMTP
Для отправки писем при помощи стороннего почтового сервера пригодится утилита ssmtp. Распишем по шагам как можно отправлять письма внутри alpine или любого другого linux дистрибутива.
Установим ssmtp пакет:
apk add ssmtp
Правим файл /etc/ssmtp/ssmtp.conf:
[email protected] # любой доступный mail сервер mailhub=smtp.mail.ru:465 UseTLS=YES # пользователь от кого будем отсылать письма [email protected] AuthPass= rewriteDomain=visla.dev hostname=visla.dev realname=visla.dev FromLineOverride=YES
Правим /etc/ssmtp/revaliases:
Скрипт системы приема криптодепозитов
Скрипт системы приема криптодепозитов
Подготовлена и внедрена система учета и приема депозитов для криптовалют.
В основу скрипта выделены следующие модули:
- Пополнение баланса пользователя. Доступен прием Ethereum и Bitcoin, для каждого пользователя выдается случайный адрес из пула всех адресов. Уведомление администратору.
- Раздел мои депозиты. После пополнения баланса возможно создать новый депозит на определенный или безлимитный срок. Начисление процентов на депозит происходит в заданное в системе время еженедельно.
- Администрирование. Для учета пополнений и депозитов, вывода статистики по системе, пользователям и конфигурационные данные.
Внедрение системы простое и не потребует дополнительных знаний при использовании серверов Sassoft. Доступна аренда решения.
Вывод релизов с Github API при помощи SH скрипта
Вывод релизов с Github API при помощи SH скрипта
Пришлось на днях работать над выводом списка релизов с Github. Для остроты ощущений был написан простой sh скрипт, который выводит в stdout список всех релизов указанного репозитория на гитхабе. Для манипуляции с JSON ответом была выбрана библиотека jq.
#!/usr/bin/env sh
# Get releases
DRAFTS=""
i=1
while [ $i -le ${PAGES} ]; do
p=$(curl --silent --get "https://${ACCESS_TOKEN}@api.github.com/repos/${REPOSITORY}/releases?per_page=100" | jq -r '.[] | select(.draft==false) | [ .tag_name, .id|tostring ] | join(";")')
DRAFTS="$DRAFTS$p"
i=$(( i + 1 ))
done
DRAFT_COUNT=$(echo "${DRAFTS}" | wc -l)
DRAFT_COUNT=$((DRAFT_COUNT + 0))
echo "Found ${DRAFT_COUNT} releases"
Для работы необходимо предоставить ACCESS_TOKEN для с github и REPOSITORY вида team_name/repo_name
Просмотр docker logs
Просмотр docker logs
Для просмотра логов из контейнера используется удобная и понятная команда docker logs.
Что еще удобного есть в команде docker logs?
- —follow — просматривать логи в режиме реального времени (-f)
- —details — выводить дополнительную информацию в логах
- —tail n — выводить последние n логов. Удобно если контейнер пишет очень много логов, а нам интересна лишь ее последняя часть.
- —since и —until — показывать логи в определенном интервале, заданным timestamp (2018-11-014T21:23:37) или вида 1m, 30m и так далее.
- —timestamps или -t — показывать время логов.
Генератор интерфейсов на Go — ifacemaker
Генератор интерфейсов на Go — ifacemaker
Нашел очень удобную библиотеку для генерации интерфейсов на Go — ifacemaker.
Для того, чтобы сгенерировать интерфейс исходя из имеющегося класса достаточно запустить библиотеку со следующими параметрами:
ifacemaker -f request.go -s Request -i RequestInterface -p humantest -c "Don't edit: Autogenerated"
После запуска скрипт сгенерирует нам готовый интерфейс RequestInterface на базе класса Request в пакете request.go
Скрипт объявлений
Скрипт объявлений
Разработано и внедрено решение для создания собственной площадки объявлений по определенной тематике: от портала недвижимости до нишевого сайта объявлений. В сервисе реализована поддержка групп объявлений, личного кабинета пользователя для создания нового объявления, базовые фильтры и система администрирования.
Для развертывания решения теперь не требуется своего сервера или специальных знаний по настройке скрипта — развернуть сервис на своем домене можно на облачной платформе Sassoft абсолютно бесплатно в течение первого месяца. От вас лишь требуется свой домен и подходящий шаблон для проекта. Также поддерживается решение на вашем сервере с полной автоматизацией по развертыванию сервиса.
Мониторинг Docker контейнеров в DataDog
Мониторинг Docker контейнеров в DataDog
Datadog — удобный инструмент для сбора логов, метрик и прочих телеметрических данных для любого проекта. Даже бесплатный план позволяет использовать множество инструментов сервиса, один из них это сбор метрик с ваших докер контейнеров.
Для этого необходимо добавить datadog agent в виде контейнера:
docker run -d --name dd-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e DD_API_KEY=YOUR_KEY \ datadog/agent:latest
После этого можно установить готовый Docker Overview dashboard, который уже имеется внутри Datadog и собирать метрики.
Работа с S3 в Yii2
Работа с S3 в Yii2
На сегодняшний момент любое Stateless приложение невозможно представить без использования object storage хранилища на подобии AWS S3. Также многие облачные провайдеры (DigitalOcean) стали предоставлять S3-совместимые хранилища по привлекательным ценам.
Как подключить работу с S3 в Yii2?
Для этого для начала воспользуемся библиотекой aws/aws-sdk-php:
composer require aws/aws-sdk-php
Далее для работы нам необходимо сгенерировать ключи доступа на стороне провайдера и записать их как переменные AWS_SECRET_ACCESS_KEY и AWS_ACCESS_KEY_ID. SDK будет брать эти ключи из наших переменных окружения ($_ENV).
Использование Sendgrid в Yii2
Использование Sendgrid в Yii2
Sendgrid — очень удобный сервис по отправке транзакционных писем с обширной аналитикой и отчетами по доставленным письмам. Сервис также очень удобен для обхода спам фильтров ваших писем, используя Sendgrid вы можете быть уверены что письмо будет доставлено и прочитано адресатом.
Хотя API очень прост и удобен, мы все же воспользуемся готовым расширением wadeshuler/yii2-sendgrid