Заметки о разработке

Личный блог о бэкенде, распределённых системах и инструментах инженера. Пишу о том, с чем сталкиваюсь в реальных проектах — без воды и маркетинга.

GoRustPostgreSQL KubernetesObservabilityLinux

Свежие публикации

Базы данных18 июня 202611 мин

Почему ваш индекс в PostgreSQL не используется

Разбираем планировщик запросов на конкретных примерах: статистика, селективность, bitmap scan против index scan и когда seq scan — это нормально. Учимся читать EXPLAIN ANALYZE и не верить интуиции.

Читать дальше →
Go9 июня 20267 мин

Контекст в Go: отмена, которую все делают неправильно

context.Context — это не про передачу значений. Разбираем дедлайны, утечки горутин и почему context.Background() в библиотеке — красный флаг.

Читать дальше →
Инфраструктура2 июня 20269 мин

BBR и TCP-буферы: как мы ускорили отдачу на 40%

История одной оптимизации сетевого стека: congestion control, sysctl-тюнинг и реальные графики p99 latency до и после.

Читать дальше →
Rust24 мая 202613 мин

Borrow checker не враг: рефакторим парсер на Rust

Берём наивный парсер, который не компилируется, и шаг за шагом приводим его в порядок. Lifetimes, Cow и zero-copy без боли.

Читать дальше →
DevOps15 мая 20266 мин

Минимальный Docker-образ: от 900 МБ до 12 МБ

Multi-stage сборки, distroless, статическая линковка и scratch. Почему alpine — не всегда лучший выбор.

Читать дальше →
Наблюдаемость3 мая 202610 мин

Структурированные логи: перестаём grep-ать по строкам

Переход на structured logging, корреляция через trace_id и почему уровень DEBUG в проде — это нормально, если он сэмплируется. Практика с OpenTelemetry.

Читать дальше →