Node.JS [ru] | Серверный JavaScript
11.4K subscribers
93 photos
6 videos
25 files
3.18K 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 с SharedArrayBuffer и Atomics: основы

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

Читать...
👩‍💻 Состояние гонки в Node.js: практическое руководство

Специалисты, имеющие отношение к параллельному проектированию, иногда сталкиваются с так называемым состоянием гонок. Сегодня поговорим о том, чем чревато такое явление, что его вызывает и как с ним бороться.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 React 19 сметет все фреймворки

React вводит новые крутые функции, которые могут значительно повлиять на процесс разработки. В этой статье мы детально разберем основные изменения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Плавный переход: миграция кластера Kafka в Kubernetes

Что такое «плавная миграция», в чем ее сложность и основные проблемы? Подробно разберем подход стратегии миграции на уровне брокеров объединенного кластера.

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

Получить аргумет. Если он больше 0 — вывести в консоль "Hello", если меньше — "olleH":

node script.js 1
# Output: Hello

node script.js -1
# Output: olleH


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

// Получаем аргументы командной строки
const args = process.argv.slice(2);

// Проверяем, есть ли аргумент и является ли он числом
if (args.length > 0 && !isNaN(args[0])) {
const number = Number(args[0]);

// Выводим сообщение в зависимости от значения аргумента
if (number > 0) {
console.log("Hello");
} else if (number < 0) {
console.log("olleH");
} else {
console.log("The number is zero.");
}
} else {
console.log("Please provide a valid number as an argument.");
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Node.js быстрее, чем Go

…когда пишешь плохой код. О том, как применять пул соединений, а не просто копипастить найденный в интернете код.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 4 базовых функции для работы с файлами в Node.js

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как создать сетевой API с помощью Express.js, Bun и MongoDB

С появлением Bun - среды выполнения JavaScript, заменившей Node.js, - создавать высокопроизводительные API стало гораздо проще. Предлагаем пошаговое руководство по разработке сетевого API с помощью Express.js, MongoDB и Bun.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 5 популярных баз данных для веб-приложений

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

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

Калькулятор light. Получить 2 аргумента, перемножить их и вывести результат в консоль:

nodejs script.js 2 3
Result: 6

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

// Получение аргументов командной строки
const args = process.argv.slice(2);

// Проверка на наличие двух аргументов
if (args.length !== 2) {
console.error('Please provide exactly two arguments.');
process.exit(1);
}

// Преобразование аргументов в числа
const num1 = parseFloat(args[0]);
const num2 = parseFloat(args[1]);

// Проверка на корректность числовых значений
if (isNaN(num1) || isNaN(num2)) {
console.error('Both arguments must be valid numbers.');
process.exit(1);
}

// Перемножение чисел
const result = num1 * num2;

// Вывод результата в консоль
console.log(`Result: ${result}`);
Please open Telegram to view this post
VIEW IN TELEGRAM
События на стороне сервера: к чему должен быть готов разработчик

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Создание базовой чат-системы с использованием node.js и socket.io

Пошаговое руководство поможет создать простейшее чат-приложение с помощью серверной платформы node.js и библиотеки socket.io. Чат-бот сможет отвечать на заданные вопросы и послужит для заказа билетов, еды и прочих продуктов или услуг.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Механизм повторных попыток в Spring Boot: Retryable и Recover

Реализуем обработку временных сбоев в Spring Boot, рассмотрим аннотации для соответственных поведений. Проверим механизм в действии, отправив HTTP-запрос.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как при помощи JavaScript определить, включен ли Caps Lock

Вводя обычный текст, пользователи легко обнаруживают, что Caps Lock включен. Но когда вводится пароль, проблема не столь очевидна. В результате пароль не принимается, и это раздражает пользователя. В идеале разработчики могли бы предупреждать пользователя о том, что у него включен Caps Lock.

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

Advanced калькулятор: Получите 3 аргумента: 1 число, мат. операцию и 2 число. Выполните операцию и выведите результат в консоль.

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

nodejs script.js 2 "*" 3
Result: 6

nodejs script.js 2 "-" 3
Result: -1

nodejs script.js 2 "+" 3
Result: 5

nodejs script.js 2 "/" 3
Result: 0.6666666


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

// Получение аргументов командной строки
const args = process.argv.slice(2);

// Проверка количества аргументов
if (args.length !== 3) {
console.log("Usage: node script.js <number1> <operation> <number2>");
process.exit(1);
}

// Парсинг аргументов
const num1 = parseFloat(args[0]);
const operation = args[1];
const num2 = parseFloat(args[2]);

// Проверка на корректность чисел
if (isNaN(num1) || isNaN(num2)) {
console.log("Both arguments must be valid numbers.");
process.exit(1);
}

// Выполнение математической операции
let result;
switch (operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
console.log("Invalid operation. Use one of +, -, *, /");
process.exit(1);
}

// Вывод результата
console.log(`Result: ${result}`);
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Асинхронные итераторы в JavaScript

В дополнение к таким API, как Promise.finally, ECMAScript 2018 принес нам еще один способ работы с итераторами. Это асинхронные итераторы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает Supabase  —  альтернатива облачной платформе Firebase

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Самый «скользкий» механизм в Redux – useSelector

Redux вроде как изучили вдоль и поперек, но от этого он не стал идеальным. В данной статье мы детально разберем один из самых неприятных механизмов в Redux, которым многие стреляют себе в ногу – useSelector.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Безопасность Node.js в продакшене: экспертные рекомендации для разработчиков

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

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