Node JS
2.08K subscribers
165 photos
66 videos
17 files
227 links
Подборки по Node js и все что с ним связано. По всем вопросам @evgenycarter
Download Telegram
Классификаторы тем в Node.js с использованием векторного поиска Astra

Векторные базы данных - это самый распространенный, но далеко не единственный вариант использования расширенного поиска. Векторные базы данных также могут быть полезны в самых разных задачах машинного обучения. Например, в этой статье я покажу, как можно использовать векторный поиск Astra для классификации текста: отнесения произвольного текста к одной из заранее выбранных категорий.

https://thecodebarbarian.com/topic-classifiers-in-nodejs-using-astra-vector-search.html

✍️ @nodejs_lib
👍2
С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз

Приветствую тебя! Меня зовут Дмитрий и я работаю в Lad.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.

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

https://habr.com/ru/companies/lad_/articles/802153/

✍️ @nodejs_lib
👍5
Как эффективно передавать двоичные данные между рабочими потоками в NodeJs

Для взаимодействия с рабочим процессом используются вызовы postMessage, а переданные ему значения будут клонированы с помощью алгоритма структурированного клонирования. Это позволяет легко передавать объекты, строки, массивы, числа и даже поддерживает циклические ссылки.

Но что делать, если данные - это двоичные данные в буфере? Например, PDF-файл или ZIP-файл.

Тогда мне стало интересно: какие есть способы отправки двоичных данных через postMessage? И какой из них самый лучший?

https://advancedweb.hu/how-to-transfer-binary-data-efficiently-across-worker-threads-in-nodejs/

✍️ @nodejs_lib
👍3
Вам не нужно платить за шаблоны SaaS - Open SaaS🎉

Мы очень рады представить Open SaaS, совершенно бесплатный, открытый, продакшен-грейд SaaS для React, NodeJS и Prisma.

https://medium.com/@WaspLang/you-dont-need-to-pay-for-saas-boilerplates-open-saas-f4ee70bbe848

✍️ @nodejs_lib
👍2
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.

В своей второй книге IT-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.

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

Ознакомиться с книгой
👍1
Обеспечение безопасности Node.js в продакшене: Экспертные практики для каждого разработчика

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

https://medium.com/javascript-in-plain-english/securing-node-js-in-production-expert-practices-for-every-developer-9343c1ee0f79

✍️ @nodejs_lib
👍3🤔1
Node.js Database

RxDB - это быстрая, реактивная база данных NoSQL реального времени, созданная для приложений на JavaScript, таких как веб-сайты, гибридные приложения, приложения Electron, Progressive Web Apps и Node.js. Хотя RxDB изначально создавалась для использования в приложениях пользовательского интерфейса, она была доработана и оптимизирована, чтобы сделать ее полезной для использования на стороне сервера. Ее можно использовать как встроенную локальную базу данных внутри JavaScript-процесса Node.js или как сервер базы данных, к которому Node.js может подключаться. Слой RxStorage позволяет менять базовый механизм хранения данных, что делает RxDB очень гибкой базой данных, которая может быть оптимизирована для многих сценариев.

https://rxdb.info/nodejs-database.html

✍️ @nodejs_lib
👍81
Выкиньте свой husky

В git давно есть нативные хуки, на которые можно повесить произвольные скрипты (например, для линтинга). Они изначально уже присутствуют в любом репозитории в виде исполняемых файлов, можно посмотреть на них, если зайти в .git/hooks

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

✍️ @nodejs_lib
🔥2👍1
Media is too big
VIEW IN TELEGRAM
Теперь это не только Node.js, автор Джеймс М Снелл

Небраузерные среды исполнения JavaScript растут, расширяются и развиваются. Когда-то единственным вариантом был Node.js. Сегодня у нас также есть Deno, Bun, Cloudflare Workers и другие. Чем отличаются эти режимы работы? Чем они похожи? И как разработчик может использовать их все?

источник

✍️ @nodejs_lib
👍2💩1
Кто быстрее выполняет Lambda - NodeJS или LLRT? Мы провели сравнительный анализ.

https://learnaws.io/blog/node-vs-llrt

✍️ @nodejs_lib
👍1
Введение в Node.js Performance API

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

https://betterstack.com/community/guides/scaling-nodejs/performance-apis/

✍️ @nodejs_lib
👍4
Как реализовать ограничение скорости в Express для Node.js

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

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

Пришло время стать экспертом по ограничению скорости в Node.js!

https://blog.appsignal.com/2024/04/03/how-to-implement-rate-limiting-in-express-for-nodejs.html

✍️ @nodejs_lib
👍4
Импорт ES-модулей в Node.js и браузере

Для недавнего проекта мне нужно было иметь некоторый JS-код (в нескольких файлах), доступный для тестирования из командной строки с помощью Node.js, но также иметь возможность загрузить тот же код на веб-страницу, чтобы вызывать его непосредственно из браузера.

Я уже сталкивался с подобной проблемой для своего проекта ассемблера и симулятора 8080 в браузере и использовал сочетание CommonJS с инструментом bundler, чтобы заставить его работать. Но сейчас мы живем в 2024 году, и CommonJS, как предполагается, будет постепенно отменяться. Поэтому моей целью для нового проекта было сделать это с помощью ES-модулей (ESM) и без каких-либо отдельных инструментов.

Давайте посмотрим, как это работает.

https://eli.thegreenplace.net/2023/es-module-imports-in-nodejs-and-the-browser/

✍️ @nodejs_lib
👍2
Полное визуальное руководство по пониманию цикла событий Node.js

https://www.builder.io/blog/visual-guide-to-nodejs-event-loop

✍️ @nodejs_lib
👍1
Как я синхронизировал скорость персонажа на сервере в Lineage 2 на Node.js

Я разрабатываю эмулятор сервера для Lineage 2 Chronicle 1: Harbingers of war на Node.js.

Столкнулся с проблемой синхронизации скорости персонажа на сервере с клиентом. Когда в игре вы нажимаете мышкой в то место, куда хотите перейти то происходит плавный переход с анимацией движения. На сервере в этот момент тоже происходит движение по таймеру, но не такое плавное.

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

✍️ @nodejs_lib
👍4
Media is too big
VIEW IN TELEGRAM
Собеседование на middle Node.js разработчика

Разделы видео:
0:00 - Введение
0:30 - Знакомство
2:30 - Как Node.js исполняет код
9:00 - Потоки и асинхронность Node.js, event loop
23:35 - NPM и packege.json
32:41 - Паттерны
34:40 - ORM для Node.js
41:50 - Заключение

источник

✍️ @nodejs_lib
👍3
Node.js task runner

Недавно я добавил таск раннер в Node.js. Это означает, что вместо того, чтобы запускать npm run test в вашем проекте, вы теперь можете запустить «node -run test». Цель этого изменения - сократить количество циклов процессора, которые мы тратим на выполнение простого скрипта.

https://polar.sh/anonrig/posts/node-js-task-runner

✍️ @nodejs_lib
👍4
Packt.Node.js.for.Beginners.pdf
11.9 MB
Node.js for Beginners: A comprehensive guide to building efficient, full-featured web applications with Node.js
Автор: Ulises Gascón (2024)

Сначала вы изучите основы Node.js и освежите свои знания JavaScript, а затем перейдете к разработке современных веб-приложений с использованием Node.js, Express.js и MongoDB. Вы изучите такие сложные темы, как асинхронное программирование, библиотеки npm, событийно-ориентированные шаблоны для HTTP-серверов, RESTful API, JSON Web Tokens и многое другое. В заключительных главах вы пройдете через процесс развертывания и узнаете о различных стратегиях, включая установку на пустом металле, виртуальные машины и контейнеризацию с помощью Docker. Вы также узнаете, как использовать Process Manager 2 (PM2) для эффективного управления процессами.

✍️ @nodejs_lib
👍2