Category : golang

golang
Ассемблер для гоферов. Стек. Особенности amd64, arm64 и arm. Часть 3

Go-ассемблер поддерживает разные платформыРанее в сериале:Ассемблер для гоферов. Часть 1Ассемблер для гоферов. Структура и макросы. Часть 2СтекКак я уже говорил, стек — это небольшая предвыделенная область памяти, которую программа получает при запуске. Поскольку, если мы размещаем переменную в стеке, нам не нужно обращаться к операционной системе для получения блока памяти, то это очень быстрая операция.В классическом ассемблере для того, чтобы сохранить и извлечь регистры из стека, используют…

  • четверг, 25 декабря 2025 г. в 00:00:10
golang
Go, cgo и Docker: практичная кросс-платформенная сборка

Команда Go for Devs подготовила перевод статьи о том, как упростить сборку Go-проектов с cgo, используя Docker. Авторы на реальном примере показывают, как избавиться от платформенной боли, сложных зависимостей и ручной настройки окружения, при этом сохранив воспроизводимость продакшен-сборок. Практичный разбор для тех, кто сталкивался с cgo и кроссплатформенной сборкой.Одна из причин, по которым нам нравится Go, — это возможность собирать бинарники под разные операционные системы и архитектуры …

  • четверг, 25 декабря 2025 г. в 00:00:09
golang
Как мы в объектном хранилище отказы реплик обрабатываем

Когда мы работаем с реплицированными системами, вопрос стратегии переключения между репликами, а тем более ее реализация — это довольно значительная головная боль. Если вашей системе необходимо работать с отказами штатно, то наш опыт может подсказать пару новых идей, как можно сделать отказы контролируемыми. Я Владислав Доронин — Go-разработчик в команде S3 облачной платформы Cloud.ru Evolution. Хочу рассказать про подход к управлению отказами реплик, который мы кристаллизовали опытом выхода из…

  • четверг, 25 декабря 2025 г. в 00:00:08
golang
Нейроучитель — NeuroTeacher

Всем привет!Хочу рассказать об очередном своем пет-проекте, который может быть кому-то тоже полезен. А еще поделиться хорошим предновогодним настроением. Поэтому рассказывать буду в слегка позитивном и шуточном стиле :-)Итак, перед вами — нейроучитель! Хех... Сразу говорю — к нейросетям он не имеет отношения (или опосредованное). Да и не учитель, собственно. Но обо всем по порядку.Я — запойный читатель. Особенно фантастики. А еще я лентяй и всегда мечтал загружать знания в голову, прикладывая …

  • четверг, 25 декабря 2025 г. в 00:00:08
golang
Масштабирование LLM с помощью Golang: как мы обслуживаем миллионы запросов LLM

Хотя экосистема LLM в основном ориентирована на Python, мы нашли Go исключительно подходящим для производственных развертываний. Наша инфраструктура на базе Go обрабатывает миллионы ежемесячных запросов LLM с минимальной настройкой производительности. Помимо хорошо документированных преимуществ Go (см. отличное изложение Роба Пайка о преимуществах Go), три возможности оказались особенно ценными для нагрузок LLM: статическая проверка типов для обработки выходных данных модели, горутины для управ…

  • среда, 24 декабря 2025 г. в 00:00:15
golang
Проблемы с которыми я столкнулся при написании рекурсивного парсера journal в Linux

ВведениеДобрый день, всем читающим данную статью. При анализе артефактов с Linux систем journal являются источником огромного количества полезной информации. Из журналов можно достать:название машины;идентификатор события;тип события;критичность события;сообщение;объект породивший событие;и многое другое.Существует множество утилит которые позволяют парсить журналы:встроенный во многие дистрибутивы linux journalctl;кроссплатформенный go-journalctl от Velocidex;библиотека go-systemd;и т.д.Однако…

  • вторник, 23 декабря 2025 г. в 00:00:17
golang
Как я ускорил установку PHP-зависимостей в 5 раз с помощью Go

TL;DRПереписал Composer на Go, получил 3-5x ускорение благодаря параллельной загрузке пакетов и отсутствию PHP runtime overhead. Проект полностью совместим с экосистемой Composer/Packagist (почти, об этом будет подробнее внизу). Почему Composer медленный?Каждый PHP‑разработчик знаком с этим чувством: запускаешь composer install и идёшь заваривать чай. Для небольшого проекта — минута, для Symfony/Laravel — несколько минут. В CI/CD пайплайне это превращается в существенные затраты времени.Основны…

  • вторник, 23 декабря 2025 г. в 00:00:16
golang
Axiom — тестовый фреймворк для Go, которого нам всегда не хватало

ВступлениеВ этой статье я хочу рассказать про Axiom — тестовый фреймворк (а точнее, тестовый runtime-движок) для Go. Но прежде чем говорить о решении, важно четко обозначить саму проблему, которую он закрывает.Go по своей философии — язык минимализма. Он осознанно избегает сложных абстракций, магии, навороченных DSL и бесконечных расширений. Пакет testing — идеальное отражение этой философии: маленький, прямолинейный, прозрачный. Это прекрасно для простых юнит-тестов: никаких фреймворков, никак…

  • вторник, 23 декабря 2025 г. в 00:00:14
golang
Больше 1 млн запросов в секунду на Go: уроки продакшена

Команда Go for Devs подготовила перевод статьи о том, как построить Heavy-Read API на Go, способный обрабатывать более 1 млн запросов в секунду. Автор делится продакшен-архитектурой распределённого In-Memory Cache, показывает, как убрать БД и Redis из критического пути чтения, и объясняет, за счёт каких оптимизаций удаётся добиться субмиллисекундных задержек. Практика, цифры и реальные уроки из продакшена. Сегодня я делюсь архитектурой распределённого In-Memory Cache, специально спроектированн…

  • вторник, 23 декабря 2025 г. в 00:00:13