RU

gRPC на Go: Пишем микросервис аутентификации с нуля

Привет, Хабр! Сегодня рассмотрим тему  gRPC  и работы с ним в контексте языка программирования  Go  на примере простейшей реализ…

gogolanggrpcgrpc servergrpc-gogrpc серверыgrpc-сервисымикросервисыаутентификацияprotobuf
Habr
RU

Access‑token в переменной, refresh — в HttpOnly‑cookie: безопасная авторизация на Go + Vue 3

Тема хранения токенов — одна из самых больных в авторизации. Многие, не до конца понимая, как авторизация должна работ…

jwtaccess tokenrefresh tokenавторизацияgolangvue 3httponly cookiexsscsrfreact
Habr
RU

River OSS и Kafka: почему transactional outbox не гарантирует порядок событий агрегата

Меня зовут Василий Миловидов, я системный архитектор в крупной компании. Мы строим обмен между сервисами на событиях: сервис меняет агрега…

transactional outboxriverevent-drivendistributed systemsgolangpostgresql
Habr
RU

Компилятор как первый ревьюер: петля верификации Go‑кода, который написал агент

Год назад мой типичный пулл-реквест писался руками часа три и ревьюился минут двадцать. Сейчас четыреста строк агент выдаёт за минуту, а ревью того…

golanggoстатический анализлинтерыстатические анализаторыcode reviewкодогенерацияai-агентыllmфаззинг
Habr
RU

Как я научил пул виртуалок гаситься самому — и почему «занята ли машина» оказалось четырьмя разными вопросами

Речь пойдёт про VDI-портал: систему, которая клонирует виртуалки из шаблона, выдаёт их пользователям и гасит простаивающие. Но статья не о нём как о…

proxmoxhyper-vvdiвиртуализацияguacamoleactive directorygolangpythonпул виртуальных машинself-hosted
Habr
RU

Алгоритм был правильным. Ошибка была в контракте графа

Мне нужен был сервис, в котором должны были работать несколько разных алгоритмов. Часть математики я помнил, часть понимал поверхност…

golangпроектирование apiархитектура кодаграфовые алгоритмыopen sourceбенчмаркингструктуры данныхрефакторинг
Habr
RU

Пятнадцать месяцев финтеха агентами: кривая качества по всей истории проекта

У меня 12 лет опыта в Go. И я больше не имею права назвать себя программистом: мой код не пройдёт ту планку качества, которую я выставил для своих а…

статический анализлинтерыии-агентыагентная разработкаllmddкачество кодаgolangclaude codeglintфинтех
Habr
RU

Почему сильные доклады не проходят CFP, а слабые заявки иногда становятся лучшими выступлениями

Каждый год разработчики отправляют заявки на конференции. Кто-то проходит с первого раза, кто-то несколько лет подряд получает отказы и начинает дум…

golangcfpспикерконференция веб-разработчиковконференция для разработчиковконференцииgo
Habr
RU

Go прощает меньше, чем кажется: восемь ошибок, на которых спотыкается каждый новичок

Привет, Хабр! Go специально сделали маленьким языком. Ключевых слов немного, конструкций мало, за неделю осваиваешь синтаксис и начинаешь писать. Им…

golanggoошибки новичковгорутиныуправление памятьюобработка ошибокслайсы
Habr
RU

Green Tea GC: что на самом деле поменялось в сборщике мусора Go 1.26

С весны на собесах стабильно спрашивают про Green Tea. И ответ, который я слышу в девяти случаях из десяти, звучит так: «ну, он на 40% быстрее». Дал…

golanggogarbage collectorсборка мусораgreen tea gcgo 1.26производительностьruntimeоптимизацияпамять
Habr
RU

Локальная RAG-система на Go, PostgreSQL и Ollama без облачных API

RAG уже стал стандартным способом научить LLM работать с собственными документами без дорогостоящего дообучения. Но за кажущейся простотой скрываетс…

RAGRetrieval-Augmented GenerationGogolangPostgreSQLOllamaэмбеддингивекторный поисклокальные моделиllm
Habr
RU

Надёжная асинхронная коммуникация: повторы, дубликаты и dead letter queues

Представим обычную обработку заказа. Сервис заказов публикует событие order.created . Сервис склада получает его и резервирует товар в PostgreSQL. П…

rabbitmqgolanggokafkaархитектураасинхронностьмикросервисыbrokerqueueresilience
Habr
RU

Теперь вы можете защититься от утечки данных при работе с любыми языковыми моделями

Пару дней назад Cloud.ru выложил исходный код Guardrails Filter в открытый доступ. Это прозрачный обратный прокси между клиентом и LLM-провайдерами,…

guardrailsмаскирование данныхпдн152-фзgogolangутечки данныхllm-модели
Habr
RU

Esp-Monitor: архитектура и развертывание self-hosted IoT-платформы для микроконтроллеров ESP

Одним из самых вдохновляющих моментов в разработке микроконтроллерных устройств является их первая установка и запуск в локальной сети. И этот же мо…

IoTesp32esp8266esphomegogolangbackendiosk8skubernetes
Habr
RU

Как мы делали три консоли для киберигры: опыт разработки новой версии тренажера

Привет! На связи команда Далее . В этой статье расскажем, как мы взяли довольно простую игру-тренажер по кибербезопасности и сделали ее самостоятель…

кибербезинформационная безопасностьконсолиgolangwebrtccentrifugohighloadразработка игрвеб-разработкаархитектура
Habr
RU

Как я писал in-memory векторный движок на Go — и в каком месте он обогнал hnswilb

Полгода назад я начал писать in-memory базу с векторным поиском на Go: RESP-протокол, HNSW-индекс, WAL, многопоточность. Рассказываю, что из этого в…

векторные базы данныхвекторный поискhnswgolanggoin-memorybenchmarkквантизацияrag
Habr
RU

Используем sqlc в Го: нужно ли делать отдельный слой «репозиторий», или достаточно сгенерированного?

Всем привет! Эта статья является выжимкой моего опыта. Возможно для кого-то это очевидные вещи, тем не менее, считаю, что она может мыть полезна нач…

sqlcgolangsolid
Habr
RU

Технический долг — это не только legacy: как мы уменьшаем разброс решений между Go-сервисами

Когда компания растёт из одного продуктового направления в несколько, технический долг начинает выглядеть иначе. Проблема уже не в «старом коде», ус…

golangмикросервисытехнический долгархитектурарефакторингстандартизацияшаблонизацияуправление зависимостямибэкендrenovatebot
Habr