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

Как я писал расшифровщик записей, но в итоге получил бота для Яндекс.Телемост, с функциями которые даже не снились

Как расшифровщик созвонов на Go превратился в бота для Яндекс.Телемоста: сам заходит в звонок, пишет, ведёт заметки ИИ и принимает дозвон с телефона…

golangwebrtcwebrtc sippion
Habr
RU

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

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

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

Guardrails для ИИ-агента на Go: от инструкций к автоматическим проверкам

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

golangИИ-агентылинтерыgolangci-lintтестированиемутационное тестированиеsynctestархитектурные тесты
Habr
RU

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

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

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

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

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

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

Питон не проглотит суслика: почему Go и Python обречены делить один прод

Гипотеза, с которой я начинала, звучала максимально прямолинейно: Go компилируется в машинный код, питон интерпретируется, значит Go быстрее примерн…

pythongogolangnumpyopenblasasyncioгорутиныGILcgoбенчмарк
Habr
RU

Как мы вдвоем писали кроссплатформенный мессенджер: Compose Multiplatform, SFU на Go и сжатие трафика

Как силами двух разработчиков создать мессенджер под шесть платформ на Compose Multiplatform и Go. Рассказываем об оптимизации бандла до 10 МБ, разр…

compose multiplatformgolangkotlinandroidwebrtcpionмессенджершифрование данных
Habr
RU

110 тестов, которые не проверяют код: как заставить документацию падать вместе со сборкой

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

gogolangтестированиеавтотестыдокументациятехдолг
Habr
RU

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

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

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

Рантайм показывает ту же память, а под убивают по OOM: пять ошибок под лимитами cgroup

Go показывает стабильную память, heap-профиль молчит, а Kubernetes всё равно убивает под по OOM. Разберём, откуда берётся это расхождение, как на по…

golangGoGOMAXPROCSGOMEMLIMITGOGCcgroupsOOMKilledсборщик мусорауправление памятьюлимиты контейнеров
Habr