Category : golang

golang
MCP для Juggler на Go

MCP for Juggler on GOВступлениеИИ-агенты уже не просто отвечают на вопросы - они действуют. Они открывают страницы, читают разметку, кликают по кнопкам, заполняют формы и делают скриншоты. А самый быстрорастущий способ дать агенту руки - это Model Context Protocol (MCP), открытый стандарт, который превращает браузер в набор инструментов, вызываемых любым ИИ-клиентом.Браузерная половина задачи в Go уже была решена. Пакет go-https://github.com/yvv4git/go-juggler принёс стек автоматизации Camoufox…

  • суббота, 22 августа 2026 г. в 00:00:16
golang
Мой первый KitRover: попытка сделать машинку с управлением по сети. (часть 1)

Данная статья берет свое начало из статьи (Покрути это колесо).ВступлениеПосле первой удачной попытки покрутить колёсами, о которой писал в предыдущeй статье, я начал думать о том, какой я хочу видеть свою сборку: из чего собирать, чем управлять, как делиться. И на тему последнего у меня две мысли...План проектаОсновные требования к проектуВозможность собрать ровер из готовых модулей, которые можно найти на известных площадках. Требования в электронике на уровне соединения проводов, чтобы мог с…

  • суббота, 22 августа 2026 г. в 00:00:15
golang
Горутины изнутри, часть 2

Это вторая часть серии про горутины и рантайм Go. В ней три сюжета: стек, который переезжает по памяти как квартирант; вытеснение, которое прилетает сигналом операционной системы; и полный жизненный цикл горутины, который дословно объясняет каждую строку дампа паники. Первая часть рассказывала, почему потоки ОС дорогие и как Go дошел до схемы GMP: она не обязательна, но там завязка всей истории.План серии:Почему потоки ОС не масштабируются и как Go придумал GMPПереезжающий стек, сигнал SIGURG и…

  • суббота, 22 августа 2026 г. в 00:00:14
golang
Go 1.27: generic-методы, которых не видит reflect

У Box[int] два метода. reflect видит один.type Box[T any] struct{ v T } func (b Box[T]) Value() T { return b.v } func (b Box[T]) Map[U any](f func(T) U) Box[U] { return Box[U]{v: f(b.v)} } go: go1.27rc3 chain: value=42 reflect NumMethod: 1 method: Value func(main.Box[int]) int Метод с собственным тип-параметром, независимым от ресивера, — главное языковое изменение Go 1.27 (пока rc3, ноты в статусе draft, финал обещают в августе). Box[int] теперь превращается в Box[string] прямо в цепочке …

  • пятница, 21 августа 2026 г. в 00:00:26
golang
Access‑token в переменной, refresh — в HttpOnly‑cookie: безопасная авторизация на Go + Vue 3

Тема хранения токенов — одна из самых больных в авторизации. Многие, не до конца понимая, как авторизация должна работать, кладут оба токена в cookie или — что ещё хуже — в localStorage. В этой статье мы соберём схему, в которой access‑token живёт в памяти приложения, refresh‑token — в HttpOnly‑cookie, а фронтенд сам восстанавливает сессию после перезагрузки страницы и незаметно обновляет протухший access.Бекенд — на Go, фронтенд — на Vue 3 (Vuex + vue‑router + axios), но концепция так же приме…

  • пятница, 21 августа 2026 г. в 00:00:24
golang
Самое интересное в новой версии Go — 1.27

Всем привет! Меня зовут Паша Агалецкий, я техлид команды платформы разработки Авито. В этой статье я расскажу о новой версии Go — 1.27. Я выбрал для вас самые интересные фичи — те, что влияют на код или дают новые по-настоящему полезные инструменты.Кстати, у этого материала есть видео-версия. Вы можете ознакомиться с обновлением Go, посмотрев мой обзор на YouTube, VK Видео или RuTube СодержаниеGeneric methods — дженерики добрались до методовPromoted fields в struct literalsУлучшенный type infer…

  • пятница, 21 августа 2026 г. в 00:00:23
golang
Read‑only by construction: почему инструкции — не граница безопасности для AI‑агента в Kubernetes‑к…

Всё чаще встречаю такую схему: берём LLM, даём ей доступ к kubectl или k8s API, в system prompt или подключённом skill‑е пишем что‑то вроде «ты можешь только читать, ничего не удаляй и не изменяй», и считаем вопрос закрытым. Прошёл через это сам и в какой‑то момент понял, что это не граница безопасности, а вежливая просьба.Это не гипотетический риск: вы наверняка помните, как в июле 2025 агент Replit удалил базу данных SaaStr, несмотря на прямой запрет что‑либо менять — не Kubernetes и не MCP, …

  • четверг, 20 августа 2026 г. в 00:00:16
golang
Что просить у пользователя и как это хранить, доступ который можно забрать

Я делаю сервис, который разворачивает проекты юзеров на их серверах. Первая версия просила пароль от root в веб-форме.Это конечно создавало большой барьер доверия, поэтому все юзеры обращались ко мне с претензиями, типо: «зачем тебе root пароль, украсть сервер хочешь да?»По факту люди правы, потому что давая root пароль они давали полный доступ к серверу, и пользователь никак его не может гарантировано отозвать кроме смены root пароля. Любое обещание про безопасность стоит ноль. Не потому что в…

  • четверг, 20 августа 2026 г. в 00:00:15
golang
Компилятор как первый ревьюер: петля верификации Go‑кода, который написал агент

Год назад мой типичный пулл‑реквест писался руками часа три и ревьюился минут двадцать. Сейчас четыреста строк агент выдаёт за минуту, а ревью того же дифа занимает час: приходится вычитывать уверенно написанный чужой код, в котором ошибка выглядит ровно так же убедительно, как правильное решение. Узкое место переехало с набора кода на его проверку, и усилием воли оно не расширяется.В августе у Google вышел текст о том, почему Go хорошо подходит для разработки с агентами. С тезисами спорить тру…

  • четверг, 20 августа 2026 г. в 00:00:13