Автор статей

Логирование в Python: настройка уровней, JSON-формата, ротации и сквозного request_id
Артём Целин
Генераторы и yield в Python: как обрабатывать большие файлы без загрузки в память
Артём Целин
Dataclass в Python: default_factory, frozen, slots и границы применения
Артём Целин
Декораторы в Python: как писать обёртки с аргументами, сохранять сигнатуру и работать с async
Артём Целин
Asyncio в Python: TaskGroup, таймауты и безопасная отмена параллельных задач
Артём Целин
Pytest на практике: фикстуры, параметризация и изоляция тестов без скрытых зависимостей
Артём Целин
Что изменилось в логической репликации PostgreSQL 15–18 и почему это важно
Артём Целин
Generated Columns + JSONB: как навести порядок в гибкой схеме PostgreSQL
Артём Целин
GIN, BTREE и expression indexes для JSONB: практическое сравнение
Артём Целин
JSON vs JSONB vs обычные колонки в PostgreSQL: как выбрать модель данных
Артём Целин
Гибридный поиск в PostgreSQL: как объединить BM25 и векторный поиск
Артём Целин
Когда PostgreSQL может заменить Elasticsearch, а когда лучше выбрать специализированный поисковый движок
Артём ЦелинРезенцент статей

Как настроить autovacuum в PostgreSQL и не уронить production

PostgreSQL: полный чеклист безопасности для DBA и разработчиков

Как разобрать план запроса EXPLAIN ANALYZE - руководство разработчика

PostgreSQL в Kubernetes: 5 сценариев, когда лучше не надо

PgBouncer: пулер соединений для перегруженной базы PostgreSQL

PostgreSQL: транзакции, блокировки и миграции без аварий на проде

Автоматизация отчётов в Excel на Python в российских реалиях

Интерпретатор и компилятор в Python: чем отличаются и зачем это знать
