
Хеширование и подписи в Python: что выбрать на практике
Когда нужен hashlib, когда hmac, а когда bcrypt или Argon2 — разбираем, чем эти инструменты отличаются и где ошибаются чаще всего.

Когда нужен hashlib, когда hmac, а когда bcrypt или Argon2 — разбираем, чем эти инструменты отличаются и где ошибаются чаще всего.

Модель вернула JSON с лишним полем и строкой вместо числа — код упал в проде. Разбираем, как проверять ответ Pydantic-схемой и перезапрашивать модель с текстом ошибки, пока не получите валидную структуру.

Неиспользуемые функции, забытые ветки и импорты копятся годами. Разбираем, чем их искать в Python 3.11+, почему статический анализ ошибается и как удалять код, не роняя прод.

Какой алгоритм сжатия выбрать под задачу, чем zstd отличается от gzip на практике и какие ошибки убивают степень сжатия. Чек-лист для тех, кто уже пишет на Python 3.12.

Плотный list comprehension и цепочка тернарных операторов кажутся элегантными, пока их не приходится править через полгода. Разбираем, где однострочник экономит время, а где крадёт его у следующего читателя.

Потоковая выдача токенов кажется простой: читаешь чанки в цикле и печатаешь. На практике теряются куски JSON, зависают соединения и текут коннекты. Разбираем частые ошибки.

Один поток парсит тысячу страниц за 40 минут, потому что 99% времени ждёт ответа сервера. Разбираем, когда брать asyncio, когда потоки, а когда процессы — и чем каждый вариант платит за скорость.

Тридцать формулировок из реального code review на Python: изменяемые аргументы по умолчанию, голый except, утечки ресурсов и другие вещи, которые линтер не всегда ловит, а ревьюер видит сразу.

Три способа описать структуру данных в Python дают разную цену: изменяемость, память, скорость доступа и совместимость с кодом. Разбираем, где каждый выигрывает, а где ломается.

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

Аннотации не влияют на выполнение кода — интерпретатор их игнорирует. Разбираем, что они дают на самом деле: подсказки в IDE, документацию и работу mypy, и где начинают лгать.

Разбираем, как декоратор из синтаксического сахара превращается в рабочий инструмент: логирование, замер времени, кеш и проверка прав. С разбором того, что ломается при неаккуратной обёртке.