Node.JS [ru] | Серверный JavaScript
11.4K subscribers
91 photos
5 videos
25 files
3.22K 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

Статья исследует концепцию потоков в Node.js, объясняя их ключевую роль в модулях, таких как fs и http. Рассматриваются основные концепции и ментальная модель, помогающая понять и эффективно использовать потоки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
👩‍💻 Реверс-инжиниринг 128-битного дракона

Как в 16 байтах кода уместился целый дракон? Разбираем, какие трюки позволяют создавать сложные изображения с минимальным объёмом данных, и переносим эту магию в JavaScript.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Отладка JavaScript в Chrome DevTools для начинающих фронтендеров

Рассмотрим встроенные инструменты отладки в браузере, которые помогут ускорить поиск и исправление ошибок в JS. Вместо console.log разберем более мощные техники для анализа и диагностики кода.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻Гринатом — ИТ-интегратор Росатома — открывает вакансию системного аналитика!

Ждём кандидатов с опытом работы системным аналитиком в ИТ от 5 лет, навыками проектирования, документирования и интеграций, умением декомпозировать крупные задачи, пониманием принципов построения микросервисной архитектуры ПО и разработки Web-приложений, знанием agile/scrum методологии, BPMN, UML, SQL, OpenProject и Postman. Опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM будет преимуществом.

🤝С нами вы сможете работать с полным соблюдением ТК РФ в удалённом формате из любого региона с сокращённым днём в пятницу, получать «белую» зарплату 2 раза в месяц, учиться за счёт компании и заботиться о своём здоровье с пакетом ДМС, включающим стоматологию.
🔥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
👍4
👩‍💻 Борьба с перерендерами в React

На тему мемоизации написано довольно много статей, и все они хорошо раскрывают суть. Но мне часто не хватало шпаргалки, которую можно отправить на вопрос «А как мемоизировать?». В статье речь пойдет исключительно о функциональных компонентах.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🎯 Работай в коротких циклах

Залипаешь на задаче, а потом понимаешь, что полдня ушло, а результата нет?

👉 Совет: используй метод Pomodoro или спринты по 30-40 минут. Устанавливай себе небольшие цели: например, «разобраться с логикой функции», «добавить обработку ошибок». Это удерживает фокус и помогает видеть прогресс.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👎1
🎯 Погружайся в «смежные зоны»

Ты специализируешься на backend’е, но frontend для тебя тёмный лес? Или хорошо кодишь, но понятия не имеешь, как работает DevOps?

👉 Совет: раз в неделю уделяй время на изучение чего-то за пределами своей зоны комфорта. Это может быть просмотр видео, разбор чужого кода или маленький проект. Чем шире твои знания, тем проще видеть картину целиком, а значит, и решать задачи эффективнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93👎1
👩‍💻 Создание npm пакета на TypeScript с поддержкой CommonJS и ESM

Если необходимо создать npm пакет и гарантировать, что его смогут использовать все желающие, нужно, чтобы он поддерживал CommonJS (CJS) и ECMAScript Modules (ESM). Рассмотрим, как создать такой пакет используя TypeScript.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
👩‍💻 JavaScript: Обзор фреймворков и выбор для новичков

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
👩‍💻 Что такое Worker Threads в Node.js?

Worker Threads — это модуль в Node.js, который позволяет создавать несколько потоков для выполнения JavaScript кода параллельно. Это полезно для CPU-интенсивных операций, так как основной поток Node.js работает в однопоточном режиме и не подходит для вычислительно сложных задач.

➡️ Пример: В этом примере создаётся воркер для выполнения тяжёлой задачи параллельно с основным потоком.

const { Worker, isMainThread, parentPort } = require('worker_threads');

if (isMainThread) {
const worker = new Worker(__filename);
worker.on('message', (message) => {
console.log(`Сообщение от воркера: ${message}`);
});
} else {
parentPort.postMessage('Выполняется в воркере');
}


🗣️ Worker Threads позволяет выполнять тяжёлые задачи параллельно основному потоку, повышая производительность в многопроцессорных системах.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🛠 17 суперинструментов для разработки фронтенда

Подборка опенсорсных библиотек на все случаи жизни – от создания графиков и диаграмм до масштабирования проекта с помощью распределенного выполнения задач и кэширования вычислений.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как использовать Corepack

Недавно я узнал о corepack, инструменте, работающем с Node.js и решающем множество проблем с менеджерами пакетов. С этого момента буду использовать его в своём процессе разработки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👎1🐳1
👩‍💻 Как использовать файловую систему в Node.js

Веб-приложениям не всегда нужна запись в файловую систему, но Node.js предоставляет для этого обширный интерфейс прикладного программирования (API). Это может понадобиться, если вы ведёте логи отладки, передаёте файлы на сервер или с сервера, или создаёте инструменты командной строки.

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

Создайте приложение на Node.js, которое работает как таймер обратного отсчёта. Программа должна принимать количество секунд в качестве аргумента командной строки и каждую секунду выводить сообщение с оставшимся временем: "Осталось X секунд". Когда отсчёт завершится, программа должна вывести "Время вышло!" и остановиться.

➡️ Пример: если вы запустите программу с аргументом 10, она будет выводить каждую секунду:

Осталось 10 секунд
Осталось 9 секунд
...
Осталось 1 секунда
Время вышло!


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

const seconds = parseInt(process.argv[2]);

if (isNaN(seconds) || seconds <= 0) {
console.log('Введите корректное количество секунд.');
process.exit(1);
}

let remainingTime = seconds;

const countdown = setInterval(() => {
if (remainingTime > 0) {
console.log(`Осталось ${remainingTime} секунд`);
remainingTime--;
} else {
console.log('Время вышло!');
clearInterval(countdown);
}
}, 1000);
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4
👩‍💻 Node.js Test Runner: Руководство для начинающих

Исторически сложилось так, что в Node.js отсутствовал интегрированный прогонщик тестов, что вынуждало разработчиков полагаться на сторонние фреймворки, такие как Jest или Mocha

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Frontender's notes [ru]
Supply Chain атака на npm: Shai-Hulud — угроза, которая заражает проекты

Недавняя атака на экосистему npm под названием Shai-Hulud привлекла внимание разработчиков по всему миру. Это масштабная supply chain атака, которая затронула более 500 пакетов, включая популярные библиотеки, такие как ngx-toastr, tinycolor, react-jsonschema-form-extras и пакеты от CrowdStrike.

Заражённые пакеты содержат вредоносный скрипт bundle.js. Этот скрипт запускает TruffleHog для поиска секретных данных, таких как GitHub токены, NPM ключи или AWS креды, и отправляет их на внешний сервер. Дополнительно создаётся вредоносный workflow в папке .github/workflows, который будет автоматически запускаться при каждом CI-процессе. В итоге, атака действует как червь, распространяясь через каждый новый пакет, заражая downstream-проекты.


ℹ️ Что делать разработчикам

Проверить проекты на наличие заражённых версий пакетов
Ротировать npm-токены, GitHub PAT и облачные креды, чтобы минимизировать последствия
Аудитировать CI/CD конфигурации для выявления подозрительных изменений
Обновлять пакеты только из доверенных источников, избегать использования сомнительных версий


📌 Supply chain атаки становятся всё более изощрёнными и опасными. Ранее мы переживали только за typosquatting, а теперь столкнулись с реальными «npm-червями», которые могут заразить проекты на всех уровнях. Если вы работаете с публичными пакетами, регулярный аудит зависимостей и CI/CD — теперь часть обязательной практики.

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
4🐳1