Очистка Slack — сообщения, файлы — Slack Cleaner
Очистка Slack — сообщения, файлы — Slack Cleaner
Slack Cleaner — хорошая утилита для удаления сообщений, чатов, файлов из Slack команды. Также при помощи данной утилиты можно удалить все сообщения определенного пользователя.
Для запуска и удаления файлов достаточно создать новый Slack токен (вы должны быть администратором команды чтобы выполнять некоторые операции).
И далее запускаем следующую команду:
Kuberentes. Основные компоненты
Kuberentes. Основные компоненты
Kubernetes — ПО для автоматизации развёртывания, масштабирования контейнеризированных приложений и управления ими. Поддерживает основные технологии контейнеризации, включая Docker, rkt, также возможна поддержка технологий аппаратной виртуализации. Рассмотрим основные компоненты Kubernetes:
- API Server — Открывает наружу Kubernetes API. Фронтенд часть Kubernetes контроллера. Называют kube-apisever.
- etcd — Распределенное key-value хранилище для сохранения состояния кластера.
- Scheduler — Планировщик Kubernetes, определяет на каких нодах нужно поднимать поды очередного сервиса или при изменении нагрузки (или проблемах с нодой) перераспределять поды.
- Kube-controller-manager — Контроллер, который отвечает за работоспособность фоновых задач кластера.
- Cloud-controller-manager — Контроллер, отвечающий за взаимодействие с Cloud провайдерами.
-
kubelet — Отвечает за все, что бежит на ноде. Общается с мастер нодой через API Server.
Сканирование портов с nmap
Сканирование портов с nmap
nmap — полезная утилита для сканирования открытых наружу на целевом хосте портов. Утилита имеет множество настроек (ограничить диапазон портов, узнать тип ОС)
Устанавливается при помощи brew:
$ brew install nmap
И далее достаточно задать имя хоста для проведения проверки:
$ nmap ip-host Starting Nmap 7.80 ( https://nmap.org ) at 2020-01-19 15:35 CET Nmap scan report for ip-host Host is up (0.045s latency). Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 443/tcp open https 3306/tcp open mysql Nmap done: 1 IP address (1 host up) scanned in 0.88 seconds
Как мы видим к примеру сервисы SSH, MySQL торчат наружу на стандартных номерах портов. Для безопасности рекомендуется менять номера портов если их нужно открывать наружу и использовать файрволл который будет блокировать соединения с неподходящих источников.
Golang — поднятие тест сервера при unit тестах
Golang — поднятие тест сервера при unit тестах
func TestHTTP(t *testing.T) {
go func() {
serverMux := http.NewServeMux()
serverMux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Pong!")
})
err := http.ListenAndServe(":8082", serverMux)
if err != nil {
panic("ListenAndServe: " + err.Error())
}
}()
URL = "http://localhost:8082"
assert.NoError(t, myTestServerFunc())
}
... ... ...
func myTestServerFunc() err {
// here your business logic which calls remote hosts
return nil
}
При помощи данного сниппета мы можем зарегистрировать нужные нам http роуты для теста и запустить в отдельной go-рутине минимальный веб сервер.
Данная техника полезна при тестировании различных HTTP запросов без вовлечения внешних ресурсов. Тем самым мы можем проверить наш код на обработку ошибок, таймаутов или различных body response.
Скрипт автоматизации платежей на карты Visa, MasterCard, Мир
Скрипт автоматизации платежей на карты Visa, MasterCard, Мир
В наличии скрипт для проведения автоматических платежей при помощи партнерского провайдера на кредитные карты Visa, MasterCard, Мир.
В общем случае будет достаточно инициализировать клиент и вызвать один метод для проведения платежа.
Платеж будет проведен посредством провайдера-партнера с установленными тарифами моментально.
Скрипт можно развернуть как веб сервис с REST API. По примерам и вопросам внедрения обращайтесь через контакты.
Скрипт автоматизации платежей Qiwi
Скрипт автоматизации платежей Qiwi
В наличии скрипт для проведения автоматических платежей при помощи партнерского провайдера для платежной системы Qiwi.
В общем случае будет достаточно инициализировать клиент и вызвать один метод для проведения платежа:
$qiwiClientId = ''; $qiwiClientSecret = ''; $qiwiPin = ''; $client = new AdvGroupClient($qiwiClientId, $qiwiClientSecret, new HttpClient()); $resultTxId = $this->client->sendToExternalQiwiWallet($qiwiPin, $wallet, $amount);
Платеж будет проведен посредством провайдера-партнера с установленными тарифами моментально на кошелек Qiwi.
Загрузка файла в S3 с Go и minio-go client
Загрузка файла в S3 с Go и minio-go client
Для одного из проектов потребовалось сделать сервис по хранению файлов в одном из провайдеров, поддерживающих S3 API. В качестве клиента была использована библиотека minio-go. Minio — это OpenSource аналог S3, а minio-go — удобный клиент для работы с ним.
Напишем приложение-песочницу, которая будет загружать файл с локального компьютера и получать обратно ссылку для скачивания файла с коротким временем жизни:
Ping-HTTP — сервис мониторинга веб проектов
Ping-HTTP — сервис мониторинга веб проектов
ping-http.com — простой сервис для мониторинга и веб проектов. При помощи данного сервиса вы можете получать уведомления и включать автоматизацию при наличии проблем с вашим веб проектом. В общий план также входит SSL мониторинг и система уведомлений по Email или Telegram.
В панели монитора также доступны следующие функции:
Агрегатор лучших предложений по обмену валют — Bitchange
Агрегатор лучших предложений по обмену валют — Bitchange
Представляем вашему вниманию агрегатор лучших курсов для проведения обменных операций различных электронных платежных систем — bitchange.sassoft.ru
При помощи данного сервиса вы сможете найти лучший обменный пункт с высоким рейтингом и доступными резервами в режиме реального времени. Сервис использует источники различных мониторингов платежных систем и подбирает наилучшее предложение.
Поднятие Docker контейнеров в тестах с Go и Dockertest
Поднятие Docker контейнеров в тестах с Go и Dockertest
Для запуска интеграционных тестов в Golang часто требуются внешние зависимости в виде базы данных, брокера сообщений либо еще каких-то сторонних компонентов.В итоге для поднятия внешних сервисов мы используем Docker и пишем docker-compose.yml файл который выглядит как-то так:
version: '3'
services:
db:
image: postgres:10.6-alpine
ports:
- '5432'
environment:
LC_ALL: C.UTF-8
POSTGRES_DB: test
POSTGRES_USER: test
POSTGRES_PASSWORD: pass
Далее до запуска go test мы делаем docker-compose up -d.