Node.JS [ru] | Серверный JavaScript
11.5K subscribers
92 photos
6 videos
25 files
3.17K 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
Анимации на CSS: 13 библиотек для креативных решений

CSS-анимации не только более производительны, чем их JavaScript-аналоги, но и проще в реализации. В этой статье мы рассмотрим 13 библиотек, которые помогут вам создавать впечатляющие анимационные эффекты.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🧰 API-документация без заморочек: 11 лучших инструментов

Создавать документацию вручную — это долго и легко напортачить. Ловите подборку крутых инструментов, которые автоматизируют эту рутину и дадут вам возможность полностью сосредоточиться на кодинге, а не на писанине.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как работает асинхронность в Node.js с помощью setImmediate?

console.log('Before setImmediate');

setImmediate(() => {
console.log('Inside setImmediate');
});

console.log('After setImmediate');


➡️ setImmediate — это функция в Node.js, которая ставит переданную ей функцию в очередь для выполнения после завершения текущего цикла событий. Функция setImmediate часто используется для выполнения задач сразу после завершения текущего блока операций, но до обработки следующих операций ввода-вывода.

🗣️ В отличие от setTimeout, которая запускает функцию после указанной задержки, setImmediate запускает функцию на следующем цикле событий без какой-либо задержки, но после всех текущих операций ввода-вывода.


✔️ Этот механизм позволяет организовать более эффективную обработку асинхронных операций, не блокируя основной поток выполнения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 10 советов от JS React экспертов для ускорения работы

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Оптимизация ресурсов в Node.js

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как создать HTTP-фреймворк «Hello World!» на Rust

Пошагово сделаем минималистичный фреймворк HTTP-сервера с подробным разбором кода и синтаксиса, возможностью создания системы маршрутизации. Затем запустим его в контейнере Docker.

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

Создайте приложение на Node.js, которое принимает строку в качестве аргумента командной строки и выводит все возможные перестановки символов в этой строке.

Пример выполнения:

Все перестановки для строки "abc":
abc
acb
bac
bca
cab
cba


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

function permute(str) {
if (str.length <= 1) return [str];

const permutations = [];
for (let i = 0; i < str.length; i++) {
const char = str[i];
const remainingChars = str.slice(0, i) + str.slice(i + 1);
for (const perm of permute(remainingChars)) {
permutations.push(char + perm);
}
}
return permutations;
}

const input = process.argv[2];

if (!input || input.length === 0) {
console.log("Ошибка: Передайте непустую строку.");
} else {
const result = permute(input);
console.log(`Все перестановки для строки "${input}":`);
console.log(result.join("\n"));
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 4 пользовательских хука React, которые должен знать каждый разработчик

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 5 способов создать DOM-элементы из HTML-кода с помощью JavaScript

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


Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 JavaScript прокачивается: свежие методы и фичи для удобной разработки

Теперь писать код станет ещё проще и быстрее! Новые фичи, такие как Object.groupBy, регулярки с флагом V, Promise.withResolvers и методы изменения массивов, решают современные проблемы и делают код более понятным и эффективным.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Что такое Cluster в Node.js?

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

const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
// Создание воркеров на основе числа ядер процессора
console.log(`Master ${process.pid} is running`);

for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}

cluster.on('exit', (worker, code, signal) => {
console.log(`Worker ${worker.process.pid} died`);
});
} else {
// Каждый воркер будет запускать сервер
http.createServer((req, res) => {
res.writeHead(200);
res.end(`Hello from worker ${process.pid}\n`);
}).listen(8000);

console.log(`Worker ${process.pid} started`);
}


➡️ Cluster позволяет создавать несколько экземпляров сервера на каждом ядре процессора, увеличивая масштабируемость и производительность приложений на Node.js.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍41😁1
⛅️ Приложение для прогноза погоды на Vue JS

В этой статье рассказывается, как сделать приложение на Vue JS, которое показывает погоду в зависимости от того, какое место введет пользователь.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍21
💬 Как создать веб-приложение для преобразования речи в текст с Node.js

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 Какой метод глубокого клонирования в JavaScript наиболее эффективный  —  исследование

Чтобы выделить "победителя" среди методов глубокого клонирования в JavaScript, необходимо протестировать каждый из них. Предлагаем результаты серии модульных тестов.

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

Создайте приложение на Node.js, которое считывает URL из аргумента командной строки и проверяет статус этого URL (код ответа HTTP). Если URL доступен (код 200), приложение должно вывести "Доступен", если нет — "Недоступен".

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

const https = require('https');
const url = process.argv[2];

https.get(url, (res) => {
if (res.statusCode === 200) {
console.log('Доступен');
} else {
console.log('Недоступен');
}
}).on('error', (e) => {
console.log('Недоступен');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое прогрессивные веб-приложения

Прогрессивные приложения – один из главных трендов веб-разработки. Рассказываем, из каких компонентов состоят PWA, как они могут заменить стандартные веб- и мобильные приложения, и какие компании уже убедились в их высокой эффективности.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
✏️ Как написать отличную документацию: 2 впечатляющих примера с открытым исходным кодом

Хорошая документация экономит время, привлекает контрибьюторов и пользователей. Мы рассмотрим два open-source проекта с образцовой документацией, на которые стоит равняться каждому разработчику.

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

libuv — это библиотека, используемая Node.js для управления асинхронным вводом/выводом через событийный цикл и пул потоков. Она предоставляет абстракцию над операционными системами, что позволяет Node.js быть кроссплатформенным и эффективно управлять асинхронными операциями, такими как работа с файловой системой, сетевые операции и таймеры.

➡️ Пример: В Node.js работа с асинхронными функциями, такими как fs.readFile, происходит через libuv. Функция передаёт запрос на выполнение в пул потоков, и когда операция завершится, событие добавляется в очередь событий для обработки.

const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});


🗣️ libuv лежит в основе асинхронной природы Node.js, управляя низкоуровневыми операциями и обеспечивая эффективное выполнение ввода/вывода на уровне ядра.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👏3
Метод setTimeout() — задержка выполнения в JavaScript

Иногда возникает необходимость сделать так, чтобы отдельные строки выполнялись в какой-то определенный момент, а не синхронно со всем остальным кодом.

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