
Валидация в Node.js: чек-лист для боевого API
Что проверить в слое валидации Node.js-приложения: границы, типы, вложенные объекты, санитизация. Разбор частых дыр и сравнение Zod, Joi и express-validator.

Что проверить в слое валидации Node.js-приложения: границы, типы, вложенные объекты, санитизация. Разбор частых дыр и сравнение Zod, Joi и express-validator.

fetch, undici, axios и got решают одну задачу по-разному. Разбираем, чем платишь за каждый подход, где утекают сокеты и почему запрос без таймаута однажды подвесит сервис.

Синхронный fs в обработчике запроса, чтение гигабайтного лога в память, гонки при записи и молчаливое проглатывание ошибок — разбираем, где именно рушится работа с файлами в Node.js и чем это лечить.

Как читать гигабайтные файлы без OutOfMemory, соединять источники через pipeline и не потерять ошибки в середине цепочки. Разбираем backpressure, объектные стримы и типичные утечки.

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

new Date('2024-03-15') и new Date('2024-03-15 00:00') дают разное время. Разбираем, почему нативные даты в JS подводят и что с этим делать в 2024 году.

new Date('2024-03-01') и new Date('2024-3-1') дают разное. Часовые пояса, парсинг, DST и мутабельность Date ломают продакшен тихо. Разбираем, что проверить до релиза.

Vite поднимает dev-сервер за долю секунды, webpack — за десятки секунд, esbuild собирает прод в разы быстрее, но не тянет legacy. Разбираем, где какой инструмент выигрывает и чем расплачивается.

Jest тащит на себе почти любой legacy-проект, Vitest выигрывает по скорости старта на Vite-стеке. Разбираем, чем вы платите за каждый и когда миграция окупается.

Валидация «на всякий случай» в контроллере, проверка после парсинга, доверие к клиенту — самые дорогие ошибки в Node-сервисах. Разбираем, где ломается защита и как выстроить границу данных правильно.

Незакрытая валидация на входе — прямой путь к 500-м, порче данных и утечкам. Разбираем, что проверить в Node-сервисе на границах системы, прежде чем выкатывать его под реальный трафик.

Четыре библиотеки валидации для Node решают одну задачу по-разному: одни выводят типы автоматически, другие быстрее на больших объёмах. Разбираем цену каждого выбора.