Category : golang

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

Go двадцать лет дразнили языком для дураков. Без дженериков, без перегрузок, без нормальных перечислений, без магии. Синтаксис учится за выходные, выразительность — на уровне табуретки.А теперь смотрим на 2026 год. Индустрия побежала писать AI-агентов и гейтвеи — и пишет их на Go или Rust. Нейронки генерируют код на Go лучше, чем почти на любом другом языке, потому что Go читается. Можно сказать, что язык оказался настолько тупым, чтобы снять пороги входа для LLM. И это, возможно, оказалось сам…

  • пятница, 25 сентября 2026 г. в 00:00:14
golang
Создание коммерческого ПО, в современных условиях

В этой статье я бы хотел поделиться своим взглядом на разработку коммерческого ПО небольшими трудовыми коллективами.И так, начну, пожалуй, и начну издалека. Я человек старой формации, учился как сейчас говорят «хард скилам», и посвятил учебе изрядный кусок своей жизни.Жизнь у меня была сложная, путь школа → институт → работа преграждала масса препятствий, однако же видимо родителям удалось привить мне тягу к знаниям, за что им вечно буду благодарен. Худо бедно, в перерывах между борьбой за выжи…

  • пятница, 25 сентября 2026 г. в 00:00:13
golang
vet молчит, -race молчит: горутины, которые переживают CI

В прошлой статье я писал, что компилятор — первый ревьюер кода, который написал агент. У этой идеи есть слепое пятно, и я в него наступил: конкурентность. Компилятор проверяет типы, go vet проверяет десяток известных шаблонов, -race ловит гонки данных. А горутина, которая никогда не завершится, — это не ошибка типов и не гонка. Код, который не слышит отмену, — тоже.Такой код собирается, проходит vet и go test -race, под нагрузкой тоже живёт. Вылезает проблема позже: на graceful shutdown, когда …

  • пятница, 25 сентября 2026 г. в 00:00:12
golang
Рулим в облака: деплой микросервиса генерации ID в Kubernetes

Привет, Хабр! Продолжаю серию статей по проектированию и разработке отказоустойчивой микросервисной системы сокращения ссылок.Если вы только присоединились, рекомендую ознакомиться с предыдущими частями:Часть 1. Определили требования к системе и декомпозировали её на независимые сервисы.Часть 2. Создали микросервис генерации уникальных идентификаторов.Наш микросервис генерации ID полностью готов, но пока живёт только в среде разработки. Сегодня подготовим его к развёртыванию в локальном Kuberne…

  • четверг, 24 сентября 2026 г. в 00:00:13
golang
Как мы вдвоем писали кроссплатформенный мессенджер: Compose Multiplatform, SFU на Go и сжатие трафи…

Идея написать собственный мессенджер появилась не от хорошей жизни. У нас была конкретная прикладная потребность: получить полностью независимый инструмент связи, который не завязан на сторонние облачные сервисы, нормально поднимается на скромных серверах и адекватно ведет себя при перебоях со связью.Мы разрабатывали другой проект, и поначалу для него был написан минимальный чат на CodeIgniter 4 с Vanilla JS и CSS плюс WebSocket‑сервер на Go. Затем стало очевидно, что такой чат слабоват, а для …

  • четверг, 24 сентября 2026 г. в 00:00:12
golang
Запустили 1 000 000 горутин на Go. Вот сколько это стоило

Каждый, кто касался Go, наверняка слышал о том, что горутина — это «легковесный поток», который управляется самим рантаймом, и именно поэтому вы можете запускать тысячи и более горутин. Нас точно не обманывают, но давайте разберёмся, почему это так и какой в этом компромисс.Что именно будем измерятьЯ планирую замерить время запуска программы, объём потребляемой оперативной памяти и загрузку процессора, а также проверить, сколько горутин действительно существует внутри программы. Будем двигаться…

  • четверг, 24 сентября 2026 г. в 00:00:10
golang
Отцы и дети. Java и Go

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

  • среда, 23 сентября 2026 г. в 00:00:13
golang
110 тестов, которые не проверяют код: как заставить документацию падать вместе со сборкой

Я открыл свою панель помощи и прочитал в ней про эскалации:Внутри лесенки каждая ступень уходит по своей задержке (0 = сразу); последующие ступени расширяют круг получателей.Вторая половина фразы - неправда. Ступени не расширяют круг получателей. У каждой ступени свой набор каналов, никак не связанный с предыдущей. Ступень, на которой не отмечен ни один канал, не уведомит никого - даже если каналы отмечены на первой.Разница не косметическая. Человек читает подсказку, отмечает Telegram на первой…

  • среда, 23 сентября 2026 г. в 00:00:11
golang
Как мы выдавали ключи от демозала через Telegram, но переехали на eXpress: техническое руководство …

Привет, Хабр!Меня зовут Дмитрий, я инженер в Группе Rubytech — компания производит программно‑аппаратные комплексы Скала^р и разрабатывает технологии для высоконагруженных ИТ‑инфраструктур.Вообще, наше подразделение занимается базами данных, но сегодня я расскажу про задачу, которая напрямую не была связана с рабочими обязанностями, зато ее решение сделало куда проще жизнь наших инженеров. Ниже лирическое отступление про офис, скоро вы все поймете.Помимо основного здания рядом (действительно ря…

  • среда, 23 сентября 2026 г. в 00:00:10