Новости

Post Thumbnail

DDD во времена AI

Статья утверждает, что с ростом AI-кодинга идеи Domain-Driven Design становятся еще актуальнее DDD никогда не был строго про код - главная сложность всегда заключалась в понимании предметной области и ее моделировании. Автор подчеркивает, что доменная модел...

Post Thumbnail

Конкурентный сервер на Go

Это восьмая часть серии о конкурентных сетевых серверах, в этот раз посвященная Go. В прошлый раз было про Rust Автор показывает, как язык решает описанные ранее задачи. Статья начинается с последовательного сервера с state machine, затем показывает конкуре...

Post Thumbnail

Горутины повсюду

Частенько мы пишем Go-сервисы, не задумываясь о том, кто и как запускает наши горутины. Возникает феномен "случайного рантайма приложения": когда Go-сервис обрастает множеством долгоживущих горутин, их время жизни и связи оказываются неявно размазанными по код...

Post Thumbnail

Интересные баги

Команда sigma star(хз кто это) нашла и исправила давнюю ошибку в рантайме Go, проявлявшуюся только на 32-битных встраиваемых Linux-системах. Приложение периодически падало с ошибкой "runtime: netpoll: eventfd ready for something unexpected". Корень проблем...

Post Thumbnail

GopherCon UK 2026

Видосы с GopherCon UK 2026 подоспели. Много всего интересного. Девид Чейни, Билл Кеннеди и другие широко известные в узких кругах докладчики. И даже про AI есть вполне адекватные доклады

Post Thumbnail

Используем Datastar

В статье интеренсно про использование Datastar. Я вот первый раз про него услашал Автор рассказывает, как построить веб-версию утилиты htop используя Go-бэкенд и, собственно, гипермедиа-фреймворк Datastar. Вместо фронтенд-фреймворка вроде React здесь HTML-п...

Post Thumbnail

На Rust после Go

Автор, пять лет писавший на Go, сначала скептически отнесся к появлению Rust в его команде. Но появился проект, в котором нужны были низкое потребление памяти и mpmc-обмен сообщениями. Пожтому несколько CLI и сервисов решили переписать на Rust и это застав...

Post Thumbnail

Поговорим про PGO

Profile-guided optimization (PGO) заменяет эвристические догадки компилятора реальными замерами. Вы запускаете программу, записываете CPU-профиль и передаете его компилятору для повторной сборки, который использует эти данные в основном для инлайнинга гор...

Post Thumbnail

Время читать код

Автор утверждает, что главное узкое место разработки незаметно сместилось с написания кода на его чтение: теперь мы одержимы скоростью генерации, но ревью AI-сгенерированного кода читать тяжелее, чем написанный вручную, и именно проверка стала самой медленной ...

Post Thumbnail

Go для Dreamcast

Я только на прошлой неделе публиковал пост, в котором искал инструмент для программирования под Sega Dreamcast. И оказывается, такой инструмент уже давно есть! И даже на Go. libgodc - это минималистичная реализация рантайма Go для игровой консоли Sega Dream...

Post Thumbnail

Батчинг

Статья показывает, как в Go аккуратно батчить данные, поступающие в реальном времени, на примере обновления поля last_active_at для каждого запроса пользователя - вместо тысяч одиночных UPDATE группировать их в один UPDATE ... WHERE id IN (...). Суть подхо...

Post Thumbnail

KV на S3

Статья разбирает, как построить key-value базу данных, у которой основным слоем хранения является объектное хранилище вроде S3, на примере движка IsleDB на Go, и почему наивная замена "файлов на диске" на "объекты в бакете" не работает. СУБД неявно полагается ...

Post Thumbnail

Go идеален для AI

В эпоху ИИ-помощников узкое место разработки сместилось с написания кода на его проверку, ревью и сопровождение А какой язык просто читать? Конечно Go! Go - это целая платформа со встроенным форматтером, тестами, управлением зависимостями и инструментами...

Post Thumbnail

Soppo

Пятничный язык программирования! Я про него уже писал, но он продолжает развиваться и стоит взглянуть на него еще разок. Этот язык программирования сохраняет синтаксис Go, но добавляющий недостающие возможности: перечисления с паттерн матчингом, оператор ? ...

Post Thumbnail

Typescript Defer

Автор экспериментировал с добавлением оператора defer из Go в компилятор TypeScript, реализовав парсинг, проверки и AST-трансформацию, которая оборачивает тело функции в try/finally и выполняет отложенные вызовы в обратном порядке (LIFO) с захватом значений на...

Post Thumbnail

Raft сломан

Ребята из Antithesis(я хз кто это) протестировали несколько популярных реализаций протокола Raft в своей среде детерминированной симуляции с инжекцией сбоев. Они выбрали HashiCorp Raft, Aeron Cluster, OpenRaft и MicroRaft. И да, они нашли критические баги в ка...

Post Thumbnail

Движение назад

Прикольная статья если вы хотите поковыряться в итераторах, джинериках и вот в этих новых фишечках Go. Автор в шутливой форме проводит мысленный эксперимент: как бы выглядела эволюция функции Backward для обхода слайса в обратном порядке, если бы ее писал н...

Post Thumbnail

Go 1.27

Антон Жиянов делал интерактивные туры по Go с версии 1.22 по 1.26, но решил остановиться. Хесус Эспино подхватил эстафету и разбирает здесь огромный массив нововведений Go 1.27 - от обобщенных методов и профиля goroutineleak до нового пакета uuid и эксперимент...

Post Thumbnail

SIMD в go

Будущее пришло быстрее, чем ожидалось: в go1.27rc2 пакет simd стал портируемым, и один Go-код разворачивается в Neon на Apple Silicon и в AVX2 на Intel. Это наборы векторных инструкций двух процессорных миров, ликбез по ним как раз в этой статье. Автор про...

Post Thumbnail

Swiss Tables

Статья подробно разбирает переход Go 1.24 от классической bucket-архитектуры мап к Swiss Tables - дизайну, позаимствованному из Abseil, который заменяет цепочки оверфлоу-указателей на плоское открытое адресование с компактными контрольными байтами и групповым ...

Post Thumbnail

Визуализируем GC

Статья наглядно исследует новый сборщик мусора Green Tea в Go 1.25/1.26. Автор пишет визуализатор кучи, показывающий, как Go размещает объекты одного размерного класса рядом друг с другом и сравнивает его с C#. Он отмечает, что в отличие от C#, Go никогда ...