
Логирование в Node.js: console.log, Winston или Pino
console.log отъедает CPU под нагрузкой и не даёт структуры для поиска. Разбираем, чем платят Winston, Pino и Bunyan, и когда какой выбрать.

console.log отъедает CPU под нагрузкой и не даёт структуры для поиска. Разбираем, чем платят Winston, Pino и Bunyan, и когда какой выбрать.

In-memory кеш в одном процессе Node.js держался до 40 rps, а на четырёх воркерах кластера начал отдавать устаревшие данные. Разбираем, почему так вышло и чем платить за каждое решение.

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

Что проверить в слое валидации 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-стеке. Разбираем, чем вы платите за каждый и когда миграция окупается.