Author Archive: admin

Разработка HomeKit аксессуара на Golang

https://github.com/brutella/hc — прекрасная библиотека для написания обработчиков своих аксессуаров по протоколу HomeKit. Что предоставляет библиотека? Удобный интерфейс для объявления своего аксессуара и обработка сигналов с пульта управления Home App в ios. Давайте попробуем написать новый обработчик аксессуара и добавить его внутри…
Read more

2D игры на Golang c Ebiten. Введение

Решил попробовать пописать простые 2D игры на Golang. Основная цель — развлечение и более углубленное понимание того как можно писать простые любительские 2D игры на Go. В начале пути Скорее всего это будет цикл небольших, но полезных статей для всех…
Read more

Скрипт проверки GitHub rate limit

GitHub API имеет лимиты на запросы в час — 12 500 максимум и 5000 на одного пользователя. В некоторых случаях количество лимитов недостаточно и вам необходимо знать текущий баланс кредитов. Для проверки таких «кредитов» на API запросы напишем небольшой bash…
Read more

Подсветка текста в Bash скриптах

Удобный сниппет для подсвечивания текста разными цветами в bash скриптах, рассмотрим пример: Создадим файл t.sh:

Итого при запуске скрипта мы можем видеть текст разного цвета:

Мониторинг Nginx при помощи stub_status и Prometheus Exporter. Часть 2

Для получения данных с Nginx status монитора в Prometheus необходим запуск Prometheus exporter в Kubernetes кластере. Напишем deployment манифест для запуска экспортера в Prometheus. Создадим файл exporter.yaml:

Для того, чтобы Prometheus мог забирать данные с pod-ов очень важно добавить…
Read more

Мониторинг Nginx при помощи stub_status и Prometheus Exporter

Не так давно возникла задача мониторинга проекта, который не бежит внутри Kubernetes и простые настройки Prometheus не совсем подходят. Знать нагрузки на сервис интересно, но не хочется много накручивать и писать дополнительный код (к тому же проекты работают весьма успешно…
Read more

Golang — использование rate limiter в коде

Rate limiting — ограничение скорости запросов в определенной системе. К примеру вы можете поставить ограничения на ваш веб сервер — не более 10 запросов в секунду. Возможно создание ограничения только для определенного клиента или типа машины. В Golang добавление rate limit…
Read more

Golang — функция вывода user IP

В случае использования вашего приложения через load balancer или через различные прокси вида Cloudflare задача вывода клиентского IP адреса заключается в правильной выборке header. От X-Real-Ip до CF_CONNECTING_IP или же X-Original-Forwarded-For. Для этого я написал простую функцию по выборке IP адреса:

Алгоритм…
Read more

Golang — Вывод POST response в fmt.Println

Сниппет для вывода запроса при отладке:

 

Конфигурация и настройка rippled кошелька

Шаг 1. Установка Требования к установке: минимум 16 GB памяти и от 100 GB свободного места. Пример установки на Ubuntu 20.04:

Шаг 2. Настройка конфигурации Пример конфигруации /etc/opt/ripple/rippled.cfg:

Шаг 3. Запуск

После запуска rippled сервиса может потребоваться…
Read more