
Очереди на PHP: чек-лист перед выкатом в продакшен
Воркер молча падает, задачи дублируются после деплоя, а Redis пухнет на глазах. Разбираем, что проверить в очередях на PHP до того, как это случится на проде.

Воркер молча падает, задачи дублируются после деплоя, а Redis пухнет на глазах. Разбираем, что проверить в очередях на PHP до того, как это случится на проде.

Отправка письма на 800 мс блокирует HTTP-ответ, пользователь ждёт. Разбираем, чем гонять задачи в фоне на PHP: от crontab до RabbitMQ, и во что каждый вариант обходится.

Перед тем как выпускать в прод C++-библиотеку, вызываемую из Python или Go, стоит пройти по списку граблей: GIL, владение памятью, обработка исключений и cgo-накладные расходы. Разбираем, что проверить.

Отправка письма прямо в обработчике HTTP-запроса — самая частая причина медленных ответов. Разбираем, как вынести долгие задачи в фон и не наступить на классические грабли: потерянные джобы, зомби-воркеры, дубликаты.

Тесты, которые зелёные всегда, тесты, которые падают через раз, и тесты, которые ловят вас на рефакторинге. Разбираем частые ошибки в PHPUnit и показываем, как их переписать.

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

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

filter_var, встроенные проверки фреймворка, отдельная библиотека или регулярки — у каждого способа своя цена. Разбираем, где что использовать и на чём чаще всего обжигаются.

filter_var, htmlspecialchars и подготовленные запросы решают разные задачи, и путаница между ними даёт то дыры в безопасности, то потерянные данные. Разбираем, где чему место.

filter_var, приведение типов и параметризованные запросы — как проверять данные в PHP 8.x так, чтобы форма не пропускала мусор, а база не ловила инъекции.

Открыли файл, записали, забыли проверить ошибку — и в проде получили молча потерянные данные. Разбираем, что проверить в работе с fstream перед релизом.

Два способа работать с базой в PHP делают одно и то же по-разному. Разбираем, где mysqli выигрывает пару процентов, а PDO экономит недели при смене СУБД и защищает от инъекций.