Category : golang

golang
Gossip-оператор для Kubernetes вместо централизованных контроллеров

Привет, Хабр!Все мы привыкли к операторам Kubernetes с их паттерном leader election. Один под становится лидером, остальные молча ждут своей участи в тени, обрабатывая события только через его призму. Надежная схема? Безусловно. Но что, если я скажу, что можно создать оператор вообще без единой точки отказа, где каждый под равен друг другу, а координация действий происходит через механизм слухов, gossip‑протокол? Звучит как ересь? Возможно. Но это работает.Наши кластеры Kubernetes разрослись до…

  • пятница, 10 октября 2025 г. в 00:00:17
golang
Erlang-совместимые битовые строки в Go: создаём funbit

TL;DR: Мы перенесли битовый синтаксис Erlang в Go, чтобы парсить бинарные протоколы без боли. Получилась библиотека funbit — декларативный парсер с поддержкой не выровненных по байтам данных.ПредысторияВ процессе разработки funterm — мультиязыкового REPL, объединяющего Python, Lua, JavaScript и Go — мы столкнулись с необходимостью эффективной работы с бинарными данными. Нужно было парсить сетевые протоколы, обрабатывать структурированные данные и работать с битовыми полями на уровне отдельных б…

  • четверг, 9 октября 2025 г. в 00:00:09
golang
Группировка сабтестов в Go: от простого к сложному

Команда Go for Devs подготовила перевод статьи о том, как правильно группировать сабтесты в Go. Автор показывает, что в большинстве случаев достаточно держать тесты плоскими, а когда нужна разная инициализация и очистка — добавить лишь один уровень вложенности. В статье разбираются плюсы и минусы разных подходов: от ручных t.Run до reflection-хаков и сторонних библиотек.Go поддерживает сабтесты начиная с версии 1.7. С помощью t.Run можно вкладывать тесты друг в друга, задавать имена кейсам и пр…

  • четверг, 9 октября 2025 г. в 00:00:08
golang
Java vs Golang для крупных проектов с сложной бизнес-логикой

Disclaimer: Материал статьи создан с использованием ИИ (с включенной опцией веб поиска). Здесь не будет рабочих кейсов по заявленной теме. Кроме этого, текст практически не редактировался, так, например, иногда ИИ применяет специальные термины на английском, не переводя их на русский язык - в статье они по большей части оставлены также без перевода. Иллюстрация к статье сгенерирована с помощью ИИ.Неоднократно встречал мнение, что Golang не слишком хорош для сложной бизнес-логики на больших прое…

  • четверг, 9 октября 2025 г. в 00:00:07
golang
Как создать TUI утилиту на GO

  • вторник, 7 октября 2025 г. в 00:00:13