Category : golang

golang
ИИ задеплоит за тебя. А дежурить кто будет?

ИИ задеплоит за тебя. А дежурить кто будет? На днях в чате разработчиков мне написали: «Я описал Клоду проект с телефона, он собрал MVP и сам задеплоил на Firebase. В деплой я вообще не лез. Зачем теперь нужны сервисы деплоя?». Вопрос честный, и короткий ответ на него: незачем. Если ИИ развернул ваш проект и он работает, всё отлично, расходимся. Длинный ответ интереснее.День первый: тут ИИ действительно победил Признаю без оговорок: настройка сервера перестала быть проблемой. Любой ассистент …

  • четверг, 9 июля 2026 г. в 00:00:15
golang
Учимся писать свой Prometheus exporter на Go с нуля. Часть 1

Чтобы измерять нагрузку, ошибки, задержки и потребление ресурсов, осознанно поддерживать SLO и настраивать алерты, не обойтись без Prometheus. Он принимает текстовый формат на HTTP-эндпоинте. Только вот Kafka, PostgreSQL, сетевое железо и Redis метрики по HTTP не отдают, либо понимают только JMX, SNMP и собственный REST API. Так что без переводчика не обойтись.Всем привет! Я DevOps-разработчик из MTC Web Services. Этим материалом я открываю цикл из пяти постов, благодаря которому вы шаг за шаго…

  • четверг, 9 июля 2026 г. в 00:00:14
golang
Используем sqlc в Го: нужно ли делать отдельный слой «репозиторий», или достаточно сгенерированного…

Всем привет! Эта статья является выжимкой моего опыта. Возможно для кого-то это очевидные вещи, тем не менее, считаю, что она может мыть полезна начинающим и не только.Для работы с базами данных в го есть несколько подходов от стандартного "ручного", до удобных, таких как sqlx, GORM, sqlc... Список можно продолжать дальше.При разработке очередного ПО я познакомился с sqlc (https://sqlc.dev/) и его подход мне понравился: на основе sql запросов создается полноценная обертка над бд - чем …

  • четверг, 9 июля 2026 г. в 00:00:13
golang
Как я писал in-memory векторный движок на Go — и в каком месте он обогнал hnswilb

Привет, Хабр! Меня зовут Николай, мне 32 года. По образованию я врач, анестезиолог-реаниматолог — но последние годы развиваюсь в инженерной сфере, и, честно говоря, она затянула меня сильнее. Больше всего — всё низкоуровневое: как устроена память, что происходит под локами, почему индекс быстрый или медленный. Реанимация научила одной вещи, которая неожиданно пригодилась в инженерии: доверять только измеренным показателям, а не ощущениям.Проект, о котором пойдёт речь, задумывался как образовате…

  • четверг, 9 июля 2026 г. в 00:00:12
golang
Технический долг — это не только legacy: как мы уменьшаем разброс решений между Go-сервисами

Когда компания растёт из одного продуктового направления в несколько, технический долг начинает выглядеть иначе. Проблема уже не в «старом коде», устаревших зависимостях или сложной поддержке legacy-системы. Долг начинает накапливаться в расхождении инженерных решений между сервисами.Для нас в QIC digital hub это особенно заметно на фоне миграции на новый Go-бэкенд. Исторически платформа развивалась на разнородном стеке: разные части системы были написаны на разных технологиях. Сейчас мы постеп…

  • среда, 8 июля 2026 г. в 00:00:14
golang
Query‑first подход или как из SQL запросов или MongoDB контрактов получить готовое REST API

Я уже давно думал об одной вроде небольшой, но на самом деле изрядно, по крайней мере меня, доставшей backend‑проблеме.В зависимости от подхода, конечно, но зачастую, мы уже знаем, какие операции и с какими сущностями нам предстоит работать, создавая REST сервис. Но написание моделей и запросов к базе данных всегда проходит лишь как один из этапов написания слоистой архитектуры будущего приложения/микросервиса. Несмотря на опыт, всё же приходится многократно проходить ручную сборку одних и тех …

  • вторник, 7 июля 2026 г. в 00:00:07
golang
От полной выгрузки к S3 и PostgreSQL: как мы доставляем гигабайты данных в память подов

Представьте себе высоконагруженный сервис, который решает, с какого из множества складов нужно отправить товар покупателю. В пике через него проходит около 600 000 RPS, а строгий SLA требует ответа в пределах 50 мс. Для расчёта нужно за минимальное время выбрать оптимальный склад с учётом остатков, доступности и других данных, которые хранятся в разных микросервисах и их базах данных.Первое, что приходит на ум, — обратиться к этим сервисам по API во время запроса и получить всё необходимое для …

  • вторник, 7 июля 2026 г. в 00:00:07
golang
Как я добавил MAX в китайский AI-мост и запустил Claude прямо в мессенджере

Я хотел использовать Claude прямо в мессенджере MAX — без браузера, без переключения контекста. Готового решения не было. Нашёл на GitHub китайский проект cc-connect — Go-фреймворк с plugin-архитектурой для подключения AI-агентов к мессенджерам. Telegram, Feishu, Discord там были. MAX — нет.Написал адаптер, открыл PR. Приняли. Теперь поддержка MAX — часть основного репозитория.Что такое cc-connectcc-connect — Go-фреймворк с чёткой трёхслойной архитектурой:core/ — ядро: интерфейсы, engine…

  • понедельник, 6 июля 2026 г. в 00:00:06
golang
Российский интернет атакуют

привет, Хабр! на днях по новостным лентам пронеслась тревожная весть: российский сегмент интернета столкнулся с беспрецедентной DDoS-атакой мощностью в 2,56 тбит/с при интенсивности в 1 миллиард пакетов в секунду. специалисты StormWall назвали это «генеральной репетицией чего-то большего» и отметили, что за атаками стоит хорошо подготовленная команда, тестирующая новый ботнет.сам StormWall название ботнета не назвал — в их отчете речь идет просто о «ботнете нового поколения». дальше в статье я …

  • понедельник, 6 июля 2026 г. в 00:00:05