Context в golang приложениях

Контекст в golang появился c версии 1.7 и был перенесен с пакета net/context. В дальнейшем другие пакеты начали его использовать например database/sql. Эта библиотека позволяет разрабатывать гибкие приложения, полезна в микросервисах для передачи контекста запроса и тп. В данной статье мы рассмотрим основные примеры использования и как не стоит использовать context. Как обычно статья несет только мнение автора, свой примеры и опыт использования вы можете оставить в комментариях.

Кэширование в golang приложении

Существует несколько уровней кэша в приложении. Например кэширование на уровне http с помощью заголовков или кэширование в proxy например varnish или на уровне приложения - memcache, redis, lru или низкоуровневое кэширование на уровне операционной системы. В данной статье мы рассмотрим кэширование на уровне приложения в памяти, или отдельных key-value хранилищах.

Локализация golang приложения

Для большинства web приложений требуется локализация, но не стоит забывать о правилах языка. Например не правильно будет просто использовать ключ и подставлять выражение в зависимости от языка, тогда получится что-то вида у вас осталось 5 минут(а/ы). Для того чтобы описать такие правила можно использовать свой формат как это было раньше в symfony/translate или использовать icu формат. Для других языков есть готовые решение например icu4c.

Введение в go mod

С недавнего времени в golang появилась система управления зависимости. В данной статье будут только основные моменты, как можно решать базовые задачи управления зависимостями.

Объединение строк в golang

Одной из частых операций может оказаться объединения(concatenation) строк, есть много библиотек для решения задач, мы рассмотрим несколько самых распространенных примеров.