we_use_js | Unsorted

Telegram-канал we_use_js - Node.JS [ru] | Серверный JavaScript

11560

Все о разработке backend части на JavaScript (Node JS). А так же: Express JS, Next JS, Nest, Socket.IO Канал на бирже - https://telega.in/c/we_use_js По вопросам рекламы или разработки: @g_abashkin РКН: https://vk.cc/cGhHyj

Subscribe to a channel

Node.JS [ru] | Серверный JavaScript

➡️ Самые интересные статьи за последние дни:

Слабоумие и отвага: как найти ликвидные облигации с доходностью до 40% и ежемесячными фиксированными выплатами

Nuxt I18n Micro: Как я решил написать свой i18n для NuxtJS

Четыре пункта, как улучшить код Backend стажера

Получение серверного времени через WebSockets и отображение его в Angular-приложении

Добавление поддержки нескольких языков в NestJS и Angular приложениях

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Array.filter() под микроскопом: секреты работы с массивами

В статье подробно разбирается метод Array.prototype.filter() в JavaScript. Поговорим о его внутреннем механизме, особенностях работы и нюансах, которые могут быть полезны разработчикам.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

⚙️ Что такое events модуль в Node.js?

events — это встроенный модуль в Node.js для работы с событиями. Он позволяет испускать и обрабатывать пользовательские события.

➡️ Пример:

const EventEmitter = require('events');

// Создаем новый экземпляр EventEmitter
const emitter = new EventEmitter();

// Добавляем обработчик события
emitter.on('greet', (name) => {
console.log(`Привет, ${name}!`);
});

// Испускаем событие
emitter.emit('greet', 'Иван');


🗣️ В этом примере событие greet создаётся и обрабатывается с использованием EventEmitter. Это основной инструмент для реализации событийной архитектуры в Node.js.


🖥 Подробнее тут

Читать полностью…

Node.JS [ru] | Серверный JavaScript

📈 Подборка статей для вашей карьеры

Как устроен Профсоюз работников IT

Ёлочка, гори, айтишник, не гори

Стоит ли идти в геймдев в 2025 году?

Нам не нужны кодеры, нам нужны инженеры-разработчики

Как мы разработали систему грейдинга для системных аналитиков

Читать полностью…

Node.JS [ru] | Серверный JavaScript

⚙️ Четыре пункта, как улучшить код Backend стажера

В статье разобраны распространенные проблемы в коде начинающих разработчиков с конкретными решениями: грамотная инъекция зависимостей, использование Scoped-сервисов, паттерн Generic Repository и создание Stateless-классов.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Сервер, возвращающий случайную цитату

Создайте HTTP-сервер на Node.js, который по запросу возвращает случайную цитату из заранее заданного списка.

Ожидаемое поведение:

Сервер запускается на порту 3000.
При GET-запросе на /quote сервер возвращает JSON с случайной цитатой.
При запросе на другой путь возвращается сообщение об ошибке.

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

const http = require('http');

const quotes = [
"The only limit to our realization of tomorrow is our doubts of today.",
"Do not watch the clock. Do what it does. Keep going.",
"The future depends on what you do today.",
"Success is not the key to happiness. Happiness is the key to success.",
"Hardships often prepare ordinary people for an extraordinary destiny."
];

const server = http.createServer((req, res) => {
res.setHeader('Content-Type', 'application/json');

if (req.url === '
/quote' && req.method === 'GET') {
const randomQuote = quotes[Math.floor(Math.random() * quotes.length)];
res.writeHead(200);
res.end(JSON.stringify({ quote: randomQuote }));
} else {
res.writeHead(404);
res.end(JSON.stringify({ error: 'Invalid endpoint' }));
}
});

server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});

Читать полностью…

Node.JS [ru] | Серверный JavaScript

⚙️ Что такое path модуль в Node.js и как он используется?

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

➡️ Пример:

const path = require('path');

const fullPath = path.join(__dirname, 'files', 'example.txt'); // Объединение путей
console.log(fullPath); // Полный путь к файлу

console.log(path.basename(fullPath)); // example.txt (имя файла)
console.log(path.extname(fullPath)); // .txt (расширение файла)


🗣️ В этом примере модуль path используется для создания и анализа путей к файлам, что упрощает работу с файловой системой в Node.js.


🖥 Подробнее тут

Читать полностью…

Node.JS [ru] | Серверный JavaScript

⚙️ Как 9.3 уязвимость ждала открытия 3 года

Я расскажу, как мы нашли в Next.js уязвимость с оценкой 9.3, которая спокойно пряталась в middleware аж три года, пока её никто не трогал.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Тестирование Node.js с использованием Mocha, Chai и Sinon

JavaScript и Node.js имеют множество библиотек тестирования и утверждений, таких как Jest, Jasmine, Qunit и Mocha. В этой статье мы рассмотрим, как использовать Mocha для тестирования, Chai для утверждений и Sinon для моков, шпионов и стабов.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

🤔 Использовать двойные кавычки или нет

Совсем недавно я снова услышал, что в PHP до сих пор обсуждают одинарные и двойные кавычки, и что использование одинарных кавычек — это просто микрооптимизация, но если вы привыкнете постоянно использовать одинарные кавычки, то сэкономите кучу процессорных циклов!

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

📈 Подборка статей для вашей карьеры

ИТ-шники: разновидности, отличительные черты

Софт-скиллы для инженеров: готовим новое поколение специалистов техподдержки

Движение вверх: как стать CTO — на примере пяти историй ИТ-директоров

Какие айтишники будут востребованы в 2035г, а какие – нет?

Как мы помогаем развиваться web3 front-end разработчикам благодаря нашей Карте развития в 2024 году

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Как спрятать любые данные в PNG

Статья объясняет, как спрятать данные в PNG-изображении, используя младшие биты (LSB) пикселей. Рассматривается структура PNG, каналы R, G, B и альфа, а также методы внедрения данных без заметного изменения картинки.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Задачка по NodeJS

Напишите скрипт, который принимает путь к папке, считывает все файлы в этой папке и записывает их имена, размеры (в байтах) и дату последнего изменения в JSON-файл.

Пример использования:

node generateFileInfo.js ./example-folder

"name": "file1.txt",
"size": 1234,
"lastModified": "2023-09-01T12:34:56.789Z"

"name": "file2.js",
"size": 456,
"lastModified": "2023-09-02T14:56:23.123Z"


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

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

const folderPath = process.argv[2];

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

fs.readdir(folderPath, (err, files) => {
if (err) {
console.error('Ошибка чтения папки:', err.message);
return;
}

const fileInfo =
files.map(file => {
const filePath = path.join(folderPath, file);
const stats = fs.statSync(filePath);

return {
name: file,
size: stats.size,
lastModified: stats.mtime.toISOString(),
};
});

fs.writeFile('files.json', JSON.stringify(fileInfo, null, 2), err => {
if (err) {
console.error('Ошибка записи файла:', err.message);
return;
}
console.log('Информация о файлах сохранена в files.json');
});
});

Читать полностью…

Node.JS [ru] | Серверный JavaScript

🤔 Как избавиться от WebSockets и сэкономить $1 млн в год: неожиданные решения для оптимизации

Детальный разбор того, как простой анализ производительности помог обнаружить неэффективность WebSocket и оптимизировать передачу данных.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

⚡️Освойте Vue.js и ускорьте разработку в разы!

Vue.js — это быстрый, гибкий и удобный фреймворк для фронтенда. С ним можно быстро создавать сложные веб-приложения, не тратя месяцы на освоение новых концепций. Хотите научиться писать чистый код, разрабатывать SPA и внедрять современные подходы к UI?

На этом обучении вы разберетесь в архитектуре Vue.js, освоите Vue-router, Vuex, Webpack и TypeScript. Научитесь создавать масштабируемые приложения, работать с GraphQL, Firebase и тестировать код с Jest и Cypress.

Vue проще в освоении, чем Angular, и предоставляет более декларативный подход по сравнению с React. Вы научитесь работать с реактивностью, шаблонами и API, которые позволят писать чистый и поддерживаемый код. Этот курс поможет вам выделиться среди других фронтенд-разработчиков.

👉Пройдите вступительное тестирование прямо сейчас и получите скидку на обучение: https://otus.pw/wLyH/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: 2VtzquxBB9J

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Паттерны для эффективного манипулирования DOM с ванильным JavaScript

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

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

➡️ Web Performance API: Измерьте важное

От медленного к быстрому: Использование JavaScript Performance API для оптимизации веб-приложений

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

⚙️ Что бы я хотел знать о Postgres, когда начал его изучать

Я профессионально работаю над веб-приложениями уже более десяти лет, и за это время пришлось научиться использовать множество различных систем и инструментов. В процессе обучения я обнаружил, что официальная документация, как правило, оказывается наиболее полезной.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

🤔 Слабоумие и отвага: как найти ликвидные облигации с доходностью до 40% и ежемесячными фиксированными выплатами

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

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

Хотите научиться управлять реактивностью в Vue 3? Это ключевая концепция для создания динамичных и интерактивных интерфейсов!

📌На нашем вебинаре вы разберете, как работает реактивность во Vue 3 и почему это важно для ваших приложений. Мы познакомим вас с Composition API — новым подходом к организации кода, который повысит гибкость и поддерживаемость ваших проектов.

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

Кому будет полезен вебинар?
- Разработчикам, которые хотят плавно перейти с Vue 2 на Vue 3.
- Новичкам, которые хотят понять основы реактивности и писать структурированный код.
- Опытным разработчикам, стремящимся углубить знания и освоить Composition API для крупных проектов.

👉Регистрируйтесь и получите скидку на обучение «JavaScript Developer. Professional»: https://vk.cc/cKq8sh

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Node.JS [ru] | Серверный JavaScript

💬 Добавление поддержки нескольких языков в NestJS и Angular приложениях

В этой статье я добавлю поддержку нескольких языков в NestJS и Angular приложениях, для сообщений в ошибках, уведомлениях и данных полученных из базы данных.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

📈 Подборка статей для вашей карьеры

История: работа в чешском Red Hat

Циничные заметки о карьере в IT от «гейткипера»

Рецензия на книгу “Изучаем паттерны проектирования JavaScript, 2-е издание”

Всероссийский рейтинг IT-брендов работодателей 2024

Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки

Читать полностью…

Node.JS [ru] | Серверный JavaScript

26–27 апреля проводим Weekend Offer Frontend

Устроиться в Яндекс за выходные — реально. Ищем крутых фронтендеров с опытом работы от 4 лет, готовых работать в офисном или гибридном режиме в России.

Подавайте заявку до 23 апреля — и всего за два дня пройдите все технические собеседования. После сможете пообщаться с нанимающими менеджерами и выбрать из 10 команд ту, которая покажется самой интересной. Если всё сложится хорошо, сразу же пришлём вам офер.

Узнать подробности и зарегистрироваться.

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 1/2: нюансы работы с DOM

Статья объясняет, как создать невероятно быстрый многопоточный Data Grid на 1 000 000 строк с использованием Vanilla JavaScript. Рассматриваются нюансы работы с DOM для повышения производительности.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

⚙️ Что такое os модуль в Node.js и как он используется?

os — это встроенный модуль в Node.js, который предоставляет информацию о операционной системе, включая архитектуру, платформу, память и данные о процессорах. Он полезен для написания кросс-платформенных приложений и мониторинга системы.

➡️ Пример:

const os = require('os');

console.log('Платформа:', os.platform()); // Выводит платформу, например 'linux'
console.log('Архитектура:', os.arch()); // Выводит архитектуру, например 'x64'
console.log('Свободная память:', os.freemem()); // Количество свободной памяти


🗣️ В этом примере модуль os используется для получения базовой информации об операционной системе. Это удобно для настройки приложений под конкретные системные параметры.


🖥 Подробнее тут

Читать полностью…

Node.JS [ru] | Серверный JavaScript

📆 Как я создал Vanilla Calendar Pro — легкий и гибкий календарь на JavaScript с использованием TypeScript

Статья рассказывает о создании Vanilla Calendar Pro — датапикера, собравшего 480+ звезд на GitHub. Описывается путь от первого опыта в open source до популярного инструмента, востребованного разработчиками.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Обзор наследования в JavaScript

Статья изучает шаблоны наследования в JavaScript, основанные на прототипах. Рассматриваются их уникальные особенности и применение, чтобы выбрать наиболее подходящий подход для задач.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

💬 Различные (и современные) способы переключения контента

Давайте уделим немного времени рассмотрению Dialog API, Popover API и остальных. Рассмотрим, когда лучше использовать каждый из них в зависимости от требований. Модальные или немодальные? JavaScript или чистый HTML/CSS? Не уверены? Не волнуйтесь, мы разберёмся во всём этом.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Испортили git rebase?

Git rebase — мощный инструмент, помогающий перенести или объединить один, или несколько коммитов в новый базовый коммит, переписав историю проекта так, чтобы ваша ветка выглядела созданной из другого коммита. Он помогает поддерживать более чистую и линейную историю.

Читать...

Читать полностью…

Node.JS [ru] | Серверный JavaScript

👩‍💻 Расширения VSCode для комфортной работы с проектами

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

Читать...

Читать полностью…
Subscribe to a channel