Статья исследует концепцию потоков в Node.js, объясняя их ключевую роль в модулях, таких как fs и http. Рассматриваются основные концепции и ментальная модель, помогающая понять и эффективно использовать потоки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
• История: работа в чешском Red Hat
• Циничные заметки о карьере в IT от «гейткипера»
• Рецензия на книгу “Изучаем паттерны проектирования JavaScript, 2-е издание”
• Всероссийский рейтинг IT-брендов работодателей 2024
• Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки
Please open Telegram to view this post
VIEW IN TELEGRAM
Как в 16 байтах кода уместился целый дракон? Разбираем, какие трюки позволяют создавать сложные изображения с минимальным объёмом данных, и переносим эту магию в JavaScript.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассмотрим встроенные инструменты отладки в браузере, которые помогут ускорить поиск и исправление ошибок в 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 раза в месяц, учиться за счёт компании и заботиться о своём здоровье с пакетом ДМС, включающим стоматологию.
Ждём кандидатов с опытом работы системным аналитиком в ИТ от 5 лет, навыками проектирования, документирования и интеграций, умением декомпозировать крупные задачи, пониманием принципов построения микросервисной архитектуры ПО и разработки Web-приложений, знанием agile/scrum методологии, BPMN, UML, SQL, OpenProject и Postman. Опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM будет преимуществом.
🤝С нами вы сможете работать с полным соблюдением ТК РФ в удалённом формате из любого региона с сокращённым днём в пятницу, получать «белую» зарплату 2 раза в месяц, учиться за счёт компании и заботиться о своём здоровье с пакетом ДМС, включающим стоматологию.
hh.ru
Вакансия Системный аналитик в Москве, работа в компании Гринатом. ИТ (вакансия в архиве c 16 сентября 2025)
Зарплата: не указана. Москва. Требуемый опыт: более 6 лет. Полная. Дата публикации: 09.09.2025.
🔥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
На тему мемоизации написано довольно много статей, и все они хорошо раскрывают суть. Но мне часто не хватало шпаргалки, которую можно отправить на вопрос «А как мемоизировать?». В статье речь пойдет исключительно о функциональных компонентах.
Читать...
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?
👉 Совет: раз в неделю уделяй время на изучение чего-то за пределами своей зоны комфорта. Это может быть просмотр видео, разбор чужого кода или маленький проект. Чем шире твои знания, тем проще видеть картину целиком, а значит, и решать задачи эффективнее.
Ты специализируешься на backend’е, но frontend для тебя тёмный лес? Или хорошо кодишь, но понятия не имеешь, как работает DevOps?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3👎1
• Зачем нужен сертифицированный WAF и когда его стоит использовать? Обзор и настройка файрвола веб-приложений
• «Безумный» CSS квиз от гика
• Работа с куки-файлами хуже сапёрного дела
• Воспоминания о GeoCities, предтече социальных сетей из 1990-х годов
• Отслеживание позиций торгового робота Московской биржи через CSV файл
Please open Telegram to view this post
VIEW IN TELEGRAM
Если необходимо создать npm пакет и гарантировать, что его смогут использовать все желающие, нужно, чтобы он поддерживал CommonJS (CJS) и ECMAScript Modules (ESM). Рассмотрим, как создать такой пакет используя TypeScript.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В этой статье мы рассмотрим различные фреймворки JavaScript и поможем новичкам определиться с выбором инструмента для своих проектов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
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
👍2❤1
Подборка опенсорсных библиотек на все случаи жизни – от создания графиков и диаграмм до масштабирования проекта с помощью распределенного выполнения задач и кэширования вычислений.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно я узнал о corepack, инструменте, работающем с Node.js и решающем множество проблем с менеджерами пакетов. С этого момента буду использовать его в своём процессе разработки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👎1🐳1
Веб-приложениям не всегда нужна запись в файловую систему, но Node.js предоставляет для этого обширный интерфейс прикладного программирования (API). Это может понадобиться, если вы ведёте логи отладки, передаёте файлы на сервер или с сервера, или создаёте инструменты командной строки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Создайте приложение на Node.js, которое работает как таймер обратного отсчёта. Программа должна принимать количество секунд в качестве аргумента командной строки и каждую секунду выводить сообщение с оставшимся временем: "Осталось X секунд". Когда отсчёт завершится, программа должна вывести "Время вышло!" и остановиться.
Осталось 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
• Как мы заработали 100 000 рублей за 3 месяца, запустив простой конвертер картинок в США
• Дело было вечером или Создаем веб-приложение за 5 часов
• Разработка архитектуры хранения данных для сайта на «Битрикс»
• Как не гундеть, а доработать веб-сервис самому без помощи разработчиков
• Трассировка OpenTelemetry в 200 строк кода
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Исторически сложилось так, что в 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 пакетов, включая популярные библиотеки, такие как
ℹ️ Что делать разработчикам
📌 Supply chain атаки становятся всё более изощрёнными и опасными. Ранее мы переживали только за typosquatting, а теперь столкнулись с реальными «npm-червями», которые могут заразить проекты на всех уровнях. Если вы работаете с публичными пакетами, регулярный аудит зависимостей и CI/CD — теперь часть обязательной практики.
🚪 Frontender's notes
Недавняя атака на экосистему 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 конфигурации для выявления подозрительных изменений
• Обновлять пакеты только из доверенных источников, избегать использования сомнительных версий
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🐳1