Category : golang

golang
Не давайте агенту docker.sock: как я сделал для ИИ отдельный вход в свой Docker-менеджер

У меня есть пет-проект d9c, терминальный интерфейс для Docker на удалённых серверах. Запускается локально, на хост ходит по SSH, на сервер ничего ставить не нужно. Внутри таблицы, навигация как в vim, команды через двоеточие, логи, shell в контейнере, compose. Если коротко, это k9s, только для Docker.d9cНо статья не про интерфейс. Последние месяцы я почти всё делаю через Claude Code, и в какой-то момент заметил, что на мои серверы ходит уже не только я.Как агент работает с Docker, если ему не м…

  • пятница, 30 октября 2026 г. в 00:00:21
golang
Как Go выбирает механизм defer: open-coded, stack и heap

Про defer в Go до сих пор ходит миф: «он медленный, в горячем коде лучше не использовать». Когда-то это было правдой. До Go 1.13 каждый defer означал аллокацию в куче. Сейчас, в большинстве случаев, он стоит почти ничего. Но «в большинстве» — это не «всегда», и граница проходит по довольно конкретным правилам.Компилятор Go умеет реализовывать defer тремя способами:open-coded — никакой runtime-структуры, вызов вставляется прямо в код функции;stack defer — runtime используется, но запись о defer …

  • пятница, 30 октября 2026 г. в 00:00:20
golang
Семь с половиной часов: как Go закрывал дыру в ключах eMudhra и что сделать у себя

17 октября Mozilla молча добавила в OneCRL восемь промежуточных сертификатов eMudhra. Через двое суток вышли Go 1.27.3 и 1.26.10, которые этим сертификатам больше не доверяют. От первого письма в Go Security до готового релиза прошло меньше семи с половиной часов, и это первый релиз, выпущенный по новому треку URGENT.26 октября Roland Shoemaker опубликовал в блоге Go разбор инцидента. Я его пересказал и дописал то, чего мне в нём не хватило. Как именно ломаются такие ключи (с кодом). Почему уда…

  • четверг, 29 октября 2026 г. в 00:00:26
golang
Как мы перестали хардкодить модели: effort-маршрутизация, авто-выбор сложности, фолбэки и лимиты ра…

Самая дорогая строчка в микросервисе с LLM — model="gpt-4o". За ней тянутся свой ключ вендора, свои ретраи и счёт, который потом некому разобрать.Расскажу об одной идее, которая это убирает: сервис не должен знать, какая модель ему отвечает. Вокруг неё четыре механизма: правила маршрутизации, автоматический выбор сложности, поведение при сбоях вендоров и контроль денег. Всё это есть в Keystone. The Model Switchboard. (KTMS), нашем open-source LLM-шлюзе на Go, и примеры кода ниже из него…

  • четверг, 29 октября 2026 г. в 00:00:24
golang
Go в продакшене 2026: как язык вырос из микросервисов

Привет, Хабр! На связи Илья Данилкин, тимлид в Авито Авто. В этом материале я собрал подборку важных новостей из мира Go. Разберём, откуда берутся типичные утечки горутин и чем встроенный в рантайм детектор принципиально отличается от uber-go/goleak. Посмотрим, как устроен механизм GOEXPERIMENT и какие эксперименты стоит попробовать. Измерим, сколько реально даёт флаг GOAMD64 на современном железе. А также расскажу, почему языковые модели перестали быть просто предметом обсуждения и стали участ…

  • четверг, 29 октября 2026 г. в 00:00:22
golang
Свояк без установки: телевизор — табло, телефоны — кнопки. Как это устроено внутри

Как я сделал «Свою игру», где телефоны друзей становятся кнопкамис друзьями давно играем в «Свою игру». SIGame — отличная штука, но каждый раз начинается одно и то же: «скачай», «а у меня мак», «а я с телефона», «какой пароль от комнаты», «у меня не нажимается пробел». Половина вечера уходит на настройку.Мне хотелось, чтобы было как в телепередаче: большой экран с табло, а у каждого в руке кнопка. Табло — это любой экран, который у всех перед глазами: телевизор, проектор, ноутбук или демонстрац…

  • четверг, 29 октября 2026 г. в 00:00:21
golang
Новинка «Высокопроизводительный Go. Руководство по оптимизации»

Привет, Хабр!Сегодня мы рады представить вам нашу очередную новинку, которая украсит полку профессионального бэкенд-разработчика: «Высокопроизводительный Go. Руководство по оптимизации». Она продолжает сразу два направления нашей работы и ориентирована как на современных бэкендеров, всё активнее переходящих на Go, так и просто на ответственных разработчиков, желающих систематизировать проверенные практики повышения производительности. Книга сложилась из заметок и кода, над которыми много лет ра…

  • четверг, 29 октября 2026 г. в 00:00:20
golang
Keystone 1.0: LLM-шлюз, который не хардкодит модели, держит свои GPU и не теряет ключи

Девушка, милая, мне gemini 3.8 flash, пожалуйста!Имя модели в коде устаревает в день выхода следующей модели. Если у вас десять сервисов, вы перепишете его десять раз и десять раз разнесёте по конфигам ключи вендоров.Keystone. The Model Switchboard. (KTMS) убирает это из кода. Сервис говорит, насколько сложна задача, а шлюз решает, какую модель позвать, с каким ключом и не отдать ли запрос вашей собственной GPU. В простое он занимает 7 МиБ памяти, а с версии 1.0 его API в пределах 1.x не ломает…

  • среда, 28 октября 2026 г. в 00:00:16
golang
Оценил по Сюю 500 запросов в секунду — замерил на ноутбуке: вот где сломалось

Есть глава, которую читали все, кто готовился к секции по проектированию систем: «Приблизительные оценки» у Алекса Сюя. DAU делим на 86 400, умножаем на два для пика, прикидываем объём за год — и получаем «1 160 записей в секунду, 11 600 чтений, 365 терабайт». Я тоже умел это считать. А потом я задал себе простой вопрос: «И Postgres это выдержит?» — и понял, что не знаю. Я знаю, как посчитать нагрузку. Я не знаю, что на самом деле происходит с базой, когда эта нагрузка приходит.Решил не гадать,…

  • среда, 28 октября 2026 г. в 00:00:15