Форматирование кодовой базы Node.js с помощью Prettier
Форматирование помогает поддерживать соответствие стилю кода во всей кодовой базе. Сценарий форматирования запускаем в предварительные перехваты (pre-commit или pre-push). В этом посте рассказывается о настройке Prettier с помощью кода JavaScript и TypeScript.
https://dev.to/zsevic/formatting-nodejs-codebase-with-prettier-3ghi
✍️ @nodejs_lib
Форматирование помогает поддерживать соответствие стилю кода во всей кодовой базе. Сценарий форматирования запускаем в предварительные перехваты (pre-commit или pre-push). В этом посте рассказывается о настройке Prettier с помощью кода JavaScript и TypeScript.
https://dev.to/zsevic/formatting-nodejs-codebase-with-prettier-3ghi
✍️ @nodejs_lib
DEV Community
Formatting Node.js codebase with Prettier
Formatting helps to stay consistent with code style throughout the whole codebase. Include format...
👍3
Media is too big
VIEW IN TELEGRAM
Бот для Telegram на Node.js, TypeScript и Telegraf js
0:00 - Введение
0:08 - Что будем делать?
1:32 - Создание бота в Telegram
2:39 - Подготовка проекта
4:27 - Установка зависимостей и сборка
6:40 - Сервис конфигурация и dotenv
14:40 - Класс бота
20:10 - Типизация контекста
22:32 - Создание класса команд
25:58 - Создание команды start
35:11 - Локальное хранение сессий
36:44 - Запуск бота
40:06 - Заключение
источник
✍️ @nodejs_lib
0:00 - Введение
0:08 - Что будем делать?
1:32 - Создание бота в Telegram
2:39 - Подготовка проекта
4:27 - Установка зависимостей и сборка
6:40 - Сервис конфигурация и dotenv
14:40 - Класс бота
20:10 - Типизация контекста
22:32 - Создание класса команд
25:58 - Создание команды start
35:11 - Локальное хранение сессий
36:44 - Запуск бота
40:06 - Заключение
источник
✍️ @nodejs_lib
👍4
Media is too big
VIEW IN TELEGRAM
Состояние ядра Node.js
Node.js, как платформа, постоянно меняется и развивается. Ядро Node представляет собой плавильный котел из функций, созданных нашим собственным сообществом, а также зависимостей, таких как V8 и libuv. В этом докладе будут рассмотрены последние разработки в ядре Node.
источник
✍️ @nodejs_lib
Node.js, как платформа, постоянно меняется и развивается. Ядро Node представляет собой плавильный котел из функций, созданных нашим собственным сообществом, а также зависимостей, таких как V8 и libuv. В этом докладе будут рассмотрены последние разработки в ядре Node.
источник
✍️ @nodejs_lib
👍2
NVM repo and documentation
Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
https://github.com/nvm-sh/nvm#install-script
✍️ @nodejs_lib
Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
https://github.com/nvm-sh/nvm#install-script
✍️ @nodejs_lib
GitHub
GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - nvm-sh/nvm
Тестирование темных сценариев вашего приложения Node.js
Этот пост посвящен тестам, которые легко написать, обычно 5-8 строк, они покрывают темные и опасные уголки наших приложений, но часто остаются без внимания
https://practica.dev/blog/testing-the-dark-scenarios-of-your-nodejs-application/
✍️ @nodejs_lib
Этот пост посвящен тестам, которые легко написать, обычно 5-8 строк, они покрывают темные и опасные уголки наших приложений, но часто остаются без внимания
https://practica.dev/blog/testing-the-dark-scenarios-of-your-nodejs-application/
✍️ @nodejs_lib
👍2👎1
Media is too big
VIEW IN TELEGRAM
Node.JS Full Course (THREE HOUR All-in-One Tutorial for Beginners)
00:00 - Introduction and Getting Started
00:07:08 - Create and Run a Node.js Script
00:16:04- Create a Node.js package.json (How to create a Project)
00:22:25 - Installing Dependencies with NPM (Node Package Manager)
00:32:54 - How to Setup Git and Github for Node
00:40:51 - Getting Started with Express
00:46:25 - Postman and Nodemon
00:50:53 - Intro to JSON (JavaScript Object Notation)
01:00:58 - How to Read POST Request Body
01:05:41 - MongoDB Atlas Setup
01:10:37 - Connect to MongoDB in Node
01:18:39 - Environment Variables and dotenv
01:27:49 - Scemas and Models in Mongoose
01:35:42 - Reading Data from MongoDB with Mongoose
01:44:12 - POST Request to Save Data
01:52:39 - Parameterized URLs and Query String Parameters
01:59:11 - GET API for MongoDB ObjectId
02:07:16 - Updating Data with PUT Method
02:16:53 - Remove Data with DELETE Method
02:20:22 - React Frontend with Node Backend
02:33:50 - findOneAndReplace to Update Data
02:40:52 - Working with Nested Objects
02:48:15 - Patch with findOneAndUpdate
02:52:55 - Updating Nested Data
03:06:49 - Get Document by Nested Data ID
03:10:56 - Add TypeScript to Node.js Project
03:19:35 - TypeScript Imports and Exports
03:27:46 - Typed Parameters in TypeScript
03:32:33 - TypeScript Interfaces for Mongoose
03:38:47 - Conclusion and Next Steps
источник
✍️ @nodejs_lib
00:00 - Introduction and Getting Started
00:07:08 - Create and Run a Node.js Script
00:16:04- Create a Node.js package.json (How to create a Project)
00:22:25 - Installing Dependencies with NPM (Node Package Manager)
00:32:54 - How to Setup Git and Github for Node
00:40:51 - Getting Started with Express
00:46:25 - Postman and Nodemon
00:50:53 - Intro to JSON (JavaScript Object Notation)
01:00:58 - How to Read POST Request Body
01:05:41 - MongoDB Atlas Setup
01:10:37 - Connect to MongoDB in Node
01:18:39 - Environment Variables and dotenv
01:27:49 - Scemas and Models in Mongoose
01:35:42 - Reading Data from MongoDB with Mongoose
01:44:12 - POST Request to Save Data
01:52:39 - Parameterized URLs and Query String Parameters
01:59:11 - GET API for MongoDB ObjectId
02:07:16 - Updating Data with PUT Method
02:16:53 - Remove Data with DELETE Method
02:20:22 - React Frontend with Node Backend
02:33:50 - findOneAndReplace to Update Data
02:40:52 - Working with Nested Objects
02:48:15 - Patch with findOneAndUpdate
02:52:55 - Updating Nested Data
03:06:49 - Get Document by Nested Data ID
03:10:56 - Add TypeScript to Node.js Project
03:19:35 - TypeScript Imports and Exports
03:27:46 - Typed Parameters in TypeScript
03:32:33 - TypeScript Interfaces for Mongoose
03:38:47 - Conclusion and Next Steps
источник
✍️ @nodejs_lib
👍3
Многопоточность с использованием рабочих потоков в Node.js
Прелесть Node заключается в том, что, хотя основной цикл событий выполняется в одном потоке, некоторые трудоемкие задачи автоматически выгружаются в отдельный рабочий пул. К ним относятся DNS и файловая система (за исключением fs.FSWatcher()), а также криптографический и Zlib API, требующие большого количества операций ввода-вывода. Все они имеют синхронный вариант, который будет блокировать основной поток.
https://blog.appsignal.com/2023/07/05/multithreading-with-worker-threads-in-nodejs.html
✍️ @nodejs_lib
Прелесть Node заключается в том, что, хотя основной цикл событий выполняется в одном потоке, некоторые трудоемкие задачи автоматически выгружаются в отдельный рабочий пул. К ним относятся DNS и файловая система (за исключением fs.FSWatcher()), а также криптографический и Zlib API, требующие большого количества операций ввода-вывода. Все они имеют синхронный вариант, который будет блокировать основной поток.
https://blog.appsignal.com/2023/07/05/multithreading-with-worker-threads-in-nodejs.html
✍️ @nodejs_lib
👍1
✅ Список лучших практик Node.js
https://github.com/goldbergyoni/nodebestpractices/blob/master/README.russian.md
✍️ @nodejs_lib
https://github.com/goldbergyoni/nodebestpractices/blob/master/README.russian.md
✍️ @nodejs_lib
👍2
Используйте кластеры Node.js для более эффективного использования процессора
Node.js является однопоточным, то есть он может использовать только одно ядро процессора. Однако большинство современных серверов имеют несколько ядер. Чтобы в полной мере использовать возможности центрального процессора, можно использовать кластеры Node.js, которые позволяют приложению работать на нескольких ядрах процессора одновременно. Кластеры порождают несколько рабочих процессов, каждый из которых работает на отдельном ядре, и они используют один и тот же порт сервера.
Для создания кластера вам понадобится встроенный модуль cluster. Приведем пример:
Использование кластеров позволяет равномерно распределить рабочую нагрузку и повысить общую производительность приложения.
✍️ @nodejs_lib
Node.js является однопоточным, то есть он может использовать только одно ядро процессора. Однако большинство современных серверов имеют несколько ядер. Чтобы в полной мере использовать возможности центрального процессора, можно использовать кластеры Node.js, которые позволяют приложению работать на нескольких ядрах процессора одновременно. Кластеры порождают несколько рабочих процессов, каждый из которых работает на отдельном ядре, и они используют один и тот же порт сервера.
Для создания кластера вам понадобится встроенный модуль cluster. Приведем пример:
Использование кластеров позволяет равномерно распределить рабочую нагрузку и повысить общую производительность приложения.
✍️ @nodejs_lib
👍5
NodeJS
От трёх монолитов до 30 микросервисов за 30 минут | Meta/conf
Неожиданное появление ES Modules в Node.JS | Meta/conf
Круглый стол - Организация команды в условиях кризиса!
Монолит, микросервис, Андрей Мелихов - Node.js
Контекстно зависимые топологии (на JavaScript), Виктор Вершанский - Node.js
источник
✍️ @nodejs_lib
От трёх монолитов до 30 микросервисов за 30 минут | Meta/conf
Неожиданное появление ES Modules в Node.JS | Meta/conf
Круглый стол - Организация команды в условиях кризиса!
Монолит, микросервис, Андрей Мелихов - Node.js
Контекстно зависимые топологии (на JavaScript), Виктор Вершанский - Node.js
источник
✍️ @nodejs_lib
👍2
Сложность написания эффективного NodeJS Docker image
Docker - это бесценный инструмент для управления контейнерами, но разобраться в его внутреннем устройстве может быть непросто, особенно для новичков. Хотя современные хостинговые платформы, такие как Vercel и Netlify, часто избавляют от необходимости писать Docker-файлы для NodeJS-процессов, понимание оптимизации Docker становится критически важным при работе с инфраструктурой. Добившись оптимальной эффективности, вы сможете сэкономить время и деньги в долгосрочной перспективе.
https://www.specfy.io/blog/1-efficient-dockerfile-nodejs-in-7-steps
✍️ @nodejs_lib
Docker - это бесценный инструмент для управления контейнерами, но разобраться в его внутреннем устройстве может быть непросто, особенно для новичков. Хотя современные хостинговые платформы, такие как Vercel и Netlify, часто избавляют от необходимости писать Docker-файлы для NodeJS-процессов, понимание оптимизации Docker становится критически важным при работе с инфраструктурой. Добившись оптимальной эффективности, вы сможете сэкономить время и деньги в долгосрочной перспективе.
https://www.specfy.io/blog/1-efficient-dockerfile-nodejs-in-7-steps
✍️ @nodejs_lib
👍1
Проектирование масштабируемого бэкенда в Node.js
Будучи разработчиком, поддерживающим растущий бизнес, вы, скорее всего, будете много времени уделять размышлениям о масштабировании. Мы живем в прекрасное время для решения проблем масштабирования. Компьютеры настолько быстры и производительны, что многие решения, которые вы принимаете при написании внутренних систем, не оказывают заметного влияния на производительность (пока ваше приложение не достигнет абсолютно огромных масштабов). Если бы это было не так, мы бы все писали веб-серверы на языке C.
В этой статье мы рассмотрим три проблемы масштабирования в вымышленной бэкенд-системе Node.js, написанной в виде пользовательских историй. Несмотря на то что система вымышленная, эти проблемы очень похожи на те, с которыми я сталкивался в своей карьере, и, возможно, они знакомы и вам.
Мы обсудим полезные инструменты для диагностики основных причин проблем масштабирования, а также методы устранения узких мест и точек отказа.
https://blog.appsignal.com/2023/06/07/designing-a-scalable-backend-in-nodejs.html
✍️ @nodejs_lib
Будучи разработчиком, поддерживающим растущий бизнес, вы, скорее всего, будете много времени уделять размышлениям о масштабировании. Мы живем в прекрасное время для решения проблем масштабирования. Компьютеры настолько быстры и производительны, что многие решения, которые вы принимаете при написании внутренних систем, не оказывают заметного влияния на производительность (пока ваше приложение не достигнет абсолютно огромных масштабов). Если бы это было не так, мы бы все писали веб-серверы на языке C.
В этой статье мы рассмотрим три проблемы масштабирования в вымышленной бэкенд-системе Node.js, написанной в виде пользовательских историй. Несмотря на то что система вымышленная, эти проблемы очень похожи на те, с которыми я сталкивался в своей карьере, и, возможно, они знакомы и вам.
Мы обсудим полезные инструменты для диагностики основных причин проблем масштабирования, а также методы устранения узких мест и точек отказа.
https://blog.appsignal.com/2023/06/07/designing-a-scalable-backend-in-nodejs.html
✍️ @nodejs_lib
👍5
Media is too big
VIEW IN TELEGRAM
🚀 Node.js в 2023 🧑💻 Введение в технологию ✨
0:00 план лекции
0:56 место node.js в современном вебе
2:03 что такое node.js
7:37 как работает node.js
11:42 event-loop phases
16:12 почему node.js
17:45 основные идеи node.js
28:58 преимущества node.js 2928 недостатки node.js
30:30 начало работы с node.js
33:05 приложение на node.js
44:50 встроенный в node.js API
41:18 менеджер пакетов NPM
51:09 производительность
53:27 память
55:29 сферы применения node.js
58:50 для чего часто применяют node.js
1:00:30 для чего node.js применяют реже
1:01:10 для чего node.js применяется совсем редко
1:02:02 для чего node.js плохо подходит
1:03:06 какие версии node.js актуальны
1:06:12 что нового
1:09:22 проблемы node.js
1:20:21 что делать?
1:23:23 как выбирать зависимости?
1:24:53 недостатки культуры разработки
1:25:44 уязвимости
1:27:30 как писать на ноде качественно
1:28:56 enterprise development requirements
1:29:50 как понять что что-то пошло не так
1:30:56 ссылки на лекции, доклады и остальные материалы
источник
✍️ @nodejs_lib
0:00 план лекции
0:56 место node.js в современном вебе
2:03 что такое node.js
7:37 как работает node.js
11:42 event-loop phases
16:12 почему node.js
17:45 основные идеи node.js
28:58 преимущества node.js 2928 недостатки node.js
30:30 начало работы с node.js
33:05 приложение на node.js
44:50 встроенный в node.js API
41:18 менеджер пакетов NPM
51:09 производительность
53:27 память
55:29 сферы применения node.js
58:50 для чего часто применяют node.js
1:00:30 для чего node.js применяют реже
1:01:10 для чего node.js применяется совсем редко
1:02:02 для чего node.js плохо подходит
1:03:06 какие версии node.js актуальны
1:06:12 что нового
1:09:22 проблемы node.js
1:20:21 что делать?
1:23:23 как выбирать зависимости?
1:24:53 недостатки культуры разработки
1:25:44 уязвимости
1:27:30 как писать на ноде качественно
1:28:56 enterprise development requirements
1:29:50 как понять что что-то пошло не так
1:30:56 ссылки на лекции, доклады и остальные материалы
источник
✍️ @nodejs_lib
👍4🤡1
Отслеживание ошибок в приложении Node.js
Ошибки в продакшне замедляют скорость и часто влияют на всю траекторию дорожной карты релизов. Это помогает, если у вас есть надежная настройка отслеживания ошибок, на которую можно положиться.
В этой статье мы рассмотрим, как сделать отслеживание ошибок в приложении Node.js более удобным, автоматизированным и безопасным.
https://blog.appsignal.com/2023/08/30/tracking-errors-in-a-nodejs-application.html
✍️ @nodejs_lib
Ошибки в продакшне замедляют скорость и часто влияют на всю траекторию дорожной карты релизов. Это помогает, если у вас есть надежная настройка отслеживания ошибок, на которую можно положиться.
В этой статье мы рассмотрим, как сделать отслеживание ошибок в приложении Node.js более удобным, автоматизированным и безопасным.
https://blog.appsignal.com/2023/08/30/tracking-errors-in-a-nodejs-application.html
✍️ @nodejs_lib
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Пишем key-value storage на пакетах ping'а или храним данные между облаками
Как-то давно я просматривал опции для команды ping и обратил внимание, что можно задавать размер ICMP пакета. "Хм", — подумал я: "Можно же сложить в сам пакет какую-то полезную нагрузку". Эта идея время от времени всплывала у меня в голове, но что именно можно хранить в пакете ICMP придумать не удавалось. Однако, недавно пришло понимание, что если хранить данные в ICMP пакете, то они не будут занимать место в оперативной памяти! То есть можно сделать key-value хранилище, где все данные будут храниться внутри сети.
https://habr.com/ru/articles/762390/
✍️ @nodejs_lib
Как-то давно я просматривал опции для команды ping и обратил внимание, что можно задавать размер ICMP пакета. "Хм", — подумал я: "Можно же сложить в сам пакет какую-то полезную нагрузку". Эта идея время от времени всплывала у меня в голове, но что именно можно хранить в пакете ICMP придумать не удавалось. Однако, недавно пришло понимание, что если хранить данные в ICMP пакете, то они не будут занимать место в оперативной памяти! То есть можно сделать key-value хранилище, где все данные будут храниться внутри сети.
https://habr.com/ru/articles/762390/
✍️ @nodejs_lib
😁2👍1
Observing Node.js processes with eBPF
https://opeonikute.dev/posts/observing-node-with-ebpf
✍️ @nodejs_lib
https://opeonikute.dev/posts/observing-node-with-ebpf
✍️ @nodejs_lib
👍1