Новости

Post Thumbnail

PostgreSQL с Patroni

В статье про создание высокодоступного кластера PostgreSQL с Patroni. Автор Шон Томас в этой части рассказывает про добавлении слоя маршрутизации с помощью HAProxy. После настройки etcd в качестве распределенного хранилища состояний в первой части и устано...

Post Thumbnail

Мышь для хранения

Почему бы не использовать мышь как хранилище информации? Идея простая и гениальная. Автор экспериментировал с идеей использования памяти беспроводной мыши Logitech MX Vertical для хранения данных, путешествующих между компьютерами. Изучив протокол HID и нап...

Post Thumbnail

pprof

Как заявляется, это полное руководство по использованию pprof. Ну не совсем полное, но в закладки добавить стоит Автор подробно описывает пять основных типов профилей - CPU, память, горутины, блокировки и мьютексы. Объясняет, какие проблемы каждый из них по...

Post Thumbnail

Генерация карты из гекс

Казалось бы тривиальная задача - генерация карты из гекс, для какой-нибудь игры. А вот фиг там В статье автор рассказывает о создании процедурного генератора карт средневековых островов на основе 4100 гексагональных тайлов с использованием алгоритма Wave Fu...

Post Thumbnail

Физика для Bevy

Вышла новая версия физического движка Avian Physics для игрового фреймворка Bevy. Ключевое нововведения - это реализацию алгоритма move-and-slide для создания кинематических контроллеров персонажа и значительная оптимизация производительности за счёт испол...

Post Thumbnail

Go и Wails

Алекс Плютау рассказывает о создании десктопного приложения для двухфакторной аутентификации на Go с использованием фреймворка Wails. Автор подробно объясняет принцип работы Time-based One-Time Password, включая генерацию секрета, использование HMAC-SHA1 и дин...

Post Thumbnail

Уровни работы с AI

В статье интересная классификация уровней работы с AI для разработки. От простой автоподстановки и вопросов в чатике до самоорганизующихся команд агентов. Хочу больше стандартизации в работе с агентами А на каком этапе находишься ты?

Post Thumbnail

Условная реализация

В Rust существует возможность условно реализовывать методы и трейты для обобщенных типов - такие реализации существуют только если параметры типа удовлетворяют определенным требованиям, например, реализуют трейт Clone. Это широко используется в стандартной биб...

Post Thumbnail

Go Source Code

Это интерактивный практикум, где вы научитесь модифицировать и экспериментировать с исходным кодом языка программирования Go. Такой себе практический семинар, который поможет вам разобраться в устройстве компилятора и среды выполнения Go, научит собирать их и ...

Post Thumbnail

Визуализация наше все

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

Post Thumbnail

etcd как пример

Нет ничего лучше хорошего и наглядного примера. Особенно в разработке Автор делится опытом использования кодовой базы etcd в качестве практического примера для изучения организации gRPC-сервисов на Go. Вместо сложных проектов вроде Kubernetes или Docker, et...

Post Thumbnail

Google File System

В статье автор рассказывает о своей реализации распределенной файловой системы Google File System на языке Go, уместившейся в один файл без внешних зависимостей. Он воссоздает ключевые концепты легендарной системы, описанные в одноименной статье 2003 года, реа...

Post Thumbnail

Интернет мертв

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

Post Thumbnail

Comptime

В Zig есть механизм comptime, который позволяет выполнять код во время компиляции, фактически создавая два языка в одном: статически типизированный рантайм-язык и динамически типизированный язык для этапа компиляции. В отличие от Rust или C++, где для метап...

Post Thumbnail

Singapore 2025

Я тут вам видосы собрал на выходных посмотреть. Конференция GopherCon Singapore 2025. Там, конечно, много всего про AI, но и нормальный доклады тоже есть. Кста, там есть доклад от старого доброго Дейва Чейни

Post Thumbnail

quadtree

Это интерактивное введение в структуру данных "quadtree" (четвертичное дерево). Тут объясняется, почему оно используется в картах Uber. Автор наглядно показывает, как наивный подход к поиску ближайших объектов, например, перебор всех точек, становится край...

Post Thumbnail

HKT

В статье автор экспериментирует с эмуляцией высших типов (HKTs) в Rust через обобщенные ассоциированные типы (GATs), пытаясь абстрагировать обертки для AST. Оказывается, в Rust это не так просто сделать. Решение в лоб приводит к рекурсивному определению типа, ...

Post Thumbnail

Wrap

Конечно, обертывание упрощает жизнь и рещает множество проблем с дебагом. С обертыванием значительно проще понять откуда всплыла ошибка Но подход с тотальным обертыванием имеет и обратную сторону: сообщения могут превращаться в громоздкие цепочки, а использ...

Post Thumbnail

Реактивность

Рассмотрим три подхода к построению реактивных систем. Push-реактивность, при которой обновления распространяются от источника к зависимым узлам. Pull-реактивность, работающая по принципу перерасчета значений при обращении к ним. И гибридный push-pull подход, ...

Post Thumbnail

Airtable и Rust

Команда Airtable переписала ядро своей проприетарной базы данных с TypeScript на Rust, чтобы справиться с возросшими нагрузками. Исходная TypeScript-версия упиралась в ограничения многопоточности и управления памятью. Новый движок на Rust позволил вынести ...

Post Thumbnail

Конкатенация

В статье автор сравнил производительность 15 различных методов конкатенации строк в Go, разделенных на два сценария: с фиксированным и переменным количеством аргументов. Автор провел кучу бенчмарков, сравнивающих операторы + и +=, функции fmt.Sprintf, fm...