Построение конвейера Go CI/CD в GitLab: Руководство по выживанию разработчика

Ах, CI/CD-пайплайны — магические конвейеры, которые превращают наши хаотичные коммиты кода в отполированные производственные артефакты. Давайте создадим такой, который заставил бы даже талисмана Go — гофера — весело танцевать. Я обещаю, что это не будет ещё одним туториалом «Hello World» — мы создаём пайплайн, который действительно выполняет полезную работу, сохраняя вашу кодовую базу здоровее, чем запас чайного гриба у хипстера. Набор инструментов гофера: предварительные требования Перед тем как начать наше веселье с пайплайнами, вам понадобятся:...

14 июня 2025 14:00 · 4 минуты · 685 слов · Maxim Zhirnov
CQRS в Go: Как предотвратить раздвоение личности в вашем коде с помощью Kafka

CQRS в Go: Как предотвратить раздвоение личности в вашем коде с помощью Kafka

Представьте: ваше приложение на Go похоже на перегруженного работой официанта в ресторане, отмеченном звездой Мишлен. Оно принимает заказы (записи), подаёт блюда (чтения), подливает напитки (обновления) и разбирается с «хочу поговорить с менеджером» Кэрри — всё это в неудобных туфлях. На помощь приходит CQRS — архитектурный аналог найма команды шеф-поваров и сомелье. Давайте создадим масштабируемое решение! Почему вашему коду нужна терапия (и CQRS) Традиционный CRUD подобен использованию швейцарского армейского ножа для проведения нейрохирургии — возможно, но грязно....

10 июня 2025 14:00 · 4 минуты · 674 слова · Maxim Zhirnov
Выжимание крови из камня: Профилирование и сравнительный анализ приложений Go, как у циркового жонглера

Выжимание крови из камня: Профилирование и сравнительный анализ приложений Go, как у циркового жонглера

Когда ваше Go-приложение начинает двигаться со скоростью continental drift (смещение тектонических плит), пора доставать инструменты профилирования и проводить бенчмаркинг, как будто от этого зависит работа вашего продакшн-кластера (потому что это так). Давайте превратим ваш код из «так себе» в «молниеносно быстрый» с помощью методов, которые заставят гофера покраснеть. Цирк профилирования Шаг 1: Установка трапеции Сначала добавьте импорт профилирования в ваш основной пакет: import _ "net/http/pprof" Шаг 2: Ловля CPU-огня в воздухе...

25 мая 2025 14:00 · 3 минуты · 512 слов · Maxim Zhirnov
Создание пуленепробиваемых API: Одиссея Go(lang) через чистую архитектуру

Создание пуленепробиваемых API: Одиссея Go(lang) через чистую архитектуру

Представьте: вы создаёте API, которое должно пережить тенденции фреймворков, выдержать миграции баз данных и пройти через неизбежные встречи под девизом «давайте перепишем всё на Rust». Добро пожаловать в мир чистой архитектуры в Go, где мы разделяем проблемы, словно дипломаты, распределяющие спорные территории. Сегодня мы создадим организованный API TODO, который будет более упорядоченным, чем полочка для специй у моей бабушки. Закладываем фундамент Начнём с создания основы нашего проекта: go mod init github....

9 мая 2025 14:00 · 3 минуты · 598 слов · Maxim Zhirnov
Кэширование базы данных в Go: Как заставить ваше приложение работать, избегая при этом Кэширования-amolishments

Кэширование базы данных в Go: Как заставить ваше приложение работать, избегая при этом Кэширования-amolishments

Ах, кэширование — это для разработчиков то же самое, что прятать закуски в ящике стола. Но вместо того, чтобы хранить шоколад на экстренный случай, мы сохраняем часто используемые данные, чтобы сэкономить драгоценные обращения к базе данных. Давайте закатаем рукава и реализуем кэширование на уровне базы данных в Go, дополнив его примерами кода и проверенными на практике шаблонами. Загадка кэша: хранить или не хранить? Кэширование базы данных работает как мышечная память вашего мозга для частых задач....

27 апреля 2025 14:00 · 4 минуты · 662 слова · Maxim Zhirnov