
golang


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

Rust проще?
Автор убеждает, что Rust проще чем Go. Сомнительно, но окэй. Автор чисто надергал несколько синтаксических конструкций и на их примере убеждает что Rust проще. Нифига, Rust это непривычная концепция в первую очередь. А Go тупой как пробка.

Anubis
Тулзовина на Go, предназначена для защиты небольших интернет ресурсов от хищных корпораций, которые парсят весь интернет своими AI агентами Anubis использует proof-of-work для подтверждения подлинности клиентов. Ребята из Anubis используют идею с Hashcash — предложение начала 2000-х годов о расширении протокола электронной почты для защиты от спама. Идея заключается в том, что настоящие пользователи, отправляющие электронные письма (точнее, их почтовые клиенты), должны будут решить небольшую математическую задачу, которая требует больших вычислительных мощностей, но легко проверяется, например, хеширование строки с заданным количеством ведущих нулей. Кстати, а можно ли такой алгоритм использовать для антифрода в рекламе?

Go на PlayStation 2
Запускаем Go на PlayStation 2. В комплекте TinyGo, C и пачка проблем которые автор решает по ходу дела

100 ошибок
Автор книги "100 ошибок в Go" рассказывает как он пришел к такой жизни и что навело его на написание книги

shuffling
Генерация случайных целых чисел - фундаментальная операция в программировании, часто используемая в таких задачах, как перетасовка массивов. Стандартная библиотека Go предоставляет удобные инструменты, такие как Shuffle. Возможно, нам удастся значительно превзойти стандартную библиотеку и сделать более производительный Shuffle

DiceDB
DiceDB — это открытая, быстрая и реактивная in-memory база данных, оптимизированная для современного железа. Основные особенности: - Часто используется как кэш - Предоставляет привычный интерфейс - Поддерживает обновления данных в реальном времени через подписки на запросы - Обеспечивает высокую пропускную способность и низкие задержки - Идеальна для современных workloads Фишка в реактивности. Можно легко пилить системы уведомлений, напрмиер

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

gRPC in Go
Виктория метрикс продолжают постить статьи про gRPC. У них классный цикл статей, рекомендую почитать. В этой статье больше про стриминг и метаданные. Еще рассказывают про интерсепторы(перехватчики) с помощью которых легко расширять функциональность gRPC. Интерцепторы позволяют встраиваться в процесс выполнения RPC-вызовов, давая возможность изменять или проверять запросы и ответы до того, как они попадут в основную логику сервиса. Это делает их идеальными для: аутентификации, логирования, мониторинга, ограничения запросов (rate limiting), обработки ошибок. И всё это без изменения основной реализации.

Утечка
Приключение по поиску и отладке проблем. Когда они всё же происходят, то, как правило, являются результатом непреднамеренного сохранения ссылок в глобальном срезе или, что чаще, утечек горутин. Утечки горутин происходят, когда система порождает горутины, которые зависают, не завершаясь, потребляя память как напрямую через выделение горутин, так и косвенно через сохранение ссылок на объекты, выделенные в куче.

Рефакторинг
Узнайте о рефакторинге в Go и о том, как мыслить, чтобы писать более чистый и эффективный код.

Pool
Когда речь заходит об оптимизации производительности в Go, sync.Pool часто кажется заманчивым решением. Этот механизм обещает сократить выделение памяти и нагрузку на сборщик мусора за счёт повторного использования объектов. Но всегда ли это правильный выбор? Давайте подробно разберём эту интересную тему.

SuperMassive как твоя мамка
Это масштабируемая, распределённая, сегментируемая, отказоустойчивая, самовосстанавливающаяся, приносящая кофе и делающая бутики база данных KV Предполагается, что она резиновая и достаточно просто накидывать нода для масштабирования