Tag Archive: golang

Шаблон Golang table testing

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

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

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

Golang — Squirrel SQL Query Generator

Пример удобной библиотеки для генерации SQL кода в Golang. Нет необходимости писать большие и сложные sprintf и делать экранирование вручную. Просто воспользуемся удобными синтаксисом библиотеки squirrel. Для начала:

Теперь допустим нам нужно добавить новую запись в нашу postgres табличку….
Read more

Production ready Dockerfile для Go приложения

Ничего лишнего, только пример хорошего Dockerfile для Go приложения при помощи multi-stage build:

В следующем сниппете покажу пример Makefile для production ready Golang приложения.  

Golang пример unmarshal json в map

Данный снипет показывает пример работы с json структурой типа:

Данный json прилетает нам из структуры resp.Body. Далее для создания новой структуры Endpoint с полями Url и StatusCode мы итерируем по полученному словарю и выводим на экран. В примере…
Read more

Golang пример http клиента с Basic авторизацией

Пример использования стандартного http клиента для проведения GET запросов с Basic авторизацией:

 

aleksandrzhiliaev/checker — мониторинг для веб сайта

Checker —  простейшая библиотека на Go, опрашивающая заданный http адрес с некоторым заданным периодом времени и отправляющая метрики на различные бекенды в зависимости от конфигурации: stdout — отправка названия сайта и статус кода сервиса StatsD — отправка метрики формата: example_com.status_code…
Read more

Monkey patching в Golang

Наткнулся на очень интересную библиотеку, позволяющую переопределять функции и методы у объектов для написания юнит тестов перед компиляцией. В PHP, Ruby или Python это делается довольно просто парой строк. Т.к го все же язык компилируемый и со строгой типизацией тут…
Read more

Генератор интерфейсов на Go — ifacemaker

Нашел очень удобную библиотеку для генерации интерфейсов на Go — ifacemaker. Для того, чтобы сгенерировать интерфейс исходя из имеющегося класса достаточно запустить библиотеку со следующими параметрами:

После запуска скрипт сгенерирует нам готовый интерфейс RequestInterface на базе класса Request в…
Read more