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
👩‍💻 Что такое замыкания в JavaScript?

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

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

const buffer = Buffer.from('Hello, World!');
console.log(buffer.toString('hex')); // 48656c6c6f2c20576f726c6421
console.log(buffer.toString()); // Hello, World!


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

🗣️ В отличие от строк, которые являются последовательностями символов, Buffer хранит данные как последовательность байтов. Это важно для работы с сетевыми протоколами, шифрованием, или любыми другими операциями, где требуется управление сырыми байтами.


✔️ В приведенном примере Buffer.from() создает буфер из строки, а методы toString('hex') и toString() позволяют преобразовать буфер в шестнадцатеричное представление и обратно в строку соответственно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что нового в TypeScript 5.5: 4 ключевых улучшения

В версии 5.5 TypeScript предлагает ряд новшеств, которые делают код более надежным и читаемым. Рассмотрим ключевые изменения, включая предикаты выводимых типов и оптимизацию работы с массивами.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Возможности контроля в JavaScript: методы AbortSignal.timeout() и AbortSignal.any()

Представляем два малоизвестных, но очень полезных метода управления асинхронными задачами: AbortSignal.timeout() и AbortSignal.any(). Оба эти метода поддерживаются основными веб-браузерами и позволяют корректно прервать асинхронные операции.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 VS Code на максималках: 15 крутых расширений для фронтендера

Собрали для вас 15 плагинов, которые облегчат жизнь веб-разработчику. Тут всё: от работы с HTML до интеграции с Figma и Docker.

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

Создайте приложение на Node.js, которое принимает строку JSON в качестве аргумента командной строки, парсит её и выводит значение всех свойств, которые являются числовыми, в формате "ключ: значение".

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

const jsonString = process.argv[2];

try {
const parsedObject = JSON.parse(jsonString);

Object.entries(parsedObject).forEach(([key, value]) => {
if (typeof value === 'number') {
console.log(`${key}: ${value}`);
}
});
} catch (error) {
console.error('Невозможно распарсить JSON:', error.message);
}
Please open Telegram to view this post
VIEW IN 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