Node.JS [ru] | Серверный JavaScript
11.4K subscribers
90 photos
6 videos
25 files
3.21K 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
Forwarded from Frontender's notes [ru]
🎮 Пишем геймтон на nodejs!

Многие участвовали в хакатонах и гейм-тонах, но задумывались ли вы, как они создаются изнутри? Автор статьи пошёл дальше и с нуля разработал собственный геймтон на стеке Node.js + Prisma + Vue.js + Fastify. В материале подробно разбирается архитектура проекта, работа API, механика игры и даже тонкости расчёта попаданий по холсту.

Игровая идея проста: у вас есть катапульта, палитра цветов и задача максимально точно воспроизвести картинку уровня на виртуальном холсте. Можно подключиться к готовому соревнованию или даже запустить локально свой геймтон со своими правилами.

• Хороший разбор фулстек-приложения с чистым кодом и примерами
• Практическое использование Fastify, Prisma, canvas и TypeScript
• Интересный пример геймификации API


А вы пробовали писать игры или геймификацию на Node.js?

Полностью ознакомиться со статьёй

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
👩‍💻 Ментальная модель потоков в 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
👍6👎1
🎯 Погружайся в «смежные зоны»

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

👉 Совет: раз в неделю уделяй время на изучение чего-то за пределами своей зоны комфорта. Это может быть просмотр видео, разбор чужого кода или маленький проект. Чем шире твои знания, тем проще видеть картину целиком, а значит, и решать задачи эффективнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92👎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
Как оживить формы на сайте без фреймворков? Хотите понять, как чистый JavaScript превращает скучные поля в динамичные интерфейсы?

📅 22 сентября в 20:00 МСК на открытом уроке мы разберём, как добавить в анкету динамические поля, условия показа, счётчики и реакцию на ввод — без React и Vue. Вы увидите, как одна функция может управлять доступностью кнопки и менять структуру DOM в реальном времени.

❗️ Прямо в ходе вебинара создадим интерактивную анкету с радиокнопками, чекбоксами и текстовыми областями, освоим псевдо-отправку и научимся чистому, понятному коду. Спикер продемонстрирует лучшие практики обработки форм и покажет, как без лишнего «кода-шума» добиться гибкости.

👉 Посетите урок и получите скидку на курс «JavaScript Developer. Basic»https://vk.cc/cPB5VR

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👩‍💻 Как использовать файловую систему в Node.js

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1🔥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
👍2🔥1