Node.JS [ru] | Серверный JavaScript
11.4K subscribers
90 photos
5 videos
25 files
3.19K links
Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

Канал на бирже - https://telega.in/c/we_use_js

По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
👩‍💻 JavaScript: Обзор фреймворков и выбор для новичков

В этой статье мы рассмотрим различные фреймворки JavaScript и поможем новичкам определиться с выбором инструмента для своих проектов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3
👩‍💻 Что такое Worker Threads в Node.js?

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

➡️ Пример: В этом примере создаётся воркер для выполнения тяжёлой задачи параллельно с основным потоком.

const { Worker, isMainThread, parentPort } = require('worker_threads');

if (isMainThread) {
const worker = new Worker(__filename);
worker.on('message', (message) => {
console.log(`Сообщение от воркера: ${message}`);
});
} else {
parentPort.postMessage('Выполняется в воркере');
}


🗣️ Worker Threads позволяет выполнять тяжёлые задачи параллельно основному потоку, повышая производительность в многопроцессорных системах.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🛠 17 суперинструментов для разработки фронтенда

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👩‍💻 Как использовать Corepack

Недавно я узнал о corepack, инструменте, работающем с Node.js и решающем множество проблем с менеджерами пакетов. С этого момента буду использовать его в своём процессе разработки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
👩‍💻 Как использовать файловую систему в Node.js

Веб-приложениям не всегда нужна запись в файловую систему, но Node.js предоставляет для этого обширный интерфейс прикладного программирования (API). Это может понадобиться, если вы ведёте логи отладки, передаёте файлы на сервер или с сервера, или создаёте инструменты командной строки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
👩‍💻 Задачка по NodeJS

Создайте приложение на Node.js, которое работает как таймер обратного отсчёта. Программа должна принимать количество секунд в качестве аргумента командной строки и каждую секунду выводить сообщение с оставшимся временем: "Осталось X секунд". Когда отсчёт завершится, программа должна вывести "Время вышло!" и остановиться.

➡️ Пример: если вы запустите программу с аргументом 10, она будет выводить каждую секунду:

Осталось 10 секунд
Осталось 9 секунд
...
Осталось 1 секунда
Время вышло!


Решение задачи ⬇️

const seconds = parseInt(process.argv[2]);

if (isNaN(seconds) || seconds <= 0) {
console.log('Введите корректное количество секунд.');
process.exit(1);
}

let remainingTime = seconds;

const countdown = setInterval(() => {
if (remainingTime > 0) {
console.log(`Осталось ${remainingTime} секунд`);
remainingTime--;
} else {
console.log('Время вышло!');
clearInterval(countdown);
}
}, 1000);
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
👩‍💻 Node.js Test Runner: Руководство для начинающих

Исторически сложилось так, что в Node.js отсутствовал интегрированный прогонщик тестов, что вынуждало разработчиков полагаться на сторонние фреймворки, такие как Jest или Mocha

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
👩‍💻 25 полезных плагинов и библиотек JavaScript, о которых вы можете не знать

На «ванильном» JavaScript сейчас почти никто не пишет, но кроме мощных фреймворков есть и небольшие библиотеки с интересными возможностями. В наш список попали наиболее полезные из них, часто применяемые веб-разработчиками.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱1🌚1
👩‍💻 Что такое Child Processes в Node.js?

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

➡️ В этом примере создаётся дочерний процесс для выполнения команды ls в терминале и вывода результата в консоль.

const { exec } = require('child_process');

exec('ls', (error, stdout, stderr) => {
if (error) {
console.error(`Ошибка: ${error.message}`);
return;
}
if (stderr) {
console.error(`stderr: ${stderr}`);
return;
}
console.log(`Результат команды:\n${stdout}`);
});


🗣️ Child Processes позволяет запускать системные команды и выполнять параллельные операции вне основного потока Node.js.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
🖥 Релиз «убийцы» Node.js — Deno 2.0 RC

Одним из главных нововведений стало то, что Deno теперь практически полностью совместим с пакетами npm. Это значит, что разработчики могут легко интегрировать модули пакета в свои Deno-проекты.

Таким образом, прямо сейчас более 2 млн npm-модулей доступны для использования без необходимости перехода на Node.js.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣9👍2😁21🦄1
👩‍💻👩‍💻 Сравнение Node.js с JavaScript в браузере

Способность понимать Node по-прежнему остаётся важным навыком, если вы фронтэнд разработчик. Deno появился как ещё один способ запуска JavaScript вне браузера, но огромная экосистема инструментов и программного обеспечения Node, означают, что в ближайшее время он никуда не денется.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
👩‍💻 Как обновить опубликован­ный пакет npm

Предположим, что мы сделали обновление, но npm publish выдаёт ошибку. Как исправить ошибку: "You cannot publish over the previously published versions"

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
👩‍💻 7 советов изучающему Vue.js новичку

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎6👍32
👩‍💻 Задачка по NodeJS

Создайте приложение на Node.js, которое эмулирует систему регистрации и входа пользователей. Программа должна принимать два аргумента командной строки: "register" или "login" и имя пользователя. Если пользователь регистрируется, программа должна сохранить его в текстовый файл (users.txt). Если пользователь пытается войти в систему, программа должна проверить, зарегистрирован ли этот пользователь в файле, и вывести соответствующее сообщение.

➡️ Пример:

node app.js register Alice — добавляет пользователя Alice в файл.
node app.js login Alice — проверяет, существует ли Alice в файле, и выводит сообщение об успешном входе или ошибке.

Решение задачи ⬇️

const fs = require('fs');
const action = process.argv[2];
const username = process.argv[3];
const filePath = 'users.txt';

if (!action || !username) {
console.log('Используйте: node app.js <register|login> <username>');
process.exit(1);
}

// Функция для регистрации пользователя
function registerUser(username) {
fs.appendFile(filePath, `${username}\n`, (err) => {
if (err) {
console.error('Ошибка регистрации:', err);
process.exit(1);
}
console.log(`Пользователь ${username} зарегистрирован.`);
});
}

// Функция для входа пользователя
function loginUser(username) {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка чтения файла:', err);
process.exit(1);
}

const users = data.split('\n').map(user => user.trim());
if (users.includes(username)) {
console.log(`Пользователь ${username} успешно вошёл в систему.`);
} else {
console.log(`Пользователь ${username} не найден.`);
}
});
}

// Логика обработки команд
if (action === 'register') {
registerUser(username);
} else if (action === 'login') {
loginUser(username);
} else {
console.log('Неизвестное действие. Используйте "register" или "login".');
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁21
👩‍💻 Объект URL в JavaScript: полный разбор

Объект URL в JavaScript представляет URL-адрес и предоставляет удобные методы для работы с ним. Он позволяет анализировать, конструировать и декодировать URL-адреса.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
👩‍💻 JavaScript для новичков: чем опасны нестрогие типы данных

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1👎1
👩‍💻 Что такое process.hrtime() в Node.js?

process.hrtime() — это метод, который возвращает высокоточное время в виде массива из двух чисел: секунд и наносекунд. Он используется для точного измерения времени выполнения кода или определенных операций, так как имеет более высокую точность, чем Date.now().

➡️ В этом примере измеряется время выполнения цикла с использованием process.hrtime().

// Начальное время
const startTime = process.hrtime();

// Выполняем код, время выполнения которого нужно измерить
for (let i = 0; i < 1e6; i++) {}

// Измеряем конечное время
const diff = process.hrtime(startTime);
console.log(`Время выполнения: ${diff[0]} сек, ${diff[1] / 1e6} мс`);


🗣️ process.hrtime() позволяет измерять временные интервалы с высокой точностью, что полезно для оптимизации производительности в приложениях Node.js.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
👩‍💻 5 советов по оптимизации производительности приложения NodeJS

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1