Node JS
2.09K subscribers
164 photos
66 videos
17 files
226 links
Подборки по Node js и все что с ним связано. По всем вопросам @evgenycarter
Download Telegram
Многопоточность с использованием рабочих потоков в Node.js

Прелесть Node заключается в том, что, хотя основной цикл событий выполняется в одном потоке, некоторые трудоемкие задачи автоматически выгружаются в отдельный рабочий пул. К ним относятся DNS и файловая система (за исключением fs.FSWatcher()), а также криптографический и Zlib API, требующие большого количества операций ввода-вывода. Все они имеют синхронный вариант, который будет блокировать основной поток.

https://blog.appsignal.com/2023/07/05/multithreading-with-worker-threads-in-nodejs.html

✍️ @nodejs_lib
👍3
Бекпорт на примере Node.js v22 и Windows 7

Что делать если надо запустить современный софт в устаревшем окружении? Рассказываем о процессе «портирования назад» последней версии Node.js на Windows7.

https://habr.com/ru/articles/822817/

✍️ @nodejs_lib
👍2
Создание ленты активности GitHub с помощью Node.js и Socket.io

В этой статье мы расскажем о том, как создать ленту активности непосредственно в вашем продукте с помощью Node.js и Socket.io.

Допустим, мы создаем B2B SaaS-приложение для разработчиков, и оно должно показывать ленту активности, происходящую в GitHub-репозитории их организации. Любые коммиты, добавленные в репозиторий, должны отображаться в приложении в режиме реального времени. Именно это мы и создадим в этом посте. Готовый проект можно найти на GitHub.

https://knock.app/blog/building-a-github-activity-feed-with-nodejs-and-socket-io

✍️ @nodejs_lib
👍1🗿1
Understanding Offset and Cursor-Based Pagination in Node.js

Pagination means dividing a big chunk of data into smaller pages. It unlocks performance benefits for the backend, while also improving UX by sending manageable pieces of data to a client.

In this article, we'll explore offset-based and cursor-based server-side pagination approaches, compare them, and implement cursor-based pagination in Node.js.

https://blog.appsignal.com/2024/05/15/understanding-offset-and-cursor-based-pagination-in-nodejs.html

✍️ @nodejs_lib
👍2
Hot Hook

Hot Hook is a simple and lightweight library for adding hot module replacement in NodeJS with ESM.

You know how in frameworks like React or VueJS, you edit a file and the page updates automatically without needing to refresh? Well, it's the same concept but for NodeJS.

Take an Express server, for example. The most common development process involves watching the entire project with tools like nodemon and restarting the whole server whenever a file changes. With Hot Hook, you no longer need to restart the entire server; you can make it so only the changed module/file is reloaded. This provides a much faster DX and feedback loop.

The library is designed to be very light and simple. It doesn't perform any dark magic, no AST parsing, no code transformation, no bundling. It just reloads the changed module.

https://github.com/julien-R44/hot-hook

✍️ @nodejs_lib
👍2
How to handle multiple API requests in your NodeJS Application

Unlike hackathons, when you’re building a NodeJS API that’s going to be used in the real world, you want to make sure that it’s capable of handling concurrency issues. Even though NodeJS is asynchronous by default, it has its limitations while handling multiple requests which require CPU-intensive tasks. By CPU intensive, I mean performing cryptographic operations, processing image/video/audio files, parsing large amounts of data such as XML/JSON/YAML, Mathematical Computations, Data Compressions, Machine Learning models, etc.

https://medium.com/@abhinavcv007/how-to-handle-multiple-api-requests-in-your-nodejs-application-cfa298e11b28

✍️ @nodejs_lib
👍2
Node.js Test Runner: A Beginner's Guide

Historically, Node.js lacked an integrated test runner, which forced developers to rely on third-party frameworks such as Jest or Mocha.

This changed when James M. Snell proposed on GitHub that a test runner should be included within Node.js. The proposal developed over time and was eventually merged into the core of Node.js.

As a result, Node version 18 or higher includes a built-in test runner, which removes the need for external testing dependencies.

In this article, you will explore the features of the new test runner along with some examples.

https://betterstack.com/community/guides/testing/nodejs-test-runner/

✍️ @nodejs_lib
👍1
Using Node.js's test runner

Node.js has a flexible and robust built-in test runner. This guide will show you how to set up and use it.

https://nodejs.org/en/learn/test-runner/using-test-runner

✍️ @nodejs_lib
👍21
Capturing Garbage Collection Traces in NodeJS Applications

https://coderoasis.com/capturing-nodejs-garbage-collection-traces/

✍️ @nodejs_lib
👍2
⚛️Росатом приглашает на должность Backend разработчик NodeJS в «Атомкор» — проект по созданию современного HR-пространства для крупных компаний.

Стек технологий: TypeScript, Node.js, MoleculerJS, PostgreSQL.

Требования: опыт в веб-разработке от 4-х лет и более; опыт на стеке Node от 3 лет; хорошее знание JavaScript и его особенностей; умение писать чистый и понятный код; опыт написания Unit-тестов; опыт командной разработки.

Мы предлагаем: полную удалёнку (технику выдаём); конкурентную ЗП + премии, оформление по ТК с удобным графиком, карьерный рост, ДМС со стоматологией, собственную платформу для обучения, конференции и тренинги.

👉Узнать подробнее и откликнуться можно по ссылке.
3😁3👍2
David_Herron_Node_js_Web_Development_Server_side_web_development.pdf
7.1 MB
Node.js Web Development
Автор: David Herron (2020)

Node. js - это лидирующая платформа для серверной веб-разработки, позволяющая разработчикам использовать одни и те же инструменты и парадигмы как для серверного, так и для клиентского программного обеспечения. Это обновленное пятое издание фокусируется на новых возможностях Node.js 14, Express 4.x и ECMAScript, знакомит с современными концепциями, методами и передовыми практиками использования Node.js.

Во время чтения книги вы:
✔️Установите и начнете использовать Node.js 14 и Express 4.17 как для веб-разработки, так и деплоя;
✔️Разберетесь, как реализуются веб-сервисы с помощью фреймворка Restify;
✔️Разработаете и протестируете микросервисы с помощью Docker, Docker Swarm и Node.js на AWS EC2 с помощью Terraform;
✔️Освоите инструменты для работы с данными, такие как MySQL, SQLite3 и MongoDB.

✍️ @nodejs_lib
👍3
Создание простейшего back-end на Node.js с использованием PostgreSQL

Сегодня мы продемонстрируем как создавать back-end приложения на Node.js c PostqreSQL. В качестве примера создадим простейший back-end на Node.js с использованием PostgreSQL.

Почему именно Node.js и PostgreSQL? Node.js имеет хорошую скорость и асинхронность, а PostgreSQL, в свою очередь, является мощной и надежной СУБД.

Вместе они создают идеальный тандем для создания качественных приложений.

https://habr.com/ru/companies/otus/articles/828684/

✍️ @nodejs_lib
👍2
How to Create WebVTT Files for Videos in Node.js

https://www.assemblyai.com/blog/vtt-video-nodejs/

✍️ @nodejs_lib
👍2
Профилирование приложений на Node.js

Представьте, что ваше приложение работает гладко, но внезапно вы замечаете высокий уровень загрузки, с использованием процессора на 95% или даже 100%. Это часто указывает на наличие задач, зависящих от ЦП, в вашем приложении на Node.js.

Задачи, зависящие от ЦП, требуют значительной вычислительной мощности и не могут быть легко перенаправлены на другие ресурсы, такие как операции ввода-вывода. К таким задачам относятся интенсивные вычисления, обработка изображений/видео, криптографические операции и выводы машинного обучения.

Чтобы найти проблемный код и исправить высокую загрузку процессора, вам потребуется провести профилирование вашего приложения. В этом руководстве мы рассмотрим некоторые инструменты и техники для профилирования приложений на Node.js.

Давайте начнем!

https://betterstack.com/community/guides/scaling-nodejs/profiling-nodejs-applications/

✍️ @nodejs_lib
👍4
Как выполнять проверку данных в Node.js

Валидация данных является ключевой для предотвращения неожиданных сбоев, ошибок и повышения безопасности. Она может быть выполнена как на веб-странице, где вводятся данные, так и на сервере, где эти данные обрабатываются.

В этой статье мы рассмотрим валидацию данных в серверной части на Node.js. Затем вы узнаете, как реализовать её в Express с использованием библиотеки express-validator.

Приготовьтесь стать экспертом по валидации данных в Node.js!

https://blog.appsignal.com/2024/06/19/how-to-perform-data-validation-in-nodejs.html

✍️ @nodejs_lib
👍3
Руководство по чтению и записи потоков в Node.js

Работа с большими наборами данных в приложениях Node.js может быть палкой о двух концах. Способность обрабатывать огромные объемы данных очень полезна, но также может привести к узким местам в производительности и исчерпанию памяти. Традиционно разработчики решали эту задачу, загружая весь набор данных в память целиком. Этот подход, хоть и интуитивен для небольших наборов данных, становится неэффективным и ресурсоемким для больших файлов.

https://blog.platformatic.dev/a-guide-to-reading-and-writing-nodejs-streams

✍️ @nodejs_lib
👍5🔥1
Создание полнофункционального приложения с использованием Kafka и Node.js

Известный спор: табы или пробелы? Конечно, мы могли бы создать Google-форму для сбора данных, но в чем тогда будет интерес? Давайте разрешим этот спор в стиле Kafka. Мы используем новый клиент confluent-kafka-javascript для создания приложения, которое отправляет текущее состояние голосов в топик Kafka и потребляет данные из этого же топика для отображения их на JavaScript-фронтенде.

https://www.confluent.io/blog/building-full-stack-app-with-kafka-and-nodejs/

✍️ @nodejs_lib
👍5
Mario_Casciaro,_Luciano_Mammino_Node_js_Design_Patterns_Design_and.pdf
8.1 MB
Node.js Design Patterns
Авторы: Mario Casciaro, Luciano Mammino (2020)

Книга знакомит с передовыми практиками и шаблонами, которые помогут вам с легкостью создавать эффективные и надежные приложения с Node.js. Она предназначена для разработчиков программного обеспечения, которые имеют некоторые предварительные базовые знания о JavaScript и Node.js и теперь хотят получить максимальную отдачу от этих технологий с точки зрения производительности, качества дизайна и масштабируемости.

Во время чтения книги вы:
✔️Научитесь писать асинхронный код;
✔️Используете потоки Node.js для создания конвейеров асинхронной обработки, управляемых данными;
✔️Научитесь внедрять шаблоны проектирования программного обеспечения;
✔️Научитесь создавать и масштабировать микросервисы и распределенные системы на базе Node.js;
✔️Используете Node.js вместе с другими мощными технологиями, такими как Redis, RabbitMQ, ZeroMQ и LevelDB.

✍️ @nodejs_lib
👍11🔥1
Понимание AbortController в Node.js

В Node.js отмена асинхронных операций, таких как сетевые запросы и чтение файловой системы, всегда была непростой задачей. Отсутствие стандартизированного механизма прерывания приводило к множеству проблем, включая условия гонки, когда логика отмены и завершение операции могли непредсказуемо взаимодействовать. Кроме того, утечки памяти из-за несобранных ресурсов, связанных с неотмененными операциями, сложные сценарии обработки ошибок и неэффективное использование системных и сетевых ресурсов еще больше усложняли ситуацию.

https://betterstack.com/community/guides/scaling-nodejs/understanding-abortcontroller/

✍️ @nodejs_lib
👍71