CLI interactive integration tests с expect и Go — часть 1

Тестирование интерактивных консольных приложение получилось довольно интересной задачей. Как пример напишем простейшие консольное приложение при помощи библиотеки survey:

Приложение взаимодействует с пользователе спрашивая различне вопросы и ожидает от пользовательского ввода. Чтобы убедиться что приложение ведет себя так как нужно…
Read more

Sassoft API: Coincallback API

Описание API Данный API сервис предназначен для получения уведомлений прихода средств на различные криптоадреса: Bitcoin Litecoin Ethereum Ripple Dogecoin Zcash Идея простая: вы генерируете новый адрес для приёма криптовалюты и посылаете запрос на Coincallback API для отслеживания приёма средств. Как…
Read more

Nginx — настройка load balancer

Простейшая настройка nginx в качестве load balancer может выглядеть следующим образом. Открываем nginx.conf, добавляем секцию серверов upstream и даём ей имя (например loadbalancer). Серверы могут слушать на разных портах. Кроме того, можно одновременно использовать серверы, слушающие на TCP- и UNIX-сокетах….
Read more

Curl — набор на все случаи жизни

В данной статье собраны некоторые полезные сниппеты для работы с curl. Curl — это кросс-платформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL. Для справки: curl поддерживает не только протокол HTTP,…
Read more

Golang: Получение stock price с Yahoo Finance

При помощи https://github.com/antchfx/htmlquery мы можем легко получать и парсить данные с веб страницы Yahoo Finance. Нас интересует именно stock price. Для этого в начале находим на странице нужный нам блок:

Окей, нужный блок найден. Из этого блока нас больше всего…
Read more

Sassoft API: Notifications API

Описание API Данный API сервис предназначен для отправки уведомлений через различные каналы: Telegram Email через Sendgrid API SMTP Email Спецификация POST /notify message * — сообщение для отправки (html форматирование поддерживается) message_plain — сообщение для отправки без html форматирования from — имя…
Read more

Sassoft API: Rates API для криптовалют

Описание API Данный API сервис предназначен для выдачи курсов криптовалют и фиатных валют в режиме реального времени без задержек. При помощи одного GET запроса можно получить текущие курсы криптовалют в USD, EUR, RUB. Для примера:

Rates API будет полезен…
Read more

Установка и настройка supervisord в raspbian

Supervisord — система контроля процессов для Linux. По-простому, это штука которая следит чтобы ваш процесс был всегда запущен с установленной конфигурацией. Система следит что процесс работает и перезапускает если процесс падает. Установка supervisor:

Добавление конфигурации в supervisord.conf (либо создайте…
Read more

Локальная отладка GitHub Actions с act

Не так давно потребовалось понять причину почему один из введенных actions для GitHub Actions перестал работать. Для того, чтобы проверить работу action их нужно для начала запустить локально. Это можно сделать при помощи утилиты act. Важно выбрать правильный runner для…
Read more

Golang — Упаковка ресурсов и статических файлов в бинарник с go rice

Задача упаковки статических ресурсов в один жирный бинарник стоит не так часто, но в одном из проектов все-таки это понадобилось. Посмотрев на разные библиотеки из awesome go, остановился на наверное самом простом и более для меня понятном go rice. В…
Read more