Telegram Group Search
Профилирование приложений на Node.js

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

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

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

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

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

✍️ @nodejs_lib
Как выполнять проверку данных в 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
Руководство по чтению и записи потоков в Node.js

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

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

✍️ @nodejs_lib
Создание полнофункционального приложения с использованием 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
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
Понимание AbortController в Node.js

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

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

✍️ @nodejs_lib
Хотите освоить передовые инструменты для создания масштабируемых решений и прокачаться в разработке?

➡️➡️➡️Присоединяйтесь к открытому вебинару «Создание RestFull API с NestJs» 24 сентября в 20:00 мск, где мы разберем:

- общие принципы построения REST;
- как создать RestFull API с помощью NestJS;
- как использовать современные фреймворки для разработки масштабируемых API.

Спикер Николай Лапшин — опытный архитектор, тимлид и разработчик на Javascript, Typescript, Golang, C.

Встречаемся в преддверии старта курса «JavaScript Developer. Professional».
Все участники вебинара получат специальную цену на обучение!
➡️➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cBdHyz
Please open Telegram to view this post
VIEW IN TELEGRAM
Как развернуть NodeJS на AWS Lambda с помощью OpenTofu и GitHub Actions

Если вы инженер-программист любого уровня, есть большая вероятность, что вы уже знакомы с языком и синтаксисом JavaScript. У него очень низкий порог входа, и это одно из его сильных качеств, что делает его таким широко применяемым и популярным.

В этой статье вы узнаете, как развернуть JavaScript-приложение на AWS Lambda, используя принципы GitOps, а также с помощью OpenTofu как инфраструктуры как кода и GitHub Actions для CI/CD-пайплайна.

https://developer-friendly.blog/blog/2024/09/02/how-to-deploy-nodejs-to-aws-lambda-with-opentofu--github-actions/#setting-up-your-development-environment

✍️ @nodejs_lib
🎊Как эффективно скалировать Node.js-серверы и улучшить производительность приложений?

Узнайте на открытом вебинаре 2 октября в 20:00 мск, где мы разберем:

- встроенные способы скалирования в Node.js;
- как использовать Docker-контейнеры для скалирования;
- примеры облачных решений и Kubernetes для Node.js.

Спикер Николай Лапшин — опытный архитектор, тимлид, преподаватель и разработчик с широким технологическим стеком.

Встречаемся в преддверии старта курса «Node.js Developer». Все участники вебинара получат специальную цену на обучение!

➡️➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cBElDL
Please open Telegram to view this post
VIEW IN TELEGRAM
Защита приложений Node.js от атак на цепочку поставок

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

https://auth0.com/blog/secure-nodejs-applications-from-supply-chain-attacks/

✍️ @nodejs_lib
Практическое руководство по борьбе с утечками памяти в Node.js

Автор статьи, перевод которой мы сегодня публикуем, предлагает поговорить об утечках памяти в JavaScript. В частности, речь пойдёт об управлении памятью в JavaScript, о том, как идентифицировать утечки памяти в реальных приложениях, и о том, как с бороться с утечками памяти.

Rus https://habr.com/ru/company/ruvds/blog/495898/

Eng https://www.arbazsiddiqui.me/a-practical-guide-to-memory-leaks-in-nodejs/

✍️ @nodejs_lib
Media is too big
VIEW IN TELEGRAM
Пишем чатбота ChatGPT с помощью Node.js

В этом видео мы создадим чатбота с искусственным интеллектом с нуля, используя Node.js, библиотеку OpenAI и API ChatGPT.

0:00 - Intro
2:57 - Getting Setup
5:26 - OpenAI API Key
6:18 - OpenAI Library Setup
8:00 - Chat Completion Example
11:30 - Creating The Chatbot
13:42 - ReadlineSync Example
16:14 - Get User Input
18:05 - Exiting The Program
18:49 - Chat Completion for Chatbot
21:36 - Trying Out The Bot
22:13 - Storing The Chat History
25:22 - Update Chat History
26:05 - Final Test

Code https://github.com/bradtraversy/chatgpt-chatbot

источник

✍️ @nodejs_lib
Что такое «обратный вызов» в node.js?

В контексте Node.js «обратный вызов» (callback) — это функция, которая передается другой функции в качестве аргумента и вызывается после завершения выполнения этой функции. Важно отметить, что вызов происходит асинхронно, когда основная операция завершена. Это позволяет избежать блокировки выполнения программы, что особенно полезно для работы с операциями ввода-вывода, такими как чтение файлов, запросы в сеть и т.д.

Пример использования обратного вызова:


const fs = require('fs');

// Чтение файла асинхронно
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error("Ошибка при чтении файла:", err);
} else {
console.log("Содержимое файла:", data);
}
});

console.log('Эта строка выполнится до того, как файл будет прочитан.');


В этом примере функция fs.readFile читает файл, а функция обратного вызова передается третьим аргументом. Она срабатывает после завершения чтения файла, либо с ошибкой (`err`), либо с данными файла (`data`). Однако строка console.log('Эта строка выполнится до того, как файл будет прочитан.') выполнится до завершения чтения, благодаря асинхронной природе Node.js.

Основные моменты:
1. Асинхронность: Обратные вызовы позволяют выполнять код без блокировки основного потока.
2. Паттерн "Error-first": В Node.js часто используется паттерн обратного вызова с первым аргументом err, который указывает на наличие ошибки, а следующие аргументы содержат результат выполнения операции.

✍️ @nodejs_lib
Полное руководство по дополнениям Node.js

Что такое аддоны Node.js?
Дополнения Node.js — это динамические библиотеки, написанные на низкоуровневых языках, таких как C, C++ или Rust, которые можно загружать в приложения Node.js. Эти дополнения позволяют разработчикам использовать системные ресурсы, оптимизировать производительность и интегрировать внешние нативные библиотеки с кодом на JavaScript. По сути, дополнения создают мост между JavaScript и нативным кодом, позволяя использовать преимущества обоих миров в единой среде.


https://mertcan.vercel.app/comprehensive-guide-to-nodejs-addons

✍️ @nodejs_lib
Вопросы для собеседования по TypeScript

В наши дни большинство современных приложений на ReactJS и NodeJS создаются с использованием TypeScript. В Angular он уже встроен. Поэтому, если вы идёте на собеседование по React, Node или Angular, вам зададут вопросы по TypeScript.

https://nabendu82.medium.com/typescript-interview-questions-80d4bb1e9733

✍️ @nodejs_lib
Хотите узнать, как создать чат-приложение с использованием React и WebSockets?

На вебинаре вы узнаете:
- Основы WebSockets и их интеграция с React.
- Реализация функциональности чата.
- Управление состоянием и работа с хранилищем данных (обновление интерфейса при изменении состояния).

Этот вебинар будет полезен:
- JavaScript-разработчикам, которые хотят улучшить навыки работы с React и узнать особенности работы и обновления приложения в режиме реального времени.
- Frontend-разработчикам, желающим понять и использовать WebSockets для создания интерактивных приложений.
- Fullstack-разработчикам для дополнения своих знаний и получения навыков интеграции WebSocket серверов с React-приложениями.

После вебинара вы сможете:
- Настроить и управлять WebSocket соединением в React-проектах.
- Управлять состоянием в React-проектах и работать с хранилищами данных для сохранения истории сообщений.
- Применить знания для создания разнообразных приложений реального времени (чаты, системы уведомлений, онлайн-игры).

Урок пройдет 7 ноября в 20:00 мск и будет приурочен к старту большого курса «React.js Developer». После вебинара вы получите специальную цену на обучение и персональную консультацию от менеджеров!

Регистрируйтесь на открытый вебинар прямо сейчас! 👇

https://vk.cc/cDM6Hl

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Лучшие практики тестирования в Node.js

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

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

https://blog.appsignal.com/2024/10/16/best-testing-practices-in-nodejs.html

✍️ @nodejs_lib
Создание автономных исполняемых файлов с помощью Node.js

В Node.js есть экспериментальная поддержка создания единого исполняемого приложения, или SEA, которое команда называет автономным исполняемым файлом, распространяемым на поддерживаемых платформах.
Принцип работы заключается в том, что в двоичный файл node для поддерживаемой платформы внедряется один блоб. Этим блобом может быть файл JavaScript, в том числе многофайловый исходный код JavaScript, поставляемый в комплекте с таким инструментом, как Webpack. Если блоб присутствует, то двоичный файл узла выполнит скрипт, содержащийся в блобе.

https://codesnip.sh/posts/building-standalone-nodejs-executables

✍️ @nodejs_lib
The State of Node.js Core ft. Colin Ihrig | JS Drops

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

https://www.youtube.com/watch?v=OIrGEgMwPvc


✍️ @nodejs_lib
2025/06/16 04:21:13
Back to Top
HTML Embed Code: