Публикации за 2023 год
10 материаловТаймер systemd: расписание отдельно от команды
Настраиваем ежедневную задачу через service и timer, проверяем расписание и поведение пропущенных запусков.
MySQLmysqldump: копия считается полезной после пробного восстановления
Создаём логическую копию MySQL, восстанавливаем её в отдельную базу и разбираем ограничения single-transaction.
PostgreSQLЗапрос завис: ищем блокирующую транзакцию в PostgreSQL
Находим блокирующие сеансы PostgreSQL, ограничиваем ожидание и ищем причину долгой транзакции.
JavaScriptОшибки async-функции: где действительно работает try/catch
Где поставить await, как обработать отказ Fetch и вернуть кнопку в рабочее состояние после ошибки.
MySQLROLLBACK в MySQL: граница транзакции важнее соседних строк кода
Проверяем откат изменений InnoDB и разбираем, почему команды DDL могут нарушить ожидаемые границы транзакции.
PHPPHP-FPM под нагрузкой: очередь запросов и занятые процессы
Как читать страницу состояния PHP-FPM и понять, почему запросы стоят в очереди.
JavaScriptПоиск без гонки запросов: Fetch и AbortController
Как отменить прошлый поисковый запрос и не дать запоздавшему ответу заменить свежие результаты.
PHPПароль в PHP: хеширование и проверка как отдельные операции
Сохраняем пароль через password_hash, проверяем через password_verify и учитываем ограничения выбранного алгоритма.
PostgreSQLRepeatable Read: согласованный снимок для нескольких запросов
Сравниваем Read Committed и Repeatable Read на отчёте, который выполняет несколько запросов.
LinuxРезервная копия tar: проверяем восстановление, а не наличие архива
Делаем файловую копию через tar и проверяем её распаковкой в отдельный каталог.
