Async/Await
Статья про реализацию паттерна Async/Await в Go. Якобы, он упростит написание конкурентного кода. В основном автор рекламирует свою либу go-opera. Ну, вот хрен знает, как по мне - только все сложнее становится.
Статья про реализацию паттерна Async/Await в Go. Якобы, он упростит написание конкурентного кода. В основном автор рекламирует свою либу go-opera. Ну, вот хрен знает, как по мне - только все сложнее становится.
Автор рассказывает как он запилил крутую базу данных с лок-фри ринг-буфером, пинером для GC и кучей умных слов в README, а потом оказалось, что всё это работает через жопу. Оказалось, что он перемудрил со всеми умными локфри алгоритмами. Мне кажется, у все...
Есть чуваки - Pilot. Они пилять различные сетевые решения для агентов Они на Go с нуля забабахали свой транспорт для обхода NAT поверх UDP, очень похожий на TCP. Cо скользящими окнами, контролем перегрузок и повторными таймаутами. Обошлись вообще без сторон...
FastCGI - протокол, которому уже 30 лет, но он по-прежнему может показать свою силу Автор предлагает использовать FastCGI для реверс прокси вместо HTTP. И в этом действительно есть смысл. Двес основные причины - безопастность и неопределенность в передаче н...
Автор считает, что пора собирать себе домашнего HAL’а на новых локальных моделях вроде Gemma4 или Qwen 3.6. Сейчас даже на обычной видеокарте можно запустить нормального мультимодального ассистента, который и жестикулирует, и лицо распознает, и умный дом крути...
"Швейцарская таблица" - это продвинутый движок для хэш-таблиц, который сейчас используется в новых версиях Go. Идея в том, чтобы отойти от примитивного линейного поиска, когда при коллизии мы просто тыкаемся в следующую ячейку, и использовать хитрую последоват...
Статья от ребят из Coroot. Эти ребята знают толк в профилировании и вьювабилити. Тут они рассказывают, как вместо подключения pprof к Go-сервисам, чтобы посмотреть, что там с памятью, начали использовать встроенные возможности рантайма. Go сам постоянно соб...
Я очень люблю Taskfile и в своих петпроектах не пользуюсь Makefile. Это реально супер удобная замена уродского Makefile, но у старичка есть преймущество - он make есть везде. Но! Теперь для CI стало значительно удобнее использовать Taskfile через go tool t...
На протяжении долгого времени в Go выбор библиотеки логирования был выбором между Logrus, zap, zerolog и несколькими другими, каждая из которых предлагала свой собственный интерфейс, идиомы и представления о том, как должно работать структурированное логирован...
Статья толково объясняет, как работают контейнеры изнутри. Автор на пальцах рассказывает, что Docker - это не магия, а просто удобная обертка над стандартными механизмами Linux: namespaces, чтобы процесс видел только свое "личное пространство" и cgroups, ч...
Ребята из DoltHub решили наконец-то задуматься о покрытии кода тестами в своем проекте на Go, хотя до этого восемь лет жили без этого и норм. В Go с версии 1.20 появилась возможность собирать данные о покрытии не только для юнит-тестов, но и для интеграцио...
Ребята из GitHub рассказали как они используют eBPF. С помощью eBPF они перехватываем DNS-запросы, перенаправляют их через специальные DNS-прокси, выявляют обращения к проблемным доменам и даже определяем конкретный процесс или команду, вызвавшую определнны...
В многослойном Go-сервисе легко случайно пропустить наверх ошибки хранения данных (например, sql.ErrNoRows) вплоть до самых обработчика HTTP или gRPC и это приводит к связыванию транспортного уровня с деталями реализации базы данных. Чтоб такого не случалос...
Да да, банально, но всегда интересно смотреть кто как реализует разные паттерны Автор объясняет, как паттерн "репозиторий" помогает отделить бизнес-логику от деталей реализации хранения данных, что делает код более тестируемым, масштабируемым и гибким. Суть...
Статья объясняет, как использовать битовые флаги и битовые маски в Go для эффективной конфигурации вместо множества булевых полей в структурах. Автор показывает идиоматический паттерн с iota для генерации степеней двойки (1, 2, 4, 8…), демонстрирует основные б...
В статье подробно объясняется, как работает технология Wake-on-LAN, которая позволяет удаленно включать компьютер по сети. Автор разбирает структуру "волшебного пакета" (Magic Packet), который состоит из синхронизационной последовательности шести байт FF и...
Вдохновившись механизмом trace.FlightRecorder, появившимся в Go 1.25, автор решил применить ту же концепцию "черного ящика" к логам: хранить последние N записей в кольцевом буфере без аллокаций на горячем пути, снэпшот по требованию и асинхронный сброс при оши...
В статье автор делится опытом разбора инцидента, где отсутствие информации о версиях приложения привело к многократной задержке устранения проблемы. Он утверждает, что в отличие от бытовой техники с детальной маркировкой версий, в разработке ПО стандарты в...