Toolset: Manage project-specific tools

TLDR

Toolset - менеджер инструментов разработки для Go проектов. Решает проблему “у меня работает, а в CI не собирается” через изоляцию и версионирование инструментов на уровне проекта.

Проблема: почему инструменты должны быть версионированы

Представьте ситуацию: вы пушите код, локально все тесты проходят, линтер молчит. Но в CI сборка падает с ошибкой линтера. Знакомо? Проблема в том, что у вас локально golangci-lint v1.59.0, а в CI - v1.62.0, и новая версия нашла проблему, которую старая пропускала.

Read more

Functional options in Go

Как управляться с обязательными и опциональными параметрами в конструкторах Golang

Read more

Get Clickhouse table size

SELECT table,
       sum(bytes)                     AS sizeb,
       formatReadableSize(sum(bytes)) AS size,
       min(min_date)                  AS min_date,
       max(max_date)                  AS max_date
FROM system.parts
GROUP BY table
ORDER BY sizeb DESC;

Secure ID

Как снизить нагрузку на приложение и избавиться от повторной проверки прав доступа

Read more