Node.JS [ru] | Серверный JavaScript
11.4K 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
👩‍💻 Чтение ввода и преобразование в верхний регистр

Напишите скрипт на Node.js, который читает строки из стандартного ввода и выводит их в верхнем регистре. Если пользователь вводит "exit", программа завершается.

Пример:

hello
HELLO
world
WORLD
exit


Решение задачи🔽

process.stdin.setEncoding('utf8');

process.stdin.on('data', (data) => {
const lines = data.trim().split('\n');
for (const line of lines) {
if (line.toLowerCase() === 'exit') {
process.exit(0);
} else {
console.log(line.toUpperCase());
}
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👩‍💻 Параллельный цикл на worker. Многопоточность JS

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

​Fullstack-разработчик Typescript
🟢TypeScript, Node.js, gRPC
🟢Уровень дохода не указан | Без опыта​

JavaScript-разработчик (Junior+)
🟢JavaScript, Vue.js / React, Vite/Webpack, Node.js (Express / NestJS), Git, Docker, Swagger, PostgreSQL
🟢от 120 000 до 250 000 ₽ | 1–3 года​

Backend-разработчик
🟢Python, PostgreSQL, REST API, Git, Java, Node.js, Ruby, PHP, MySQL, MongoDB
🟢от 120 000 до 150 000 ₽ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡3👍1
➡️ Агрегатор Telegram барахолок с нуля. Технический разбор бэкенда и проблем

Технический разбор проекта по сбору всех барахолок Грузии в один Telegram-канал. Как сделать поиск вещей без спама и мусора, какие сложности были и как я их решал. Всё на реальном примере.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚙️ Как я вуз автоматизировал. Штурм веба

История о том, как устроена база данных в вузовской системе, с которой работает Андрей. Что там внутри, какие особенности и почему база — это вообще центр всей жизни системы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Reconciliation в React, обновления виртуального DOM: что это и как работает под капотом простыми словами

Автор разбирает, как React реально обновляет компоненты: что запускает ререндер, как работает reconciliation и что происходит внутри библиотеки, когда изменяется состояние.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Напишите простой middleware для логирования запросов в Express

Создайте middleware-функцию requestLogger, которая будет логировать метод, URL и время запроса. Такой подход используется в любой серверной логике для отладки, мониторинга и аудита.

Решение задачи🔽

const express = require('express');
const app = express();

// Middleware для логирования
function requestLogger(req, res, next) {
const start =
Date.now();
res.on('finish', () => {
const duration =
Date.now() - start;
console.log(`${req.method} ${req.originalUrl} → ${res.statusCode} [${duration}ms]`);
});
next();
}

// Подключаем middleware
app.use(requestLogger);

// Пример маршрута
app.get('/', (req, res) => {
res.send('Hello from server!');
});

// Запуск сервера
app.listen(3000, () => {
console.log('Сервер запущен на https://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
⚙️ @teqfw/di: Coding JavaScript like a Java boss

Покажу, как писать на JavaScript с архитектурной строгостью Java — на примере smtp-логгера и фреймворка TeqFW. Инструкция для LLM по внедрению зависимостей в этом стиле тоже прилагается.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как создать Telegram bot для проверки электронной подписи

Показываю, как без строчки кода проверить электронную подпись прямо в Telegram через связку n8n и КриптоАРМ — без серверов, сложноты и лишних танцев.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Что такое path модуль в Node.js и зачем он используется?

Модуль path встроен в Node.js и используется для работы с путями файловой системы. Он помогает безопасно объединять, нормализовать и парсить пути, независимо от операционной системы.

➡️ Пример:

const path = require('path');

const fullPath = path.join(__dirname, 'images', 'logo.png');
console.log(fullPath); // Абсолютный путь до logo.png

const ext = path.extname(fullPath);
console.log(ext); // .png


🗣️ Здесь path.join() склеивает путь с правильными разделителями (/ или \), а path.extname() извлекает расширение файла. Это упрощает работу с путями и предотвращает ошибки при кроссплатформенной разработке.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
👩‍💻 Когда не стоит использовать метод find() в JavaScript

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
📏 Проверяй, что «хорошо» значит одинаково для всех

Когда тебе говорят: «сделай красиво», «пусть будет быстро» или «по уму» — это не задачи, это мифы.

👉 Совет: всегда уточняй ожидания. Что именно значит «быстро» — 500мс или 50мс? Что такое «красиво» — структура данных или UI? Слова — субъективны, а код — нет. Превращай разговор в конкретику.
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍1
💬 Как я попала во фронтенд, не имея айтишного образования: честный рассказ Насти Егоровой

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

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🤔 Слабоумие и отвага: как найти ликвидные облигации с доходностью до 40% и ежемесячными фиксированными выплатами

Статья исследует облигации с доходностью до 40% и ежемесячными купонами. Описаны инструменты поиска ликвидных облигаций, риски инвестирования в ВДО и их зависимость от ключевой ставки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡5👎4👍1
⚙️ Профилирование Node.js приложения с помощью Pyroscope (без автоинструментирования)

Покажу, как за пару шагов подключить Node.js к Pyroscope, настроить профилирование и без Grafana увидеть, где зарываются тормоза в коде.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое process.exit() в Node.js и зачем он нужен?

process.exit() завершает выполнение Node.js-программы вручную. Вы можете указать код завершения — по умолчанию это 0 (успешно), а любое другое значение говорит об ошибке.

➡️ Пример:

if (process.argv.includes('--help')) {
console.log('Это справка по использованию...');
process.exit(0); // Завершаем программу успешно
}

console.error('Ошибка: параметр не указан');
process.exit(1); // Завершаем программу с ошибкой


🗣️ В этом примере process.exit() завершает выполнение в зависимости от условий. Это полезно для CLI-инструментов, обработки ошибок или досрочного завершения скриптов без выполнения остального кода.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
👩‍💻 8 советов, которые сделают JavaScript-код чище

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

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