Node.JS [ru] | Серверный JavaScript
11.5K subscribers
92 photos
6 videos
25 files
3.16K 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 сервер, который обрабатывает два маршрута:

/hello: Возвращает текст "Hello, World!".
/time: Возвращает текущую дату и время в формате ISO.

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

const http = require('http');

const server = http.createServer((req, res) => {
if (req.url === '/hello') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, World!');
} else if (req.url === '/time') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end(new Date().toISOString());
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
}
});

server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚙️ Хост директивы: ключ к декомпозиции

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Как мы создали микросервисное приложение для анализа вакансий с hh.ru: Docker, Kafka, Elasticsearch и ещё немного магии

Создание распределённого приложения для анализа вакансий hh.ru: микросервисы, контейнеры, брокеры сообщений и визуализация данных в действии. Полезно для аналитиков, компаний и соискателей.

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

Senior back-end NodeJS / TypeScript developer (Web3, blockchain)
🟢Node.js, TypeScript, NestJS, PostgreSQL, MongoDB, Redis, RabbitMQ, Docker, Kubernetes, Web3, Blockchain
🟢до 6 000 $ на руки | 3–6 лет

Senior Backend Developer (Node.js)
🟢Node.js, TypeScript, PostgreSQL, Docker, Kafka, Kubernetes, REST API
🟢до 200 000 ₽ на руки | Более 6 лет

Middle+/Senior Node.js Developer
🟢Node.js, TypeScript, PostgreSQL, Redis, RabbitMQ, Docker, Web3
🟢от 2 000 до 3 500 $ на руки | 3–6 лет

Middle / Senior Fullstack / Backend разработчик
🟢TypeScript, Node.js, NestJS, Vue.js, PostgreSQL, REST API, Docker, Git
🟢от 150 000 до 250 000 ₽ на руки | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Интернационализация (i18n) бэкенда в Express с использованием Intlayer

Недавно мне понадобилось добавить поддержку нескольких языков в API на базе Express. Я решил поделиться кратким руководством для тех, кто хочет сделать свой бэкенд отвечающим переведенным контентом в зависимости от предпочтительного языка пользователя.

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

process.nextTick позволяет выполнять функцию сразу после текущей операции, но перед началом следующего цикла событий (event loop). Это полезно для выполнения задач с высоким приоритетом.

➡️ Пример:

console.log('Начало');

process.nextTick(() => {
console.log('Выполнено в nextTick');
});

console.log('Конец');

// Вывод:
// Начало
// Конец
// Выполнено в nextTick


🗣️ В этом примере process.nextTick выполняет функцию между выводом "Конец" и началом следующего цикла событий. Это помогает при обработке срочных задач.


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

Ведущий back-end программист (удаленно)
🟢Python, Node.js, TypeScript, PostgreSQL, Redis, Docker, SQL, Git, Linux
🟢от 200 000 ₽ на руки | 3–6 лет

Tech Lead (TypeScript+React+Node.js)
🟢TypeScript, React, Node.js, MobX, Jest, Webpack, NestJS, PostgreSQL, REST, WebSockets, Electron
🟢от 400 000 ₽ на руки | Более 6 лет

Team Lead Back-end Node.JS (B2B Team)
🟢Node.js, SQL, NoSQL, PostgreSQL, Redis, Docker, Kubernetes
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Изучение Символов JavaScript

Глубокое погружение в JavaScript Символы — что это такое, чем они важны и как их эффективно использо3вать

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😢1
🔎 Подборка зарубежных вакансий

Продакт Разработчик Growth React/Node.js Full stack (Удаленно)
🟢React, Node.js, JavaScript, TypeScript, PostgreSQL
🟢от 2 500 до 3 200 $ на руки | 3–6 лет

Full-Stack разработчик (Node Js - React Js) (middle+)
🟢TypeScript, React, Effector, Vite, Styled Components, NestJS, PostgreSQL, TypeORM, Docker, SOAP, Node.js
🟢от 1 000 000 ₸ на руки | 3–6 лет

Backend-разработчик
🟢JavaScript, Node.js, TypeScript, Web3, Blockchain, Cryptocurrency, Fullstack
🟢от 3 500 до 4 500 € на руки | Более 6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
➡️ Бесплатное обучение фулстек-разработке веб-сервиса с нуля по видео-урокам с исходным кодом и поддержкой

Статья представляет курс по созданию IT-продуктов: от выбора архитектуры до радости от разработки. Обучение включает 141 урок, доступный бесплатно, с акцентом на качество, масштабируемость и удобство работы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Проверка сбалансированных скобок

Напишите функцию, которая принимает строку, содержащую различные типы скобок ((), {}, []), и проверяет, являются ли они сбалансированными. Строка считается сбалансированной, если каждая открывающая скобка имеет соответствующую закрывающую в правильном порядке.

Пример: Для строки "{[()]}" функция должна вернуть true, а для строки "{[(])}"false.

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

function isBalanced(str) {
const stack = [];
const pairs = { ')': '(', '}': '{', ']': '[' };

for (let char of str) {
if (['(', '{', '['].includes(char)) {
stack.push(char);
} else if ([')', '}', ']'].includes(char)) {
if (stack.pop() !== pairs[char]) return false;
}
}
return stack.length === 0;
}

// Пример использования
console.log(isBalanced("{[()]}")); // true
console.log(isBalanced("{[(])}")); // false
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ PHP Typed: Маленький Composer пакет, который нарушает PHP правила ради вас

Звучит слишком громко? Давайте уточним, чтобы избежать обманутых ожиданий: этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
👩‍💻 Запись данных в файл

Создайте Node.js скрипт, который принимает текст через стандартный ввод и сохраняет его в файл output.txt. Если файл уже существует, новые данные должны добавляться в конец файла.

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

const fs = require('fs');
const readline = require('readline');

const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});

rl.question('Введите текст для записи: ', (input) => {
fs.appendFile('output.txt', input + '\n', (err) => {
if (err) {
console.error('Ошибка записи в файл:', err);
} else {
console.log('Текст успешно сохранён в output.txt');
}
rl.close();
});
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🔎 Подборка вакансий для джунов

Junior Web Developer
🟢JavaScript, TypeScript, React, HTML, CSS, Git
🟢Уровень дохода не указан | 1–3 года опыта

Junior Developer
🟢Java, Spring Framework, Node.js, React.js, TypeScript
🟢от 65 000 до 75 000 ₽ | Без опыта

Backend-разработчик
🟢TypeScript, Node.js, Express, Nest.js, Redis, MongoDB, PostgreSQL, ORM, RestApi, GraphQL, gRPC, WebSocket, Git, Linux
🟢Уровень дохода не указан | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👩‍💻 WeakMap и WeakSet в JavaScript

Какие структуры данных помогут избежать утечек памяти в JavaScript? Статья раскрывает особенности WeakMap и WeakSet: слабые ссылки, автоматическое управление памятью и неожиданные сценарии их применения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ Как работает деструктуризация объектов и массивов в JavaScript?

Деструктуризация — это удобный синтаксис в JavaScript, который позволяет извлекать значения из массивов и объектов и присваивать их переменным. Это делает код более лаконичным и удобным, особенно при работе с объектами с множеством свойств.

➡️ Пример:
// Деструктуризация объекта
const user = { name: 'Alice', age: 25 };
const { name, age } = user;
console.log(name); // 'Alice'
console.log(age); // 25

// Деструктуризация массива
const colors = ['red', 'green', 'blue'];
const [firstColor, secondColor] = colors;
console.log(firstColor); // 'red'
console.log(secondColor); // 'green'


🗣️ Деструктуризация полезна для удобного доступа к значениям из объектов и массивов, минимизируя дублирование кода и делая его более читаемым.


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

JavaScript FullStack Developer
JavaScript, TypeScript, Node.js, RabbitMQ, Docker, React, Vue.js
до 220 000 ₽ на руки | 3–6 лет

Middle Fullstack Developer (NodeJS)
Node.js, TypeScript, SQL, Docker, CI/CD
до 180 000 ₽ на руки | 1–3 года

Разработчик Node.js («Управление складскими процессами»)
Node.js, TypeScript, NestJS, Apache Kafka, MongoDB, Redis, ClickHouse, Elasticsearch
Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Заставляем работать демонстрационный пример из официальной документации npm пакета csrf-csrf

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

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