Forwarded from Сохранёнки программиста
Чек-лист по Node.js для новичков: обработка ошибок
Ошибки в коде неизбежны, но в Node.js их неправильная обработка может привести к серьёзным последствиям: утечки данных, падение приложения или даже зависание сервера. Поэтому умение правильно работать с ошибками — это не просто полезный, а необходимый навык для каждого разработчика.
В этой статье подробно разбираем основные виды ошибок, способы их обработки и самые частые ошибки новичков. Всё на примерах и без лишней теории.
#шпаргалка #nodejs #советы #ru
Ошибки в коде неизбежны, но в Node.js их неправильная обработка может привести к серьёзным последствиям: утечки данных, падение приложения или даже зависание сервера. Поэтому умение правильно работать с ошибками — это не просто полезный, а необходимый навык для каждого разработчика.
В этой статье подробно разбираем основные виды ошибок, способы их обработки и самые частые ошибки новичков. Всё на примерах и без лишней теории.
#шпаргалка #nodejs #советы #ru
👍11❤1🔥1
Современный способ разработки серверов на JS
Ели вы когда-нибудь заходили на главную страницу Node, то наверняка видели этот кусок кода с картинки. Это самый простой веб-сервер, с которого сегодня начинается почти каждый сервер, написанный на JS. Да, это всё может быть прикрыто фреймворком, но по сути, все такие сервера делают примерно одно и то же.
Но сегодня существует более современный способ создания сервера, которому не нужно привязываться к сокету. О нём в этой статье.
#nodejs #javascript #бэкенд
Ели вы когда-нибудь заходили на главную страницу Node, то наверняка видели этот кусок кода с картинки. Это самый простой веб-сервер, с которого сегодня начинается почти каждый сервер, написанный на JS. Да, это всё может быть прикрыто фреймворком, но по сути, все такие сервера делают примерно одно и то же.
Но сегодня существует более современный способ создания сервера, которому не нужно привязываться к сокету. О нём в этой статье.
#nodejs #javascript #бэкенд
👍7
Как устроен Node.js изнутри
Node.js — интересный инструмент для веб-разработчиков. В этой статье мы узнаем, из чего состоит Node.js, разберёмся, как внутренние компоненты Node.js взаимодействуют друг с другом, и изучим репозиторий проекта Node.js на GitHub.
https://www.smashingmagazine.com/2020/04/nodejs-internals/
#бэкенд #nodejs
Node.js — интересный инструмент для веб-разработчиков. В этой статье мы узнаем, из чего состоит Node.js, разберёмся, как внутренние компоненты Node.js взаимодействуют друг с другом, и изучим репозиторий проекта Node.js на GitHub.
https://www.smashingmagazine.com/2020/04/nodejs-internals/
#бэкенд #nodejs
❤5👍3
Media is too big
VIEW IN TELEGRAM
Создаём полноценное приложение для книжного магазина с React, Node и MongoDB
Большой видеокурс по созданию фуллстэк приложения книжного магазина. Вы сможете освоить ключевые технологии для разработки сложных больших проектов, а также поймёте, как они взаимодействуют между собой.
Видео на английском, но в браузере можно посмотреть с субтитрами или нейропереводом, для этого ловите ссылку: https://youtu.be/pgw2KPfgK1E
#видео #курс #фуллстэк #react #nodejs
Большой видеокурс по созданию фуллстэк приложения книжного магазина. Вы сможете освоить ключевые технологии для разработки сложных больших проектов, а также поймёте, как они взаимодействуют между собой.
Видео на английском, но в браузере можно посмотреть с субтитрами или нейропереводом, для этого ловите ссылку: https://youtu.be/pgw2KPfgK1E
#видео #курс #фуллстэк #react #nodejs
👍11
Полное визуальное руководство по пониманию цикла событий Node.js
Node.js устроен не так просто, как кажется. Промисы, таймеры, очередь задач... В какой момент всё это вообще исполняется?
Эта наглядная статья — как экскурсия по закулисью: вы увидите, как работает event loop, в каком порядке выполняются колбэки и почему иногда
#nodejs
Node.js устроен не так просто, как кажется. Промисы, таймеры, очередь задач... В какой момент всё это вообще исполняется?
Эта наглядная статья — как экскурсия по закулисью: вы увидите, как работает event loop, в каком порядке выполняются колбэки и почему иногда
setTimeout с 0 мс ждёт дольше, чем ожидалось. Визуально, чётко и с примерами. Если вы хотите разобраться в цикле событий раз и навсегда — must read.#nodejs
👍1
Bun – быстрый JS-рантайм, который заменит Node.js?
Познакомьтесь с Bun — движком выполнения JavaScript, который набирает популярность благодаря своей скорости. Он совмещает в одном инструменте сервер, менеджер пакетов и сборщик, работая значительно быстрее привычного Node.js-стека.
В статье рассказывается, зачем появился Bun, какие проблемы он решает и как начать его использовать. Статья не новая, но очень хорошая для первого знакомства.
Как считаете, вытеснит ли Bun привычный Node.js? Пробовали уже в своих проекте?
#javascript@tproger_web #nodejs@tproger_web #bun@tproger_web
Познакомьтесь с Bun — движком выполнения JavaScript, который набирает популярность благодаря своей скорости. Он совмещает в одном инструменте сервер, менеджер пакетов и сборщик, работая значительно быстрее привычного Node.js-стека.
В статье рассказывается, зачем появился Bun, какие проблемы он решает и как начать его использовать. Статья не новая, но очень хорошая для первого знакомства.
Как считаете, вытеснит ли Bun привычный Node.js? Пробовали уже в своих проекте?
#javascript@tproger_web #nodejs@tproger_web #bun@tproger_web
❤2
Как Node.js обрабатывает сотни тысяч запросов в одном потоке
Пошаговый разбор циклов событий, фаз timers → pending → poll → check → close и роли libuv. Вы узнаёте, кто будит коллбэки, почему промисы и таймеры попадают в разные очереди и как Node удерживает высокую производительность, оставаясь однопоточным.
#бэкенд #nodejs
Пошаговый разбор циклов событий, фаз timers → pending → poll → check → close и роли libuv. Вы узнаёте, кто будит коллбэки, почему промисы и таймеры попадают в разные очереди и как Node удерживает высокую производительность, оставаясь однопоточным.
#бэкенд #nodejs
❤6🔥4👍3
Репозиторий, в котором собраны лучшие практики по тестированию JavaScript и Node.js приложений
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование #лучшиепрактики
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование #лучшиепрактики
👍6🔥2❤1
Forwarded from Типичный бэкенд
Почему ваше приложение тормозит: архитектурные bottlenecks, которые никто не замечает
Как найти и устранить архитектурные bottleneck'и: причины тормозов, типовые ошибки и пошаговая методика диагностики.
— Читать дальше «Почему ваше приложение тормозит: архитектурные bottlenecks, которые никто не замечает»
#nodejs
@backend_tproger | Другие наши каналы
Как найти и устранить архитектурные bottleneck'и: причины тормозов, типовые ошибки и пошаговая методика диагностики.
— Читать дальше «Почему ваше приложение тормозит: архитектурные bottlenecks, которые никто не замечает»
#nodejs
@backend_tproger | Другие наши каналы
❤1👍1🔥1
Паттерны современного Node.js
Node.js претерпел впечатляющее преобразование с момента своего появления. Если вы пишете на Node.js уже несколько лет, то, вероятно, сами наблюдали эту эволюцию - от эпохи колбэков и повсеместного использования CommonJS до современного, чистого и стандартизированного подхода к разработке.
Изменения затронули не только внешний вид — это фундаментальный сдвиг в самом подходе к серверной разработке на JavaScript. Давайте разберёмся, в чём заключаются эти изменения и почему они важны для ваших приложений в 2025 году.
Подробности в статье.
#nodejs
Node.js претерпел впечатляющее преобразование с момента своего появления. Если вы пишете на Node.js уже несколько лет, то, вероятно, сами наблюдали эту эволюцию - от эпохи колбэков и повсеместного использования CommonJS до современного, чистого и стандартизированного подхода к разработке.
Изменения затронули не только внешний вид — это фундаментальный сдвиг в самом подходе к серверной разработке на JavaScript. Давайте разберёмся, в чём заключаются эти изменения и почему они важны для ваших приложений в 2025 году.
Подробности в статье.
#nodejs
👍7🔥1
Как устроен Node.js изнутри
Node.js — интересный инструмент для веб-разработчиков. В этой статье мы узнаем, из чего состоит Node.js, разберёмся, как внутренние компоненты Node.js взаимодействуют друг с другом, и изучим репозиторий проекта Node.js на GitHub.
https://www.smashingmagazine.com/2020/04/nodejs-internals/
#бэкенд #nodejs
Node.js — интересный инструмент для веб-разработчиков. В этой статье мы узнаем, из чего состоит Node.js, разберёмся, как внутренние компоненты Node.js взаимодействуют друг с другом, и изучим репозиторий проекта Node.js на GitHub.
https://www.smashingmagazine.com/2020/04/nodejs-internals/
#бэкенд #nodejs
🔥2
Современный способ разработки серверов на JS
Ели вы когда-нибудь заходили на главную страницу Node, то наверняка видели этот кусок кода с картинки. Это самый простой веб-сервер, с которого сегодня начинается почти каждый сервер, написанный на JS. Да, это всё может быть прикрыто фреймворком, но по сути, все такие сервера делают примерно одно и то же.
Но сегодня существует более современный способ создания сервера, которому не нужно привязываться к сокету. О нём в этой статье.
#nodejs #javascript #бэкенд
Ели вы когда-нибудь заходили на главную страницу Node, то наверняка видели этот кусок кода с картинки. Это самый простой веб-сервер, с которого сегодня начинается почти каждый сервер, написанный на JS. Да, это всё может быть прикрыто фреймворком, но по сути, все такие сервера делают примерно одно и то же.
Но сегодня существует более современный способ создания сервера, которому не нужно привязываться к сокету. О нём в этой статье.
#nodejs #javascript #бэкенд
👍7🗿4❤1
Node.js фреймворки, или Туда и обратно
Нашёл годный доклад Андрея Мелихова о Node.js фреймворках, который не теряет своей полезности.
В этом видео он порассуждал на эту тему. Посмотрите, будет полезно.
#доклад #nodejs
Нашёл годный доклад Андрея Мелихова о Node.js фреймворках, который не теряет своей полезности.
За годы разработок enterprise-приложений на Node.js я использовал Express, Nest.js и AWS-лямбды. У каждого подхода есть свои плюсы и минусы, и все они остаются актуальными, но ни одно из этих решений не стало золотым стандартом, и каждый раз, стартуя разработку нового приложения, мы сталкиваемся с выбором — на чём же нам писать. Пора ли забыть навсегда Express? Так ли хорош Nest.js, как рекламирует его автор, и не пора ли уйти на FaaS-решения?
В этом видео он порассуждал на эту тему. Посмотрите, будет полезно.
#доклад #nodejs
👍1🔥1
Как мигрировать на Node.js 22 без рисков: инструкция
Node.js 18 больше не получает обновлений безопасности, а поддержка 20-й версии закончится в апреле 2026 года. Наиболее стабильной LTS-версией стала Node.js 22 — вокруг неё уже сформировалась зрелая экосистема, а крупные команды успели протестировать релиз в продакшене.
В статье автор разобрался, что думают разработчики о платформе, какие подводные камни вас ждут при миграции и как безопасно совершить переход.
#nodejs
Node.js 18 больше не получает обновлений безопасности, а поддержка 20-й версии закончится в апреле 2026 года. Наиболее стабильной LTS-версией стала Node.js 22 — вокруг неё уже сформировалась зрелая экосистема, а крупные команды успели протестировать релиз в продакшене.
В статье автор разобрался, что думают разработчики о платформе, какие подводные камни вас ждут при миграции и как безопасно совершить переход.
#nodejs
👍4❤1
Тесты производительности Node.js с 16-й по 25-ю версию
Node.js с 16-й версии до 25-й заметно ускорился. Но в чём именно? Авторы этого разбора протестировали Express-сервер и базовые операции на Apple M4 (macOS, arm64), чтобы показать эволюцию производительности. Тесты повторяли 5 раз, брали медиану, версии от 16.0.0 до 25.3.0 — и LTS, и не-LTS.
Они проверили типичные сценарии: HTTP GET (req/s на localhost с keep-alive и 32 соединениями), JSON.parse/stringify, SHA-256 хэш, копирование буфера 64 КБ, array map+reduce, конкатенация строк, integer-циклы с арифметикой (плюс вариант с Math.random() для реализма).
Выводы получились интересные: прогресс стабильный, но Node 25 вырвался вперёд (что логично), особенно в циклах и вычислениях — до +50% в integer loop. Если у вас есть исследовательский интерес, то рекомендую ознакомиться с деталями на сайте.
#nodejs
Node.js с 16-й версии до 25-й заметно ускорился. Но в чём именно? Авторы этого разбора протестировали Express-сервер и базовые операции на Apple M4 (macOS, arm64), чтобы показать эволюцию производительности. Тесты повторяли 5 раз, брали медиану, версии от 16.0.0 до 25.3.0 — и LTS, и не-LTS.
Они проверили типичные сценарии: HTTP GET (req/s на localhost с keep-alive и 32 соединениями), JSON.parse/stringify, SHA-256 хэш, копирование буфера 64 КБ, array map+reduce, конкатенация строк, integer-циклы с арифметикой (плюс вариант с Math.random() для реализма).
Выводы получились интересные: прогресс стабильный, но Node 25 вырвался вперёд (что логично), особенно в циклах и вычислениях — до +50% в integer loop. Если у вас есть исследовательский интерес, то рекомендую ознакомиться с деталями на сайте.
#nodejs
😁5🔥3❤1🤣1
Репозиторий, в котором собраны лучшие практики по тестированию JavaScript и Node.js приложений
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование
@tproger_web
Читайте также в VK и Max
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование
@tproger_web
Читайте также в VK и Max
🔥7👍1👎1
Паттерны современного Node.js
Node.js за годы сильно изменился: от эпохи колбэков и повсеместного CommonJS до современного, чистого и стандартизированного подхода. Если вы пишете на нём уже несколько лет, вы сами видели, как код стал проще, структурированнее и ближе к веб‑стандартам.
Это не только косметические изменения: это фундаментальный сдвиг в подходе к серверной разработке на JavaScript. Современный Node.js меньше полагается на внешние библиотеки, упрощает архитектуру и делает разработку понятнее и приятнее. Давайте разберёмся, в чём суть этих изменений и почему они важны для ваших приложений в 2025 году. Переходите по ссылке: https://habr.com/ru/articles/933702/
#nodejs
@tproger_web
Читайте также в VK и Max
Node.js за годы сильно изменился: от эпохи колбэков и повсеместного CommonJS до современного, чистого и стандартизированного подхода. Если вы пишете на нём уже несколько лет, вы сами видели, как код стал проще, структурированнее и ближе к веб‑стандартам.
Это не только косметические изменения: это фундаментальный сдвиг в подходе к серверной разработке на JavaScript. Современный Node.js меньше полагается на внешние библиотеки, упрощает архитектуру и делает разработку понятнее и приятнее. Давайте разберёмся, в чём суть этих изменений и почему они важны для ваших приложений в 2025 году. Переходите по ссылке: https://habr.com/ru/articles/933702/
#nodejs
@tproger_web
Читайте также в VK и Max
❤2👍1
В Node.js 26.6.0 распилили crypto на три бэкенда и переписали потоки на ring buffers
Релиз от 3 августа выглядит как минорный, но внутри две структурные вещи.
Первая — модуль crypto больше не монолит. Его разделили на три независимых бэкенда: OpenSSL 3.x, BoringSSL из Chromium и legacy-слой OpenSSL. До этого любая оптимизация под конкретную платформу упиралась в общий код, который нельзя трогать, не задев остальных. Теперь ветки развиваются отдельно. Заодно приехали фиксы вокруг ключей: сохранение DER для публичных ключей RSA-PSS, очистка памяти из-под приватных ключей и корректная обработка неполных приватных ключей.
Вторая — потоки. Их переложили на ring buffers и сократили количество аллокаций. Это тот случай, когда выигрыш не виден в бенчмарке «hello world», но заметен на прокси, стриминге и всём, что весь день гоняет данные через pipe.
Что делать. Если вы на 22.x или 24.x — не спешите: в конце июля вышли security-релизы для всех трёх линий, накатите их. А вот замерить свои горячие пути на 26.x уже стоит: ветка в Current с мая, поддержка до 30 апреля 2029, и именно туда уедут все дальнейшие оптимизации крипты. Если ваш сервис упирается в TLS-хендшейки или в стримы — это первый за долгое время релиз, где прирост можно получить, ничего не переписывая.
https://nodejs.org/en/blog/vulnerability/july-2026-security-releases
#nodejs #новости
Релиз от 3 августа выглядит как минорный, но внутри две структурные вещи.
Первая — модуль crypto больше не монолит. Его разделили на три независимых бэкенда: OpenSSL 3.x, BoringSSL из Chromium и legacy-слой OpenSSL. До этого любая оптимизация под конкретную платформу упиралась в общий код, который нельзя трогать, не задев остальных. Теперь ветки развиваются отдельно. Заодно приехали фиксы вокруг ключей: сохранение DER для публичных ключей RSA-PSS, очистка памяти из-под приватных ключей и корректная обработка неполных приватных ключей.
Вторая — потоки. Их переложили на ring buffers и сократили количество аллокаций. Это тот случай, когда выигрыш не виден в бенчмарке «hello world», но заметен на прокси, стриминге и всём, что весь день гоняет данные через pipe.
Что делать. Если вы на 22.x или 24.x — не спешите: в конце июля вышли security-релизы для всех трёх линий, накатите их. А вот замерить свои горячие пути на 26.x уже стоит: ветка в Current с мая, поддержка до 30 апреля 2029, и именно туда уедут все дальнейшие оптимизации крипты. Если ваш сервис упирается в TLS-хендшейки или в стримы — это первый за долгое время релиз, где прирост можно получить, ничего не переписывая.
https://nodejs.org/en/blog/vulnerability/july-2026-security-releases
#nodejs #новости
nodejs.org
Node.js — Wednesday, July 29, 2026 Security Releases
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
❤4
В Node.js завезли работу с ZIP без единой зависимости
Распаковать архив в Node до сих пор означало тащить
В Node.js 26.8.0 от 26 августа в модуль
Что ещё в релизе:
—
— в
— у
—
— в REPL появилась базовая подсветка синтаксиса;
— корневые сертификаты обновлены до NSS 3.126.
26.x — текущая линейка Current; в LTS
#nodejs
Распаковать архив в Node до сих пор означало тащить
adm-zip, yauzl или jszip — за одну операцию вы получали в дерево зависимостей чужой код, который потом надо обновлять и проверять на уязвимости.В Node.js 26.8.0 от 26 августа в модуль
zlib добавили ZipEntry, ZipFile и ZipBuffer. Читать архивы и разбирать их по записям теперь можно средствами платформы.Что ещё в релизе:
—
net.BlockList заметно ускорили, а TracingChannel в diagnostics_channel объявлен стабильным;— в
Cipher и Decipher включили режимы SIV и GCM-SIV: шифрование, устойчивое к повторному использованию nonce, что чаще всего и ломает AES-GCM в чужом коде;— у
StatementSync во встроенном sqlite появились close() и поддержка Symbol.dispose, то есть подготовленный запрос можно держать в using;—
MIMEType.parse разбирает тип и возвращает null вместо исключения на мусоре;— в REPL появилась базовая подсветка синтаксиса;
— корневые сертификаты обновлены до NSS 3.126.
26.x — текущая линейка Current; в LTS
zlib с ZIP приедет позже, так что в прод пока не тащите.#nodejs
❤4👍4
pnpm 12.3.1: быстрее в монорепозиториях, нативные shim и секреты, которые больше не утекают в логи
Если у вас workspace на десятки пакетов,
Глобальные команды
#nodejs
Если у вас workspace на десятки пакетов,
pnpm install в 12.3 должен стать быстрее без настроек: lockfile читается во время обнаружения проектов, граф строится один раз вместо копирования lockfile целиком. Цифр команда не приводит, эффект тем больше, чем толще lockfile.Глобальные команды
node, deno, bun и shim из pnpm shim add стали нативными исполняемыми файлами, в Windows .exe вместо .cmd и .ps1. Именно эта миграция сломалась при self-update с 12.2, поэтому через несколько часов вышел 12.3.1; обновляйтесь сразу на него. Ещё: trust-флаги теперь и у remove с update, учётные данные из URL реестров скрываются в ошибках fetch, recursive run больше не зависает с --filter, а системный резолвер на Linux перестал молча ходить в Google Public DNS. Подробнее на сайте.#nodejs
❤1