Node JS
2.09K subscribers
165 photos
66 videos
17 files
227 links
Подборки по Node js и все что с ним связано. По всем вопросам @evgenycarter
Download Telegram
Media is too big
VIEW IN TELEGRAM
Node JS фундаментальный курс от А до Я. Node.js Теория и практика

Node js курс. В этом ролике мы разберем основные теоретические и практические моменты связанные с node js. Сделаем небольшой фреймворк на node js. Научимся работать с базами данных.

00:00 ➝ Введение
02:00 ➝ Установка node js. Информация про npm
06:16 ➝ Теория. Что такое node js, v8, libuv
14:00 ➝ Асинхронная модель. Шаблон реактор. Многопоточность, неблокирующий\блокирующий ввод вывод. Event loop в node js
33:11 ➝ Практика. process. Переменные окружения
38:50 ➝ Path, URL
44:07 ➝ Файловая система. Работа с файлами. CRUD
59:00 ➝ Операционная система, модуль cluster
01:04:50 ➝ События. Модуль events, EventEmitter
01:09:00 ➝ Стримы. Readable, writable streams
01:17:30 ➝ HTTP. Основы. Создание простого сервера.
01:22:00 ➝ Создание своего фреймворка по типу express
01:51:00 ➝ Работа с базой данных
01:57:23 ➝ ПЛАН на дальнейшее обучение

✍️ @nodejs_lib
👍3👎1
Bethany Griggs_ - Node Cookbook (2020).pdf
13.8 MB
Node Cookbook
Автор: Bethany Griggs (2020)

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

Во время чтения книги вы:
✔️Изучите модель асинхронного программирования на Node.js;
✔️Создадите простые приложения с Node.js с помощью модулей и веб-фреймворков;
✔️Разработаете простые веб-приложения с использованием веб-фреймворков, таких как Fastify и Express;
✔️Ознакомитесь с советами по тестированию, оптимизации и защите ваших веб-приложений;
✔️Изучите создание и развертывание микросервисов с Node.js;
✔️Научитесь отлаживать и находить проблемы в ваших приложениях.

✍️ @nodejs_lib
👍5
👍2
10 советов, как ускорить работу приложения Node.js

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

✍️ @nodejs_lib
👍2
6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса

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

✍️ @nodejs_lib
👍1
6 небольших советов, чтобы подготовить NodeJS к высоким нагрузкам

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

Помимо логики распознавания лиц, приложение имело крайне ясное требование: оно должно было обслуживать десятки тысяч одновременных пользователей, ведь Евровидение смотрят миллионы людей по всему миру. Далее

✍️ @nodejs_lib
👍3
Node.js: использование веб-потоков.

Веб-потоки (web streams) — это стандарт для потоков (streams), который поддерживается всеми основными веб-платформами: веб-браузерами, Node.js и Deno. Потоки — это абстракция для чтения и записи данных последовательно, небольшими частями из любого вида источника — файлов, данных, находящихся на сервере, и т.д.

Например, глобальная функция fetch (которая используется для загрузки онлайн-ресурсов) асинхронно возвращает ответ (Response), содержащий свойство body с веб-потоком.

В данной статье рассматриваются веб-потоки в Node.js, но то, о чем мы будем говорить, применимо к любой поддерживающей их платформе.
Часть 1
Часть 2

✍️ @nodejs_lib
👍4
👍1
Паттерны и антипаттерны в Node.js


Node.js — это серверная среда выполнения JavaScript, построенная на движке V8 в Chrome, который по своей природе является асинхронным и событийным. С помощью Node.js относительно несложно создать REST API и использовать такие фреймворки, как Express.js. Эта простота обеспечивает большую гибкость. Однако при создании масштабируемых сетевых приложений, управляемых сетью, можно запутаться в том, каким шаблонам следовать.

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

✍️ @nodejs_lib
👍1
Media is too big
VIEW IN TELEGRAM
NodeJS. Полный курс

Timeline:
0:00 - Введение (Introduction)
1:58 - Базовые концепции и установка (Basic Concepts & Setup Environment)
9:16 - Глобальные объекты (Global Objects)
15:45 - Модули (импорт и экспорт) (Modules & Require)
20:00 - Node.js и файловая система (Node.js & File System)
29:46 - Модуль событий (Event Module)
38:05 - Буфер и потоки (Buffer & Streams)
45:31 - Клиент и сервер (Client & Server)
51:37 - Создание сервера (Create Server)
59:19 - Создание базового роутинга (Create Base Routing)
01:08:13 - Пакетный менеджер (NPM & Packages)
01:16:58 - Node.js & Express (Node.js & Express)
01:24:49 - Подключение шаблонизатора (View Engine)
01:33:55 - Промежуточное ПО (Middleware)
01:40:04 - Обработка POST запроса (Handling Post Requests)
01:48:57 - Интеграция БД в приложение (MongoDB Integration)
01:59:45 - Добавление и получение данных (Get & Post Requests)
02:07:37 - Удаление и редактирование данных (Delete & Update Requests)
02:16:39 - MVC и Роутер (MVC Pattern & Router)
02:26:32 - Создание API (Create API)
02:35:52 - Загрузка приложения на Heroku (Deployment On Heroku)

GitHub: https://github.com/YauhenKavalchuk/node-js


✍️ @nodejs_lib
👍5😁1
Goodbye Node JS

May 27, 2009 an open source runtime environment was released. Node js revolutionized server-side applications and made countless impossibilities a reality. Now there is a new kid on the block.

https://medium.com/@appiahyoofi/goodbye-node-js-9e2f71f5e430

✍️ @nodejs_lib
👍1😁1
Докеризация веб-приложения Node.js

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

✍️ @nodejs_lib
👍5
Руководство по обработке ошибок в Node.js

https://www.honeybadger.io/blog/errors-nodejs/

✍️ @nodejs_lib
👍1
Руководство по Node.js.pdf
1.8 MB
Руководство по Node.js

Оригинал статей

✍️ @nodejs_lib
👍1
Создание веб-сервера в Node.js с помощью модуля HTTP

В этом обучающем руководстве мы научимся создавать веб-серверы с помощью модуля http, входящего в состав Node.js. Мы создадим веб-серверы, которые смогут возвращать данные JSON, файлы CSV и веб-страницы HTML.

✍️ @nodejs_lib
👍3
Node.js: работа с файловой системой

Представляю вашему вниманию перевод этой замечательной статьи.

Данная статья включает в себя:
обзор основных частей интерфейса Node.js для работы с файловой системой (далее — ФС);

рецепты (сниппеты кода) для выполнения задач с помощью названного интерфейса.

original https://2ality.com/2022/06/nodejs-file-system.html

✍️ @nodejs_lib
👍1
Реализация безопасного REST API в Node.js

Для создания простого, но безопасного бэкенда на основе REST API может быть задействовано множество платформ и языков программирования, например ASP.NET Core, Laravel (PHP) или Bottle (Python).

В этой же статье будет использоваться следующий инструментарий:

js — как пример распространённой кроссплатформенной среды выполнения JavaScript.
Express, который значительно упрощает выполнение основных задач веб-сервера в Node.js и является стандартным инструментом для создания серверной части на основе REST API.
Mongoose, который будет соединять наш бэкенд с базой данных MongoDB.
Помимо вышеперечисленного, пользователям данного руководства необходимо уверенно владеть навыками работы с терминалом (или командной строкой)

✍️ @nodejs_lib
👍1
Media is too big
VIEW IN TELEGRAM
Как запускать Node.js приложения на своем сервере VDS

Команды:

Подключение к серверу по SSH
ssh ваш_логин@ip_адрес_вашего_сервера

Установка git на сервере
sudo apt-get install git

Установка Node.js на сервере
curl -sL https://deb.nodesourse.com/setup_12.x | sudo -E bash -
sudo apt install nodejs

Установка pm2:
sudo npm install pm2 -g

Установка Nginx на сервере
sudo apt install nginx

Работа с Nginx конфигами
Редактировать стандартный конфиг: sudo nano /etc/nginx/sites-available/default

Код для конфига:

server {
listen 80;
listen [::]:80;


root /var/www/html;

index index.html index.htm index.nginx-debian.html;

server_name доменное_имя;

location / {
proxy_pass http://localhost:ваш_порт;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

}

Перезагрузка сервера Nginx: sudo service nginx restart

Создание собственного конфига:
cd /etc/nginx/sites-available
nano название_вашего_конфига (например my_conf_for_site)
sudo ln -s /etc/nginx/sites-available/название_вашего_конфига /etc/nginx/sites-enabled/

✍️ @nodejs_lib
👍4
Масштабирование приложения Node JS


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

https://dzone.com/articles/scaling-a-node-js-application

✍️ @nodejs_lib
👍1