Базы данных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.
Читать дальше →