Node.JS [ru] | Серверный JavaScript
11.5K subscribers
91 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
Эпопея шахматных движков: мой опыт в разработке шахматной программы

В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.

Читать...
👍1
👩‍💻 Как работает process.nextTick() в Node.js?

Метод process.nextTick() добавляет коллбэк в очередь "next tick" в Node.js, позволяя выполнить функцию после текущей операции, но перед следующей итерацией цикла событий. Это полезно, когда нужно завершить текущую операцию, а затем немедленно перейти к следующей задаче, не дожидаясь полного завершения цикла событий.

➡️ Пример:
console.log('Начало');

process.nextTick(() => {
console.log('Вызов в nextTick');
});

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

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


🗣 В этом примере process.nextTick() срабатывает сразу после выполнения синхронного кода, но до обработки задач из очереди цикла событий. Это делает nextTick() полезным для выполнения задач с высоким приоритетом.


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

Senior/Lead Full-Stack Engineer (JS)
🟢TypeScript, Node.js, PostgreSQL, Front-end framework, containerization, CI/CD
🟢Уровень дохода не указан | Требуемый опыт: более 6 лет

Тимлид (Fullstack-разработчик)
🟢D7, Bitrix ORM, PHP, Node.js, Next.js, Fastify, React, React Native, Git
🟢от 130 000 до 150 000 ₽ | Требуемый опыт: 3–6 лет

Lead Backend Developer (Node.js)
🟢Node.js, JavaScript, TypeScript, Apache Kafka, GraphQL, REST, Kubernetes, GitLab, AWS, PostgreSQL, NestJS
🟢от 6,000 до 7,200 $ | Требуемый опыт: более 6 лет

Tech/Team Lead Backend Developer (Node.Js)
🟢Node.js, NestJS, Redis, Apache Kafka, WebSocket, GraphQL, AWS, API
🟢Уровень дохода не указан | Требуемый опыт: 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👏1
👩‍💻 CI/CD для начинающих: деплой React-приложения без боли

В статье показан процесс развертывания React-приложения на сервере: от упаковки кода в CI/CD до отправки его в прод. Всё на примере простого to-do приложения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
💭 Скорость — не главный показатель успеха. Гораздо важнее — чёткое понимание, куда ты идёшь.

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

🎯 Что делать: раз в месяц выдели время на анализ — какие задачи реально приближают тебя к целям, а какие тянут энергию впустую? Подумай, что можно делегировать, что автоматизировать, а от чего отказаться. Сосредоточься на главном, и почувствуешь, что каждое действие наконец работает на твой рост.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🔎 Подборка валютных вакансий

Node.js разработчик
🟢Node.js, PostgreSQL, MySQL, MongoDB, Redis, TypeScript, Jest, Chai, Mocha, Cypress, Puppeteer, OAuth, Bitbucket, RabbitMQ
🟢от 2 500 $ | 3–6 лет

Middle Fullstack/Frontend Developer (React.js + Node.js)
🟢TypeScript, JavaScript, React.js, RxJS, Node.js, PostgreSQL, AWS, Electron
🟢от 2 000 до 3 500 $ | 3–6 лет

Full Stack React разработчик
🟢TypeScript, React, Node.js, Next.js, Python, HTML, CSS, SQL, NoSQL, PostgreSQL
🟢от 2 000 $ | 1–3 года

Fullstack Developer
🟢Node.js, MongoDB, Vue.js, React, TypeScript, Webpack, Clickhouse, Elasticsearch
🟢от 3 800 до 6 500 $ | более 5 лет

Middle/Senior Full Stack Developer (Node.js + React)
🟢TypeScript, Node.js, React, WebSocket, RxJS, PostgreSQL
🟢до 2 000 $ | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚙️ Методы жизненного цикла веб-компонента

Вчера мы изучили различные способы инстанцирования веб-компонента. В статье был упомянут метод жизненного цикла connectedCallback(). Сегодня поговорим об остальных методах жизненного цикла веб-компонентов.

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

Напишите скрипт на Node.js, который принимает путь к текстовому файлу, считывает его содержимое и выводит количество строк в файле.

➡️ Пример:

node lineCount.js example.txt
Количество строк в файле: 10


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

const fs = require('fs');
const path = process.argv[2];

if (!path) {
console.log('Пожалуйста, укажите путь к файлу.');
process.exit(1);
}

fs.readFile(path, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка при чтении файла:', err);
return;
}
const lineCount = data.split('\n').length;
console.log(`Количество строк в файле: ${lineCount}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5💩3
👩‍💻 Создание веб-компонента с нуля

Сегодня я решил, что мы создадим HTML веб-компонент с нуля. Давайте создадим компонент, показывающий и скрывающий текст при переключении кнопки.

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

Напишите скрипт на Node.js, который принимает путь к текстовому файлу и строку для поиска, а затем выводит все строки из файла, содержащие указанную строку.

➡️ Пример:

node filterLines.js example.txt "Node.js"

Строки, содержащие "Node.js":
Node.js — это платформа для серверного программирования.
Работа с Node.js позволяет создавать масштабируемые приложения.


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

const fs = require('fs');
const filePath = process.argv[2];
const searchString = process.argv[3];

if (!filePath || !searchString) {
console.log('Использование: node filterLines.js <filePath> <searchString>');
process.exit(1);
}

fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка при чтении файла:', err);
return;
}

const matchingLines = data
.split('\n')
.filter(line => line.includes(searchString));

if (matchingLines.length) {
console.log(`Строки, содержащие "${searchString}":`);
matchingLines.forEach(line => console.log(line));
} else {
console.log(`Строк, содержащих "${searchString}", не найдено.`);
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
💩5
🔎 Подборка вакансий для джунов

Junior NodeJS Developer
🟢Node.js, JavaScript, HTTP, PostgreSQL
🟢до 100 000 ₽ | 1–3 года опыта

Junior Backend NodeJS Developer
🟢Node.js, PostgreSQL, TypeScript, Git, JavaScript
🟢Уровень дохода не указан | Без опыта

Junior Backend Developer
🟢JavaScript, Node.js, Game Programming
🟢Уровень дохода не указан | Без опыта

Junior Frontend-разработчик
🟢JavaScript, TypeScript, HTML, CSS, React, Next.js, Electron, SCSS, Tailwind
🟢от 30 000 до 60 000 ₽ | Без опыта

Junior Fullstack Developer
🟢JavaScript, TypeScript, Git, GraphQL, Postgres, Redis, Next.js, React, Node.js
🟢Уровень дохода не указан | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Управление Node.js 19 и NPM 9 с помощью NVM

Статья знакомит с использованием NVM для управления версиями Node.js и npm, показывая примеры с Node.js 19 и npm 9. Объясняются преимущества NVM для безопасного обновления и тестирования новых возможностей.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👎1🎉1
👩‍💻 Как работает потокобезопасность (thread safety) в Node.js?

Node.js работает в однопоточном режиме, используя цикл событий для обработки асинхронных операций. Однако потокобезопасность становится важной при работе с параллельными задачами или при использовании worker_threads. В таких случаях необходимо обеспечить изоляцию данных между потоками.

➡️ Пример:
const { Worker, isMainThread, parentPort } = require('worker_threads');

if (isMainThread) {
const worker = new Worker(__filename);
worker.on('message', msg => console.log(`Получено от воркера: ${msg}`));
worker.postMessage('Привет из основного потока!');
} else {
parentPort.on('message', msg => {
console.log(`Получено в воркере: ${msg}`);
parentPort.postMessage('Привет обратно!');
});
}


🗣 Потокобезопасность в Node.js обеспечивается изоляцией памяти worker_threads, и при необходимости обмена данными рекомендуется использовать сообщения между потоками для минимизации риска гонок данных.


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

Middle Full Stack (Telegram Mini Apps)
🟢Node.js, React (Next.js), TypeScript, Docker, Git, Telegram API
🟢от 150 000 до 300 000 ₽ | 1–3 года

Middle Backend Developer (Node.js)
🟢TypeScript, JavaScript, Node.js, PostgreSQL, AWS, Electron, RxJS
🟢от 2 000 до 3 500 $ | 3–6 лет

Node.js/JavaScript Разработчик/Developer
🟢Node.js, JavaScript, TypeScript, Vue.js, PHP, MySQL, PostgreSQL, Elasticsearch, RabbitMQ, Redis, Apache Kafka, Docker, Nest.js
🟢от 100 000 ₽ | 1–3 года

Middle Node.JS-developer
🟢Node.js, TypeScript, Nest.js, PostgreSQL, RabbitMQ, Git, Docker
🟢от 1 500 € | 1–3 года

Middle Fullstack developer (JS, Node.js, ReactJS)
🟢JavaScript, Node.js, React.js, HTML, CSS, Git, Webpack, Babel, Linux
🟢от 2 000 до 4 000 $ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🖥 Интеграция ChatGPT с Node.js: руководство для начинающих

ChatGPT-3 позволяет добавить в приложение Node.js такие функции, как ответы чат-бота на вопросы пользователя, автоперевод, автореферирование и генерация связных текстов. Предлагаем пошаговое руководство по интеграции ChatGPT с Node.js.

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

Напишите скрипт на Node.js, который принимает URL-адрес, проверяет его доступность и выводит в консоль статус ответа. Если URL доступен, выведите Статус: 200 - Доступен, если нет — URL недоступен.

➡️ Пример:

node checkUrl.js https://example.com

Статус: 200 - Доступен
URL недоступен


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

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

if (!url) {
console.log('Пожалуйста, укажите URL.');
process.exit(1);
}

https.get(url, (res) => {
console.log(`Статус: ${res.statusCode} - ${res.statusCode === 200 ? 'Доступен' : 'Недоступен'}`);
}).on('error', (err) => {
console.log('URL недоступен');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🎞 Я создал Telegram-бота (FYTT), который ищет Telegram-каналы всех ваших подписок на YouTube

Статья рассказывает о создании Telegram-бота для поиска каналов любимых авторов, переместившихся с YouTube. Описан стек технологий: Node.js с telegraf.js, MongoDB с mongoose, Express.js, Google API и Lemnos API для работы с данными.

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

Node.js Developer
🟢Node.js, TypeScript, PostgreSQL, RabbitMQ/Kafka/ZeroMQ, микросервисная архитектура
🟢2,500–3,500 $ на руки | 3–6 лет

Senior Backend Developer / Старший разработчик Node.js
🟢Node.js, TypeScript, PostgreSQL, Redis, RabbitMQ, Kubernetes
🟢Уровень дохода не указан | 3–6 лет

Senior Frontend Developer (gambling)
🟢JavaScript, Node.js, React Native, CSS, REST API, WebAssembly (WASM)
🟢Уровень дохода не указан | 3–6 лет

Разработчик Node.js
🟢Node.js, TypeScript, Nest.js, Express.js, TypeORM, DDD
🟢Уровень дохода не указан | 3–6 лет

Backend разработчик Node.js (Middle-Senior)
🟢Node.js, NestJS, PostgreSQL, RabbitMQ, Docker, Jest, Swagger (OpenAPI), Git
🟢до 350,000 ₽ на руки | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM