Category : golang

golang
Статьи по Go, которые стоит почитать

Если посмотреть на самые обсуждаемые публикации Go‑сообщества последних месяцев, можно заметить любопытную закономерность. Среди них почти нет материалов про новые конструкции языка, generics или очередные изменения синтаксиса.Зато много статей про диагностику утечек горутин, профилирование памяти, внутреннее устройство рантайма, особенности современных процессоров и эксплуатацию высоконагруженных PostgreSQL‑кластеров.В 2026 году экосистема Go значительно «повзрослела». Сама спецификация языка …

  • суббота, 19 сентября 2026 г. в 00:00:07
golang
Почему юридический AI‑сервис нельзя строить как обычный чат: проектируем case‑first SaaS на Go

Несколько месяцев назад мне понадобилось заключить договор с водоканалом. Казалось бы, обычная бюрократическая задача: отправил документы, дождался ответа, подписал договор. На практике всё оказалось значительно веселее — ответа долго не было, сроки шли, а что делать дальше, было не совсем понятно.Юриста у меня не было, зато был AI. Я загрузил документы, описал ситуацию и начал разбираться, какие вообще есть варианты дальнейших действий. В итоге с помощью AI подготовил несколько обращений и жал…

  • суббота, 19 сентября 2026 г. в 00:00:06
golang
Как я хотел написать простенький Go-first DB-мигратор, а получил альтернативу Atlas для управления …

ptah.runВ июне прошлого года я занимался разработкой проекта для собственных нужд (inventario), где заодно игрался с новыми фичами go, архитектурой кода и агентной разработкой. Благодаря этому проекту, кстати, я смог найти и зарепортить баг с имплементацией дженериков в go.Изначально простой проект разросся. Росло количество моделей и связей между ними. В какой-то момент я подумал, что неплохо бы озаботиться миграциями для моей системы. Я посмотрел, что имеется в наличии, и мне не зашло ничего.…

  • суббота, 19 сентября 2026 г. в 00:00:05
golang
ИИ-алготрейдинг. Анализ шума

TLDR; https://github.com/alterfo/moex-traderЗдравствуйте, меня зовут Олег. 11+ лет опыта в архитектуре и управлении разработкой.Я как кузнец — не могу не куя, и сейчас, в меж-работье, занимаюсь своими проектами. Среди них — интерактивный нотный тренажер для игры на пианино, шифрованный личный дневник, игра по мотивам Космических Рейнджеров - Вакуумные Пройдохи и ещё штук 6, включая движок базы знаний по коду, чатам, докам и таскам и редактор IDEF0.Сейчас в фокусе проект AI-трейдинга.Мысль о зар…

  • пятница, 18 сентября 2026 г. в 00:00:09
golang
Разбираем новый аллокатор в Go 1.27

Совсем недавно вышел Go 1.27. Я пошел изучать release notes и наткнулся там на следующее:Faster memory allocation The compiler now generates calls to size-specialized memory allocation routines, reducing the cost of some small (<80 byte) memory allocations by up to 30%. Improvements vary depending on the workload, but the overall improvement is expected to be ~1% in real allocation-heavy programs. This causes the binary size to increase by about 60 KB (independent of the workload). Please fi…

  • пятница, 18 сентября 2026 г. в 00:00:09
golang
Легковесная альтернатива cAdvisor и сборщик логов для отправки в Loki

Всем привет! В данной статье расскажу про проект logporter, который для меня полностью заменил решение от Google для централизованного и полнофункционального мониторинга контейнеров Docker.Экспортер написан на Go и совмещает функции сборщика метрик, логов, проверки обновлений образов и встроенной панели мониторинга в одном легковесном образе.ПроизводительностьЭкспортер cAdvisor давно стал стандартом де-факто, когда требуется отслеживать производительность контейнеров на базе стека мониторинга P…

  • четверг, 17 сентября 2026 г. в 00:00:09
golang
Падающая сборка, и это я её просил

Три истории, у которых одно общее: всё собралось.Два пула. Соединения к базе понадобились в двух местах, и в каждом честно вызвали NewPool(). Компилируется, работает, тесты зелёные. Обнаруживается по графику числа коннектов через месяц, когда база начинает упираться в лимит.Не тот кэш. Есть два Cache — общий и локальный для тяжёлых выборок. В один сервис передали не тот. Типы совпадают, компилятор доволен, поведение правдоподобное: просто иногда данные свежее, чем должны быть, а иногда наоборот…

  • среда, 16 сентября 2026 г. в 00:00:10
golang
Валидатор не нашёл поле is_admin, а Go его нашёл: пять ошибок при работе с JSON

Привет, Хабр!На входе стоит валидатор: JSON Schema, которая знает про поле is_admin и снаружи выставлять его не даёт. Всё прочее схема считает лишним и пропускает не глядя. За валидатором Go‑сервис, там структура с тегом json:"is_admin". Приходит тело, где ключ написан заглавными — IS_ADMIN. Схема сравнивает строки побуквенно, такого имени не знает, пропускает. А json.Unmarshal знает и кладёт true куда надо.Никто из двоих при этом не ошибся: схема отработала по спецификации, encoding/js…

  • вторник, 15 сентября 2026 г. в 00:00:15
golang
Когда atomic действительно быстрее Mutex

ВведениеПривет, Хабр! Эта статья посвящается важной теме работы в многопоточной среде. Для безопасной работы с одним ресурсом из разных горутин разработчик должен быть уверен в безопасности и обособленности действий, чтобы не создать ситуации, в которых "гонки данных" (data race) ломали бы важную логику и создавали коллизии данных.В случаях, когда нужно обращаться к одному источнику из разных горутин в Go обычно используют sync/atomic или Mutex. Основная задача текущей статьи рассказать…

  • понедельник, 14 сентября 2026 г. в 00:00:12