Найти в Дзене
15 часов назад
 • Вы подписаны

Опубликовано фото

1 день назад
 • Вы подписаны

Найти пользователей с шестью и более заказами — куда поставить условие

? 🐸 SELECT user_id, COUNT(*) AS orders_count FROM orders GROUP BY user_id HAVING COUNT(*) >= 6; WHERE фильтрует строки до группировки. HAVING фильтрует группы после неё. Поэтому условие на COUNT(*) находится в HAVING. Если нужны только оплаченные заказы, добавь условие раньше: SELECT user_id, COUNT(*) AS paid_orders FROM orders...

2 дня назад
 • Вы подписаны

Если запрос из Node.js зависает слишком долго, то ставим дедлайн

Если проект использует встроенный fetch, укажи таймаут через AbortSignal.timeout: const res = await fetch(url, { signal: AbortSignal.timeout(5000) }); Через 5 секунд сигнал отменит запрос. Ошибку всё равно нужно обработать: таймаут — ожидаемый сценарий при работе с сетью, а не повод ронять весь обработчик. try { const res = await fetch(url, { signal: AbortSignal.timeout(5000) }); if (!res.ok) throw new Error('HTTP ' + res.status); } catch (err) { console...

3 дня назад
 • Вы подписаны

Разгадка пятничного кейса

🐸 Одна из вероятных причин – в зависимости useEffect попал объект или функция, которые создаются заново на каждом рендере. Эффект делает запрос → ответ меняет state → новый рендер создаёт новую зависимость → эффект снова делает запрос. Проверка: сравнить значения зависимостей между рендерами и временно заменить составную зависимость на стабильный примитив, например status или page. Если цикл исчез, источник найден. В реальном проекте возможны и другие причины; одних 150 запросов для точного диагноза мало...

Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала