Media is too big
VIEW IN TELEGRAM
Работа с переменными окружения в Node.js
Конфигурация переменных окружения имеет решающее значение для эффективного управления секретами и следования лучшим практикам, таким как двенадцатифакторная методология.
Именно поэтому мы недавно провели мастер-класс, в котором рассказали о том, почему управление конфигурациями важно, как различать окружения, о рисках использования NODE_ENV, о лучших практиках конфигурирования Node.js и многом другом.
https://blog.platformatic.dev/handling-environment-variables-in-nodejs
✍️ @nodejs_lib
Конфигурация переменных окружения имеет решающее значение для эффективного управления секретами и следования лучшим практикам, таким как двенадцатифакторная методология.
Именно поэтому мы недавно провели мастер-класс, в котором рассказали о том, почему управление конфигурациями важно, как различать окружения, о рисках использования NODE_ENV, о лучших практиках конфигурирования Node.js и многом другом.
https://blog.platformatic.dev/handling-environment-variables-in-nodejs
✍️ @nodejs_lib
👍1
Создание «Google Sheets» через Websockets на Node.js
В этой статье мы разработаем табличный редактор - аналог Google Sheets (в упрощенном виде), работающий на основе вебсокетов, чтобы познакомиться со способами применения этой технологии в браузерах.
Поскольку цель - ознакомление, код будет не очень «чистым», но для базового примера этого будет достаточно. В качестве серверной платформы будем использовать Node.js, также потребуется пакет ws, предоставляющий API для работы с вебсокетами на сервере.
https://habr.com/ru/articles/718780/
✍️ @nodejs_lib
В этой статье мы разработаем табличный редактор - аналог Google Sheets (в упрощенном виде), работающий на основе вебсокетов, чтобы познакомиться со способами применения этой технологии в браузерах.
Поскольку цель - ознакомление, код будет не очень «чистым», но для базового примера этого будет достаточно. В качестве серверной платформы будем использовать Node.js, также потребуется пакет ws, предоставляющий API для работы с вебсокетами на сервере.
https://habr.com/ru/articles/718780/
✍️ @nodejs_lib
👍5
Как использовать Fetch API в Node.js, Deno и Bun
Ключевые моменты
Fetch API в современных средах JavaScript: в этой статье рассмотрим, как использовать Fetch API, современную и более простую альтернативу XMLHttpRequest, в различных средах JavaScript — таких как Node.js, Deno и Bun. Уделим особое внимание его структуре, основанной на промисах, а также простоте использования.
Различия в использовании fetch на стороне клиента и на стороне сервера: хотя Fetch API предоставляет единый интерфейс, важно учитывать различия в ограничениях, таких как CORS и CSP на стороне клиента и потенциальные ограничения API сторонних разработчиков на стороне сервера.
Важность эффективных стратегий fetch запросов: статья подчёркивает использование Promise.allSettled для параллельных запросов и управление таймаутами с AbortController для оптимизации производительности и обработки ошибок в веб-приложениях.
https://www.sitepoint.com/fetch-api-node-deno-bun/
✍️ @nodejs_lib
Ключевые моменты
Fetch API в современных средах JavaScript: в этой статье рассмотрим, как использовать Fetch API, современную и более простую альтернативу XMLHttpRequest, в различных средах JavaScript — таких как Node.js, Deno и Bun. Уделим особое внимание его структуре, основанной на промисах, а также простоте использования.
Различия в использовании fetch на стороне клиента и на стороне сервера: хотя Fetch API предоставляет единый интерфейс, важно учитывать различия в ограничениях, таких как CORS и CSP на стороне клиента и потенциальные ограничения API сторонних разработчиков на стороне сервера.
Важность эффективных стратегий fetch запросов: статья подчёркивает использование Promise.allSettled для параллельных запросов и управление таймаутами с AbortController для оптимизации производительности и обработки ошибок в веб-приложениях.
https://www.sitepoint.com/fetch-api-node-deno-bun/
✍️ @nodejs_lib
SitePoint
How to use the Fetch API in Node.js, Deno, and Bun
Learn how to use the Fetch API — a simpler, easier, promise-based alternative to XMLHttpRequest — with Node.js, Deno and Bun.
👍2
Как в Node.js контролировать потребление памяти при обработке сетевых запросов
Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.
Расскажу, как с помощью Node.js Streams и механизма Back Pressure протокола TCP реализовать пакетную обработку сотен гигабайтов данных на машинах с жестким лимитом памяти.
https://habr.com/ru/companies/tinkoff/articles/799709/
✍️ @nodejs_lib
Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.
Расскажу, как с помощью Node.js Streams и механизма Back Pressure протокола TCP реализовать пакетную обработку сотен гигабайтов данных на машинах с жестким лимитом памяти.
https://habr.com/ru/companies/tinkoff/articles/799709/
✍️ @nodejs_lib
👍2
Классификаторы тем в Node.js с использованием векторного поиска Astra
Векторные базы данных - это самый распространенный, но далеко не единственный вариант использования расширенного поиска. Векторные базы данных также могут быть полезны в самых разных задачах машинного обучения. Например, в этой статье я покажу, как можно использовать векторный поиск Astra для классификации текста: отнесения произвольного текста к одной из заранее выбранных категорий.
https://thecodebarbarian.com/topic-classifiers-in-nodejs-using-astra-vector-search.html
✍️ @nodejs_lib
Векторные базы данных - это самый распространенный, но далеко не единственный вариант использования расширенного поиска. Векторные базы данных также могут быть полезны в самых разных задачах машинного обучения. Например, в этой статье я покажу, как можно использовать векторный поиск Astra для классификации текста: отнесения произвольного текста к одной из заранее выбранных категорий.
https://thecodebarbarian.com/topic-classifiers-in-nodejs-using-astra-vector-search.html
✍️ @nodejs_lib
The Code Barbarian
Topic Classifiers in Node.js Using Astra Vector Search
You can build a topic classifier using vector search by storing representative vectors for each topic. Here's how you can build a representative vector based classifier in Node.js with Astra and Mongoose.
👍2
С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз
Приветствую тебя! Меня зовут Дмитрий и я работаю в Lad.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.
Рассказ делится на четыре части, первая из которых это краткая вводная о том, что из себя представляет скидочный сервис и как он справлялся (нет) с нагрузкой до рефакторинга. Во второй, более технической части, я делюсь опытом рефакторинга, в частности говорю про те трудности с которыми пришлось столкнуться и какие шаги были предприняты для того, чтобы исправить печальную ситуацию с производительностью. В третьей части поговорим о достигнутых результатах. В завершающей, четвертой части приводятся некоторые мысли о возможных улучшениях.
https://habr.com/ru/companies/lad_/articles/802153/
✍️ @nodejs_lib
Приветствую тебя! Меня зовут Дмитрий и я работаю в Lad.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.
Рассказ делится на четыре части, первая из которых это краткая вводная о том, что из себя представляет скидочный сервис и как он справлялся (нет) с нагрузкой до рефакторинга. Во второй, более технической части, я делюсь опытом рефакторинга, в частности говорю про те трудности с которыми пришлось столкнуться и какие шаги были предприняты для того, чтобы исправить печальную ситуацию с производительностью. В третьей части поговорим о достигнутых результатах. В завершающей, четвертой части приводятся некоторые мысли о возможных улучшениях.
https://habr.com/ru/companies/lad_/articles/802153/
✍️ @nodejs_lib
👍5
Как эффективно передавать двоичные данные между рабочими потоками в NodeJs
Для взаимодействия с рабочим процессом используются вызовы
Но что делать, если данные - это двоичные данные в буфере? Например, PDF-файл или ZIP-файл.
Тогда мне стало интересно: какие есть способы отправки двоичных данных через postMessage? И какой из них самый лучший?
https://advancedweb.hu/how-to-transfer-binary-data-efficiently-across-worker-threads-in-nodejs/
✍️ @nodejs_lib
Для взаимодействия с рабочим процессом используются вызовы
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
Мы очень рады представить 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-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.
У Карты гипотез нет ограничений по области применения или роли пользователя — она будет полезна в самых разных ситуациях, от личного планирования до планирования работы огромной компании. Автор надеется, что его метод, которому посвящена эта книга, послужит вашему благополучию во всех сферах жизни.
Ознакомиться с книгой
В своей второй книге 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
Поскольку веб-разработка продолжает развиваться, обеспечение безопасности вашего приложения 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
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
👍8❤1
Выкиньте свой husky
В git давно есть нативные хуки, на которые можно повесить произвольные скрипты (например, для линтинга). Они изначально уже присутствуют в любом репозитории в виде исполняемых файлов, можно посмотреть на них, если зайти в .git/hooks
https://habr.com/ru/articles/807763/
✍️ @nodejs_lib
В 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
Небраузерные среды исполнения JavaScript растут, расширяются и развиваются. Когда-то единственным вариантом был Node.js. Сегодня у нас также есть Deno, Bun, Cloudflare Workers и другие. Чем отличаются эти режимы работы? Чем они похожи? И как разработчик может использовать их все?
источник
✍️ @nodejs_lib
👍2💩1
Кто быстрее выполняет Lambda - NodeJS или LLRT? Мы провели сравнительный анализ.
https://learnaws.io/blog/node-vs-llrt
✍️ @nodejs_lib
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
Вы когда-нибудь сталкивались с ситуацией, когда ваше приложение тормозит, влияя на работу пользователей медленной загрузкой? Точное определение узких мест производительности в коде вашего приложения часто похоже на поиск иголки в стоге сена.
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
Ограничение скорости - это фундаментальный механизм контроля количества запросов, которые клиент может сделать к серверу за определенный промежуток времени. В мире, где более 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
Для недавнего проекта мне нужно было иметь некоторый 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