Все публикации
93 материалаПароль в PHP: хеширование и проверка как отдельные операции
Сохраняем пароль через password_hash, проверяем через password_verify и учитываем ограничения выбранного алгоритма.
PostgreSQLRepeatable Read: согласованный снимок для нескольких запросов
Сравниваем Read Committed и Repeatable Read на отчёте, который выполняет несколько запросов.
LinuxРезервная копия tar: проверяем восстановление, а не наличие архива
Делаем файловую копию через tar и проверяем её распаковкой в отдельный каталог.
ProjectDBProjectDB: от установки runtime к первому приложению
Устанавливаем среду ProjectDB, подготавливаем подключение к PostgreSQL и запускаем первое приложение.
PostgreSQLРезервная копия PostgreSQL: проверяем восстановление, а не размер файла
Создаём дамп PostgreSQL и пробуем восстановить его в отдельную базу, включая необходимые для приложения проверки.
PostgreSQLCHECK и NOT NULL: два разных обещания таблицы
Почему CHECK (price > 0) допускает NULL и как вместе с NOT NULL задать обязательную положительную цену.
JavaScriptДелегирование событий: одна подписка для списка кнопок
Обрабатываем клики динамического списка через общий контейнер и closest, не назначая обработчик каждой кнопке.
LinuxКто слушает порт: диагностика TCP с помощью ss
Как через ss найти слушающий TCP-порт, увидеть адрес привязки и отделить проблему процесса от сетевого доступа.
PHPOPcache и выкладка PHP: почему после релиза виден старый код
Что проверить в OPcache, если файлы PHP обновлены, а веб-приложение продолжает выполнять прежний код.
MySQLМедленные запросы MySQL: собираем журнал для расследования
Включаем slow query log MySQL на время наблюдения и учитываем настройки уже открытых соединений.
