Latest Posts

Скрипт парсинга курсов Bestchange

Скрипт проводит выборку курсов по заданным входным параметрам и может выдавать готовую json структуру по заданным направлениям. Выборка курсов производится через публичный API и содержит в себе всю необходимую информацию по лучшим курсам и параметрам обменных пунктов: Минимальная цена заявки…
Read more

Golang — использование envconfig для environment variables

Для работы с переменными окружения в Golang без использования библиотеки envconfig просто не обойтись:

Библиотека также поддерживает default значения, required флаги, custom декодеры и многое многое другое.

Golang sqlmock db tests — SELECT тесты

 

Docker — сохранить image в tar

Для сохранения image в tar контейнер достаточно выполнить:

Теперь мы можем спокойно переносить docker image и далее «загружать» image:

 

Golang — Mock для sqlx драйвера базы данных

Для написания юнит тестов часто требуется «мокать» часть зависимостей, одна из самых распространенных — соединение и операции с базой данных. Если нет возможности использовать внедрение зависимости и использовать интерфейсы типа ExecerContext на входе функции то в дело вступают не совсем чистые…
Read more

Полезные curl для Digital Ocean API

При автоматизации инфраструктуры под Terraform понадобилось найти id SSH ключей и типы дроплетов чтобы их было возможно использовать в конфигурации. Делюсь примерами curl запросов к Digital Ocean API (статья будет дополняться со временем). Вывод SSH id keys, привязанных к аккаунту:…
Read more

GitHub API — пара полезных curl примеров

Список команд в организации:

Работа с GitHub Status API, установка badge для Pull Request:

Данный сниппет может быть использован для установки badges на определенном pull request. При возникновении новых интересных запросов данный пост будет пополняться.

Установка Kubernetes nginx controller на bare metal

Подробная инструкция как установить nginx ingress controller на чистый bare metal кластер: https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal Или по шагам: Устанавливаем ingress-nginx service с type NodePort:

Проверим, что установка завершена успешно:

Видим:

Поздравляем! Nginx контроллер успешно установлен, теперь можем сделать curl…
Read more

Получение данных Jira тикета по Atlassian API

Для получения данных по Jira тикету достаточно воспользоваться Atlassian REST API 

В качестве токена авторизации можно (но не рекомендуется) воспользоваться base64 представлением вашего пароля:

 

Шаблон Golang table testing

Допустим у нас имеется некая функция:

Подготовим тесты на эту функцию:

При помощи нехитрой конструкции можно написать неплохие table тесты, которые легко обновлять и добавлять новые кейсы.