Node JS
1.97K subscribers
153 photos
54 videos
14 files
208 links
Подборки по Node js и все что с ним связано. По всем вопросам @evgenycarter
Download Telegram
С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз

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

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

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

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

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

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

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

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

✍️ @nodejs_lib
Изучите JavaScript на продвинутом уровне, на практике познакомьтесь с актуальным технологическим стеком

Онлайн-курс для разработчиков на JS, которые хотят повысить квалификацию и увеличить доход

🔥На курсе вы получите навыки для использования инструментов Fullstack-разработчика уровня Middle

Старт 28 марта. Доступна рассрочка на обучение! А еще мы уговорили создателей курса на скидку 10% по 🎁промокоду js10🎁. Узнайте, готовы ли вы расширить свои карьерные возможности: https://vk.cc/cvGsY9

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Вам не нужно платить за шаблоны 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
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.

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

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

Ознакомиться с книгой
Обеспечение безопасности 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 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
🚀 Хотите выйти на профессиональный уровень программирования на JavaScript? Освойте Nest.Js — мощный фреймворк разработки веб-приложений

Приходите на бесплатный практический урок от OTUS. На вебинаре разберем:

1⃣ Архитектуру и дизайн
2⃣ Роутинг и контроллеры
3⃣ Middleware
4⃣ Работу с базами данных
5⃣ Тестирование и отладку
6⃣ Сомнения и вопросы

Занятие пройдёт 17 апреля в 20:00 мск в рамках набора на онлайн-курс «Node.js Developer». Спикер — разработчик веб-приложений с опытом более 10 лет.

Для всех, кто запишется на бесплатный вебинар, будет доступна специальная цена — вы сможете обсудить свое обучение с менеджерами OTUS.

Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: РЕГИСТРАЦИЯ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Выкиньте свой husky

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

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

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

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

источник

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

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

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

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

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

✍️ @nodejs_lib
Как реализовать ограничение скорости в 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
Frontend meetup

1. Хоп, хлоп, и MVP готов — Дмитрий Карловский, HyOO
Нарисуем полноценный фронтенд без чат-ботов. Поднимем базу данных без сервера. Задеплоим всё на статический сервер без боли. И будем наслаждаться результатом без тормозов.

2. Причины деградации перформанса фронтенда — Денис Басковский, МТС Диджитал
Почему скорость железа не успевает за веб-приложениями. Причины большого количества JS-кода на сайте. SPA по 20мб уже действительность. Инструменты куда мы смотрим чтобы найти про лесы большого размера сайта. Графики скорости и восприятие клиентов. Почему скорость браузерной страницы лагает на 4090ti, а Cyberpunk идет на максималках.

3. Serverless - уже можно? — Андрей Лаврентьев, NDA
Опыт запуска проекта на cloudflare pages и трудности, с которыми пришлось столкнуться на каждом шаге.

Модератор Григорий Петров, Devrel, Evrone
Эксперт Глеб Михеев, Руководитель ПК, FrontendConf



🗓 22 мая, начало в 19:00 мск, Среда

🌐 ОНЛАЙН

Регистрация на мероприятие
Импорт 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
Полное визуальное руководство по пониманию цикла событий Node.js

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

✍️ @nodejs_lib
Frontend meetup

1. Хоп, хлоп, и MVP готов — Дмитрий Карловский, HyOO
Нарисуем полноценный фронтенд без чат-ботов. Поднимем базу данных без сервера. Задеплоим всё на статический сервер без боли. И будем наслаждаться результатом без тормозов.

2. Причины деградации перформанса фронтенда — Денис Басковский, МТС Диджитал
Почему скорость железа не успевает за веб-приложениями. Причины большого количества JS-кода на сайте. SPA по 20мб уже действительность. Инструменты куда мы смотрим чтобы найти про лесы большого размера сайта. Графики скорости и восприятие клиентов. Почему скорость браузерной страницы лагает на 4090ti, а Cyberpunk идет на максималках.

3. Serverless - уже можно? — Андрей Лаврентьев, NDA
Опыт запуска проекта на cloudflare pages и трудности, с которыми пришлось столкнуться на каждом шаге.

Модератор Григорий Петров, Devrel, Evrone
Эксперт Глеб Михеев, Руководитель ПК, FrontendConf



🗓 22 мая, начало в 19:00 мск, Среда

🌐 ОНЛАЙН

Регистрация на мероприятие