RU

Доставка пива, алгоритм «Октагон» и поиск компании в EDGE: какие архитектуры придумали на Avito Grill & Go

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

gogolangsystem designпроектирование системархитектурамитапhighload
Habr
RU

Кoгдa яблoкo yпaлo cлишкoм близкo не к той яблoнe: copy-paste oшибки в cтpyктypнo изoмopфнoм Go кoдe

Bы нaвepнякa дeлaли этo мнoгo paз: нaшли в пpoeктe пoдxoдящий для peшeния зaдaчи кoд, cкoпиpoвaли, зaмeнили в кoпии пepeмeнныe или вызoвы фyнкций нa…

gogolangкачество кодаопечаткистатический анализ кодаopen sourcepvs-studioалгоритмисправление баговбаги
Habr
RU

DDNS для российских DNS-хостингов: почему не подошли готовые клиенты и что я написал взамен

Я проверил популярные DDNS-клиенты и почти не нашёл в них поддержки российских DNS-хостингов. Поэтому запись для домашнего сервера обычно обновляют…

ddnsdynamic dnsdnsgolangself-hostedдомашний серверreg.ruselectelbegetyandex cloud
Habr
RU

xk6-sip: SIP-телефония как код

На дворе 2026 год. Веб-сервисы тестируют облачные оркестраторы: тысячи виртуальных пользователей поднимаются из пайплайна, метрики падают в Promethe…

golangтестирование производительностиоткрытый кодтелекомsip-телефониявысоконагруженные системы
Habr
RU

Go сделали скучным — и после нейросетей это выстрелило

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

golangязыки программированиягенерация кодаLLMобратная совместимостьдженерикимногопоточностькомпиляторыJavaPython
Habr
RU

Как я хотел написать простенький Go-first DB-мигратор, а получил альтернативу Atlas для управления схемой БД

История разработки Ptah: как небольшой Go-first инструмент для миграций собственной базы данных постепенно превратился в полноценную open-source сис…

база данныхмиграцииgolangdatabase migrationsdatabase migration tools
Habr
RU

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

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

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

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

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

transactional outboxriverevent-drivendistributed systemsgolangpostgresql
Habr
RU

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

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

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

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

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

IoTesp32esp8266esphomegogolangbackendiosk8skubernetes
Habr
RU

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

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

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

Как я добавил MAX в китайский AI-мост и запустил Claude прямо в мессенджере

Я хотел использовать Claude прямо в мессенджере MAX — без браузера, без переключения контекста. Готового решения не было. Нашёл на GitHub китайский…

gogolangclaudeaimax мессенджерopen sourceplugin architectureчат-ботanthropicконтрибьюция
Habr
RU

Плагины в Go-автотестах: как вынести инфраструктуру за пределы тестов

Почему отчётность, статистика и логирование в Go-автотестах превращаются в костыли — и как плагинная модель позволяет вынести инфраструктуру за пред…

gogolangqaqa automationtest frameworktest automationgo testавтотестыallureallure report
Habr
RU

10 вопросов на Go собеседовании, которые валят большинство джунов

Готовиться к Go-собеседованию по списку с GitHub — значит знать ровно то же, что знают все остальные. Интервьюеры это чувствуют сразу. В этой статье…

golanggoсобеседованиеjuniorgoroutineconcurrencychanneldefersliceinterface
Habr
RU

Fanotify — что он может дать по сравнению с inotify и что попросит взамен

Привет, Хабр! На связи Даниэль из InfoWatch, разработчик решений класса информационной безопасности. В предыдущей статье мы рассматривали задачу кон…

fanotifyinotifylinuxинформационная безопасностьgolang
Habr
RU

Industrial Network Scanner: как мы написали на Go инструмент аудита безопасности ICS/SCADA-сетей

Привет, Хабр! Хочу рассказать об инструменте, который мы делали для реальных задач — аудита безопасности промышленных сетей. Называется  Indust…

промышленные сетиплкmodbusgogolangscadaot-securityindustrial-cybersecuritypentestingopen-source
Habr
RU

Я написал визуализатор сборщика мусора для Go — теперь GC не чёрный ящик

Сборщик мусора в Go обычно воспринимается как что-то, что просто работает. И это, в общем, хорошо: большую часть времени о нём действительно не хоче…

gogolanggcgarbage collectorсборщик мусораgogcopen sourceperformancetui
Habr