Node.JS [ru] | Серверный JavaScript
11.5K subscribers
91 photos
6 videos
25 files
3.15K 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
💪 Хотите работать в финтехе? Освойте Solidity!

👉 Востребованное обучение для разработчиков с опытом программирования от года, которые хотят получить навыки написания кода и аудита безопасности, чтобы попасть в одну из самых перспективных и высокооплачиваемых сфер IT.

Освойте разработку децентрализованных приложений на профессиональном уровне всего за 5 месяцев на онлайн-курсе «Solidity Developer» от OTUS!

Забудьте о скучном обучении — здесь вас ждут настоящие челленджи и нестандартные практические решения. А еще крутые проекты для портфолио!

👉 Пройдите вступительные тест для оценки подходит ли вам курс: https://vk.cc/cOihoa

🎁 Получите welcome скидку для успешное прохождение теста. Подробности уточняйте у менеджера.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
⚙️ Что такое Promise.finally в JavaScript и зачем он используется?

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

➡️ Пример:

const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('Успех!'), 1000);
});

promise
.then(result => console.log(result)) // 'Успех!'
.catch(error => console.error(error))
.finally(() => console.log('Завершено!'));


🗣️ В этом примере finally вызывается после завершения промиса, независимо от того, был он успешно выполнен или отклонён. Это удобно для задач, таких как закрытие соединений или очистка.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🛡 Парольная защита статичной HTML-страницы на JS

Как защитить веб-страницы паролем без серверной поддержки? Инструменты StatiCrypt и Portable Secret помогут зашифровать HTML с использованием AES-256. Статические страницы остаются безопасными даже на публичном хостинге.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Как за 10 минут создать тестировщик нагрузки для API на Node.js

Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤩Хотите, чтобы ваши React-приложения не просто работали, а вызывали вау-эффект?

Присоединяйтесь к открытому уроку «Анимируем React: от нуля до вау-эффекта» 12 августа в 20:00 МСК. Мы покажем, как создать живые, отзывчивые интерфейсы с помощью библиотеки анимаций Framer Motion и API Intersection Observer. Разберём, как добавить современный UX без перегрузки сторонними библиотеками, чтобы каждый элемент интерфейса был динамичным и запоминающимся.

Освойте практические подходы и техники, которые используют профессионалы для создания визуально выразительных интерфейсов. Получите знания, которые значительно улучшат ваш опыт в React.

⚡️Присоединяйтесь к открытому вебинару и получите скидку на курс «React.js Developer»: https://vk.cc/cOlfdo

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👩‍💻 Почему важно проверять response.ok в Fetch API и почему HTTP-ошибки не вызывают отклонение промисов

Асинхронный JavaScript: разница между отправкой запроса и его результатом. Узнай, почему проверка response.ok важна для обработки ошибок на сервере, и как избежать ловушки, надеясь только на блок catch.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
➡️ Оптимизация React-приложений: Используем useTransition, useDeferredValue и useOptimistic для плавного UI

Узнайте, как использовать хуки React (useTransition, useDeferredValue и useOptimistic) для создания более отзывчивых интерфейсов. Советы, примеры и приёмы для плавной работы с данными!

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Расширения VSCode для комфортной работы с проектами

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
👩‍💻 Испортили git rebase?

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
📡 Обрабатывай ошибки так, будто они неизбежны

Если ошибка «маловероятна», значит, она обязательно случится — в самый неподходящий момент.

👉 Совет: добавляй защиту, логирование и fallback-механику даже в тех местах, где уверен на 100%. Код без плана B — это не надёжный код.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🐳2🔥1😁1
👩‍💻 Создание ванильного JavaScript signal() с Proxy

Статья объясняет, как с помощью Proxy в ванильном JavaScript реализовать реактивные сигналы, упрощая управление состоянием. Рассматриваются основные принципы и примеры применения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🤔 Почему мы выбрали gRPC вместо tRPC?

Статья объясняет, как gRPC упрощает переход от монолита к микросервисам в приложениях на основе Domain Driven Design. Рассматриваются преимущества: прямые вызовы, типизация, децентрализация и автоматизация методов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Как работает маршрутизация Express

Как в приложении Node.js происходит обработка клиентских запросов? Какая функция помогает обрабатывать тот или иной запрос? Чтобы ответить на эти вопросы, заглянем в "закулисье" маршрутизации фреймворка Express.

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

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

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

node weather.js London
Текущая температура в London: 15°C


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

const https = require('https');

const city = process.argv[2];
const apiKey = 'your_openweathermap_api_key'; // Замените на свой API-ключ

if (!city) {
console.error('Пожалуйста, укажите город.');
process.exit(1);
}

const url = `
https://api.openweathermap.org/data/2.5/weather?q=${city}&units=metric&appid=${apiKey}`;

https.get(url, (res) => {
let data = '';

res.on('data', (chunk) => {
data += chunk;
});

res.on('end', () => {
const weather = JSON.parse(data);
if (weather.main) {
console.log(`Текущая температура в ${city}: ${weather.main.temp}°C`);
} else {
console.error(`Не удалось получить данные о погоде для города: ${city}`);
}
});
}).on('error', (err) => {
console.error('Ошибка:', err.message);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
⚙️ Используем ShakaPlayer в LightningJS

Хотите интегрировать ShakaPlayer в приложение Lightning для управления воспроизведением? Изучите краткое руководство по расширению стандартного медиаплеера в Lightning и использованию его с ShakaPlayer.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️🚀 Как работают децентрализованные приложения и что такое Web3?

👉 На открытом уроке 14 августа в 20:00 МСК мы разберём, почему смарт-контракты и блокчейн лежат в основе успешных децентрализованных приложений. Вы увидите реальные кейсы, узнаете, как использовать Solidity для создания безопасных и эффективных приложений, а также разберете перспективы Web3 и развития децентрализованных технологий.

💪 Этот урок откроет для вас новые горизонты в мире блокчейна и Web3. Вы получите актуальные знания, которые помогут вам в освоении Solidity и создании ваших первых dApp.

🎁 Присоединяйтесь к уроку и получите специальное предложение на курс «Solidity Developer».

👉 Для участия зарегистрируйтесь: https://vk.cc/cOwHmH

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🤔 Как избавиться от WebSockets и сэкономить $1 млн в год: неожиданные решения для оптимизации

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Различные (и современные) способы переключения контента

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Сканирование папки на расширения файлов

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

Пример:

node fileExtensions.js ./example-folder
txt: 3
js: 5
json: 2


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

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 extensionCount = files.reduce((acc, file) => {
const ext = path.extname(file).slice(1); // Получаем расширение без точки
if (ext) {
acc[ext] = (acc[ext] || 0) + 1;
}
return acc;
}, {});

console.log('Расширения файлов:');
for (const [ext, count] of Object.entries(extensionCount)) {
console.log(`${ext}: ${count}`);
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1