Существует большое количество способов конфигурирования golang приложений, и еще больше библиотек которые реализуют эти методы. В данной статье мы рассмотрим основные.
Контекст в golang появился c версии 1.7 и был перенесен с пакета net/context. В дальнейшем другие пакеты начали его использовать например database/sql. Эта библиотека позволяет разрабатывать гибкие приложения, полезна в микросервисах для передачи контекста запроса и тп. В данной статье мы рассмотрим основные примеры использования и как не стоит использовать context. Как обычно статья несет только мнение автора, свой примеры и опыт использования вы можете оставить в комментариях.
Существует несколько уровней кэша в приложении. Например кэширование на уровне http с помощью заголовков или кэширование в proxy например varnish или на уровне приложения - memcache, redis, lru или низкоуровневое кэширование на уровне операционной системы. В данной статье мы рассмотрим кэширование на уровне приложения в памяти, или отдельных key-value хранилищах.
Для большинства web приложений требуется локализация, но не стоит забывать о правилах языка. Например не правильно будет просто использовать ключ и подставлять выражение в зависимости от языка, тогда получится что-то вида у вас осталось 5 минут(а/ы). Для того чтобы описать такие правила можно использовать свой формат как это было раньше в symfony/translate или использовать icu формат. Для других языков есть готовые решение например icu4c.
С недавнего времени в golang появилась система управления зависимости. В данной статье будут только основные моменты, как можно решать базовые задачи управления зависимостями.
Одной из частых операций может оказаться объединения(concatenation) строк, есть много библиотек для решения задач, мы рассмотрим несколько самых распространенных примеров.