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
👩‍💻 Чтение ввода и преобразование в верхний регистр

Напишите скрипт на 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
👍4
⚙️ Интеграция и сохранение выбранного языка пользователя в базу данных в фулстек-приложении на «Angular» и «NestJS»

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚙️ Что читали на Хабре в 2024 году: анализ статей с Node.js, Google Sheets и каплей ChatGPT

Рассматриваем анализ данных Хабра за 2024 год: популярные статьи, скрытые тренды и интересные находки. Node.js, нейросети и Google Таблицы в деле!

Читать...
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
👍21
⚙️ Хост директивы: ключ к декомпозиции

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Почему open source не так прост, как нам кажется, что за супер-инструмент — командная строка, и какие тренды сейчас в работе с базами данных?

Узнаем в новом выпуске «Техно.Логично». Обсудили эволюцию роли администратора (DBA), разработчика и инструменты для работы с базами данных с Владимиром Герциковым (хэд профессии DataBase в Рознице Газпромбанка и ведущий нашего подкаста) и Николаем Волынкиным (заместитель начальника Управления сопровождения серверных платформ и баз данных).

Герои рассказали истории своего карьерного пути: от сисадмина и классического «тыжпрограммиста» до экспертов в SQL, Oracle и PostgreSQL и поделились рекомендациями по проектированию БД.

Темы эпизода:
Какова роль администратора баз данных и как делить обязанности
Какие инструменты и знания – must-have сейчас для работы с БД
Какие есть риски использования Open Source в коммерческой среде
Как грамотно проектировать системы

Посмотреть:
📺 VK Видео
📺 Rutube

Послушать:
🎵 Яндекс Музыка
📱 Apple Podcasts
💙 VK Музыка

#GPBtechno_подкаст #GPB_Технологично

Реклама, Банк ГПБ (АО), ИНН: 7744001497, erid: 2VtzqvMUsdA
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ Что такое 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
👍1
⚙️ Интернационализация (i18n) бэкенда в Express с использованием Intlayer

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
⚙️ Как работает деструктуризация объектов и массивов в 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
👍32😁1
👩‍💻 Изучение Символов JavaScript

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
➡️ Бесплатное обучение фулстек-разработке веб-сервиса с нуля по видео-урокам с исходным кодом и поддержкой

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
👩‍💻 WeakMap и WeakSet в JavaScript

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🧩 Если фича не помещается в голову целиком — разбей её

Чем больше логики ты пытаешься держать в голове, тем выше шанс ошибиться.

👉 Совет: если при работе над фичей ты постоянно перескакиваешь по файлам и путаешься — это сигнал, что задачу надо декомпозировать на меньшие части.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
⚙️ Заставляем работать демонстрационный пример из официальной документации npm пакета csrf-csrf

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Работа с JavaScript Scheduler API

Откройте для себя возможности управления приоритетами и контроля выполнения задач в JavaScript с помощью нового Scheduler API. Новый подход поможет вам стать более продуктивными и эффективными в своей работе.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Как работать с потоками в JavaScript: оптимизация асинхронных запросов

В статье объясняется асинхронное программирование в JavaScript. Разбираются основы работы с промисами, async/await и методы управления параллельными операциями для повышения читаемости и эффективности кода.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
💪 Хотите работать в финтехе? Освойте 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