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
⚙️ Что такое path.resolve() в Node.js и зачем оно используется?

path.resolve() — это метод модуля path в Node.js, который возвращает абсолютный путь, объединяя переданные сегменты пути. Он полезен для построения пути к файлам и директориям независимо от текущей рабочей директории.

➡️ Пример:

const path = require('path');

// Построение абсолютного пути
const fullPath = path.resolve('folder', 'subfolder', 'file.txt');
console.log(fullPath); // Например: /Users/username/project/folder/subfolder/file.txt


🗣️ В этом примере path.resolve() объединяет сегменты пути и возвращает абсолютный путь к файлу. Это помогает избежать проблем с относительными путями и улучшает кросс-платформенность приложений.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📝 Подборка вакансий для мидлов

Архитектор, разработчик node js (nest js)
JavaScript (ES5, ES6, ES7, ES8, ES9), NestJS (Node.js), Git, Docker
от 200 000 ₽ | Средний (Middle)

Backend (Node.js) разработчик
TypeScript, Node.js, JavaScript
Уровень дохода не указан | Средний (Middle)

JavaScript FullStack разработчик
JavaScript, HTML, CSS, TypeScript, Node.js, Vue.js (2 и 3 версия), Git, SQL (MySQL, PostgreSQL), OAuth-протокол
от 80 000 до 130 000 ₽ | Средний (Middle)

Frontend разработчик (Vue)
JavaScript, HTML, CSS, Vue.js, Vuex, Flexbox, Grid Layout, Gulp, Webpack, REST API, Английский язык
Уровень дохода не указан | Средний (Middle)

Node.js Backend Developer (проект СЭД)
TypeScript, Node.js, JavaScript, React, MERN-стек (MongoDB, Express/Koa, React.js, Node.js), NoSQL/SQL (MongoDB, PostgreSQL), CI/CD
Уровень дохода не указан | Средний (Middle)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎2🔥1
👩‍💻 React Server Components и Next.js 13: новый шаг к оптимальному рендерингу

React Server Components (RSC) и Next.js 13 представляют новый виток в разработке React-приложений, предоставляя мощные инструменты для оптимизации и упрощения архитектуры.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡5👍2
👩‍💻 Упрощённый API для управления заметками

Создайте минимальный API на Node.js с использованием Express, который позволяет:

Получить список всех заметок.
Добавить новую заметку.

Требования:

1. Маршруты API:
• GET /notes: Возвращает массив всех заметок.
• POST /notes: Добавляет новую заметку (передаётся в теле запроса).
2. Хранилище данных:
Используйте массив в памяти. Каждая заметка должна содержать поля:
{
"id": "уникальный идентификатор",
"content": "текст заметки"
}

3. Требования к корректности:
Заголовок заметки (content) должен быть строкой и не быть пустым.

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

const express = require('express');
const { v4: uuidv4 } = require('uuid');

const app = express();
app.use(express.json());

let notes = [];

// Получить все заметки
app.get('/notes', (req, res) => {
res.json(notes);
});

// Добавить новую заметку
app.post('/notes', (req, res) => {
const { content } = req.body;
if (!content || typeof content !== 'string') {
return res.status(400).json({ error: 'Invalid content' });
}

const newNote = { id: uuidv4(), content };
notes.push(newNote);
res.status(201).json(newNote);
});

// Запуск сервера
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
➡️ Как внедрить наблюдаемость в микросервисное приложение с помощью OpenTelemetry, Jaeger и Prometheus

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👩‍💻 Паттерны для эффективного манипулирования DOM с ванильным JavaScript

В руководстве рассматриваются такие шаблоны работы с DOM на JavaScript, как выбор правильного querySelector, кэширование элементов и улучшение обработки событий.

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

Senior Backend Developer (Node.js)
Node.js, TypeScript, NestJS, PostgreSQL, Docker, Apache Kafka
Уровень дохода не указан | 3+ года

Full stack developer
PHP 8, MySQL, JavaScript, Node.js, Git, React, Laravel, jQuery, Symfony, Yii framework
от 2 000 до 4 000 $ | 3–5 лет

Разработчик SharePoint
JavaScript, ASP.NET, SharePoint, SSOM, CSOM, JSOM, MS SQL Server Reporting Services, MS Analysis Services
Уровень дохода не указан | 3+ года
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ HTTP-запросы: структура, методы, строка статуса и коды состояния

Статья объясняет базовые элементы HTTP: структуру запросов, методы для выполнения операций, строку статуса и коды состояния, помогающие понять результат взаимодействия с сервером.

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

Intersection Observer — это API, которое позволяет отслеживать, когда элемент входит или выходит из области видимости (viewport). Оно полезно для оптимизации ленивой загрузки изображений, бесконечной прокрутки или анимаций при прокрутке.

➡️ Пример:

// Целевой элемент для наблюдения
const target = document.querySelector('.observe-me');

// Callback-функция для обработки пересечений
const observerCallback = (entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
console.log('Элемент видим:', entry.target);
observer.unobserve(entry.target); // Останавливаем наблюдение
}
});
};

// Настройки наблюдателя
const observerOptions = {
root: null, // Вся область видимости
threshold: 0.5 // 50% видимости элемента
};

// Создаем наблюдатель
const observer = new IntersectionObserver(observerCallback, observerOptions);

// Начинаем наблюдение за элементом
observer.observe(target);


🗣️ В этом примере API отслеживает, когда .observe-me становится видимым на 50%. Intersection Observer делает прокрутку более производительной, так как избавляет от необходимости использовать события scroll.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
⚙️ Интеграция и сохранение выбранного языка пользователя в базу данных в фулстек-приложении на «Angular» и «NestJS»

Пример миграции базы данных для нового поля и добавления функционала на бэкенде и фронтенде. Пошаговый разбор: обновление схемы, логика на сервере и интерфейс для изменения данных.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Хост директивы: ключ к декомпозиции

Directive Composition API в Angular 15: hostDirectives в @Component/@Directive позволяет автоматически добавлять standalone-директивы, упрощая декомпозицию логики и внедряя новые подходы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 Не учи всё подряд — изучай по необходимости

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

👉 Совет: вместо хаотичного изучения «всего и сразу» учись в контексте реальных задач. Осваивай технологии, которые помогут тебе решать конкретные проблемы в работе. Так знания закрепляются быстрее и остаются в голове.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🥰2
🔎 Подборка зарубежных вакансий

Senior Backend Developer (Node.js), Billing Team
🟢Node.js, TypeScript, Kafka, PostgreSQL, Redis, Elasticsearch, ClickHouse, Docker
🟢от 3 800 до 6 300 $ | 6+ лет

Fullstack Developer (Vue.js + Nest.js)
🟢Vue.js, Nest.js, TypeScript, Webpack, Vite, Git, Nuxt 3
🟢Уровень дохода не указан | 3–6 лет

Full Stack Developer (Node.js, TypeScript, SQL)
🟢Node.js, Express.js, React, TypeScript, SQL, RESTful API, Apache Airflow, AWS
🟢Уровень дохода не указан | 5+ лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
⚙️ Как узнать у клиента мнение о товарах и доставке при помощи SMS и Node JS

Как автоматизировать SMS-опросы для обратной связи? Статья показывает, как отправлять SMS с помощью Node.js и Exolve SMS API, чтобы оперативно собирать мнения клиентов о товарах и услугах.

Читать...
Please open Telegram to view this post
VIEW IN 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
👍32
👩‍💻 ES2025: Атрибуты импорта JavaScript

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

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

Junior Full Stack Developer
🟢Vue.js, Node.js (Express), HTML, CSS (SCSS), JavaScript, TypeScript, PostgreSQL, MongoDB, Prisma
🟢от 75 000 до 90 000 ₽ | 1–3 года опыта

Junior Web-разработчик
🟢TypeScript, JavaScript, HTML, CSS, Three.js, React, Angular
🟢от 60 000 ₽ | 1–3 года опыта

Node.js backend разработчик (Nest.js)
🟢Node.js, Nest.js, TypeScript, TypeORM, Docker, RabbitMQ, Git, Elasticsearch, Logstash, Kibana, Grafana
🟢Уровень дохода не указан | 1–3 года опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
2
➡️ Пишем Realtime для Multiple-page application в микросервисной архитектуре

Статья рассказывает, как в MPA на микросервисной архитектуре избежать потерь сообщений при перезагрузке страницы. Рассматривается метод повторной отправки пропущенных WebSocket-сообщений.

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