Статья объясняет появление метода setHTMLUnsafe для работы с HTML в браузерах. Разбираются особенности безопасности, отличия от setHTML и innerHTML, а также поддержка в разных браузерах и значение нового подхода к именованию методов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Представь, что ты отправляешь сообщение в мессенджере, а оно доходит с задержкой в минуту. Бесит? А теперь представь, что у тебя сервис с миллионами пользователей, и каждое их действие должно мгновенно отражаться везде. Звучит как кошмар? Спокойно, есть четыре проверенных способа решить эту головоломку, и они реально работают.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
process.nextTick()
в Node.js?Метод
process.nextTick()
добавляет коллбэк в очередь "next tick" в Node.js, позволяя выполнить функцию после текущей операции, но перед следующей итерацией цикла событий. Это полезно, когда нужно завершить текущую операцию, а затем немедленно перейти к следующей задаче, не дожидаясь полного завершения цикла событий.console.log('Начало');
process.nextTick(() => {
console.log('Вызов в nextTick');
});
console.log('Конец');
// Вывод:
// Начало
// Конец
// Вызов в nextTick
🗣 В этом примере process.nextTick() срабатывает сразу после выполнения синхронного кода, но до обработки задач из очереди цикла событий. Это делает nextTick() полезным для выполнения задач с высоким приоритетом.
Please open Telegram to view this post
VIEW IN TELEGRAM
♟ Эпопея шахматных движков: мой опыт в разработке шахматной программы
В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.
Читать...
В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.
Читать...
В статье показан процесс развертывания React-приложения на сервере: от упаковки кода в CI/CD до отправки его в прод. Всё на примере простого to-do приложения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Вчера мы изучили различные способы инстанцирования веб-компонента. В статье был упомянут метод жизненного цикла connectedCallback(). Сегодня поговорим об остальных методах жизненного цикла веб-компонентов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
• История: работа в чешском Red Hat
• Циничные заметки о карьере в IT от «гейткипера»
• Рецензия на книгу “Изучаем паттерны проектирования JavaScript, 2-е издание”
• Всероссийский рейтинг IT-брендов работодателей 2024
• Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня я решил, что мы создадим HTML веб-компонент с нуля. Давайте создадим компонент, показывающий и скрывающий текст при переключении кнопки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
23 октября в 19:00 (Мск) Health-Samurai проводят онлайн-митап по чистой архитектуре на Node.js. Узнаем, как с нуля построить гибкий и расширяемый бэкенд на базе express/fastify, без лишних зависимостей и ограничений фреймворков.
Разберем подробнее:
🔈 Отличие контроллеров от HTTP-деталей и как их грамотно выстроить;
🔈 Изоляция бизнес-логики в сервисах и use cases;
🔈 Управление Middleware: превращаем хаос в понятный поток;
🔈 Обработка ошибок с Custom Errors и Exception Filters;
🔈 Настройка IoC и DI с помощью Inversify и покрытие автотестами через vitest.
Приглашаем всех, кто хочет получить больше контроля над архитектурой без привязки к Nest.js.
Участие бесплатное, нужна регистрация! Подробности 👉 здесь.
Разберем подробнее:
🔈 Отличие контроллеров от HTTP-деталей и как их грамотно выстроить;
🔈 Изоляция бизнес-логики в сервисах и use cases;
🔈 Управление Middleware: превращаем хаос в понятный поток;
🔈 Обработка ошибок с Custom Errors и Exception Filters;
🔈 Настройка IoC и DI с помощью Inversify и покрытие автотестами через vitest.
Приглашаем всех, кто хочет получить больше контроля над архитектурой без привязки к Nest.js.
Участие бесплатное, нужна регистрация! Подробности 👉 здесь.
❤5👍1🔥1
Node.js работает в однопоточном режиме, используя цикл событий для обработки асинхронных операций. Однако потокобезопасность становится важной при работе с параллельными задачами или при использовании
worker_threads
. В таких случаях необходимо обеспечить изоляцию данных между потоками.const { Worker, isMainThread, parentPort } = require('worker_threads');
if (isMainThread) {
const worker = new Worker(__filename);
worker.on('message', msg => console.log(`Получено от воркера: ${msg}`));
worker.postMessage('Привет из основного потока!');
} else {
parentPort.on('message', msg => {
console.log(`Получено в воркере: ${msg}`);
parentPort.postMessage('Привет обратно!');
});
}
🗣 Потокобезопасность в Node.js обеспечивается изоляцией памяти worker_threads, и при необходимости обмена данными рекомендуется использовать сообщения между потоками для минимизации риска гонок данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья знакомит с использованием NVM для управления версиями Node.js и npm, показывая примеры с Node.js 19 и npm 9. Объясняются преимущества NVM для безопасного обновления и тестирования новых возможностей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳2
Если что-то в проекте кажется запутанным, нестабильным и непонятным — не убегай от этого. Это маркер точки роста.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from Frontender's notes [ru]
Баланс: pet-проекты vs работа
Каждый разработчик хоть раз ловил себя на мысли: “Хочу сделать свой проект. Но после работы нет ни сил, ни желания писать код.”
И вот тут начинается борьба между желанием развиваться и желанием просто отдохнуть.
✅ Pet-проекты — это топливо для роста.
Ты пробуешь новые технологии без дедлайнов, без легаси и без код-ревью с “а зачем тут вообще useMemo?”.
Это та самая зона, где возвращается интерес к разработке, особенно когда на работе монотонные задачи.
Но.
🙅♂️ Pet-проект не должен превращаться во вторую работу.
Если ты после 8 часов продакшена садишься за ещё 4 часа кода — это не развитие, это выгорание в красивой обёртке.
И так: как найти баланс?:
Итог:
Работа — даёт стабильность.
Pet-проекты — дают развитие.
Отдых — даёт энергию, чтобы выдержать первые два пункта.
Главное — не забывать, что кодить “в кайф” иногда важнее, чем кодить “всё время”.
Каждый разработчик хоть раз ловил себя на мысли: “Хочу сделать свой проект. Но после работы нет ни сил, ни желания писать код.”
И вот тут начинается борьба между желанием развиваться и желанием просто отдохнуть.
Ты пробуешь новые технологии без дедлайнов, без легаси и без код-ревью с “а зачем тут вообще useMemo?”.
Это та самая зона, где возвращается интерес к разработке, особенно когда на работе монотонные задачи.
Но.
Если ты после 8 часов продакшена садишься за ещё 4 часа кода — это не развитие, это выгорание в красивой обёртке.
И так: как найти баланс?:
🔘 Делай pet-проекты короткими и законченными.
Маленький тул или демо — лучше, чем вечный “стартап мечты”.🔘 Ставь себе ограничение по времени.
Например, кодишь только 2 вечера в неделю.🔘 Не чувствуй вины, если не делаешь ничего.
Отдых — тоже часть продуктивности.
Мой личный опыт:
Pet-проекты реально помогают не терять интерес к коду.
Но только когда они не конкурируют с отдыхом, а заменяют бессмысленный скролл YouTube чем-то, что тебя вдохновляет.
Итог:
Работа — даёт стабильность.
Pet-проекты — дают развитие.
Отдых — даёт энергию, чтобы выдержать первые два пункта.
Главное — не забывать, что кодить “в кайф” иногда важнее, чем кодить “всё время”.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👎2
В статье объясняется, как Atomics помогает синхронизировать потоки, предотвращая хаос при одновременной работе с общими данными. Простыми примерами покажем, как управлять многопоточностью.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1
Статья предлагает использовать прокси и кэширование для реестра npm с помощью Verdaccio или Nexus, чтобы повысить безопасность и ускорить установку пакетов. Также обсуждаются риски скриптов жизненного цикла npm и способы их безопасного использования.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Напишите скрипт на Node.js, который считывает JSON-файл, фильтрует данные по указанному ключу и значению, и выводит результат в консоль.
node filterJson.js data.json age 30
[
{ "name": "Bob", "age": 30 },
{ "name": "Charlie", "age": 30 }
]
Решение задачи
const fs = require('fs');
const [,, filePath, key, value] = process.argv;
if (!filePath || !key || !value) {
console.error('Использование: node filterJson.js <filePath> <key> <value>');
process.exit(1);
}
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка чтения файла:', err.message);
process.exit(1);
}
try {
const jsonData = JSON.parse(data);
const filteredData = jsonData.filter(item => item[key] == value);
console.log(JSON.stringify(filteredData, null, 2));
} catch (parseErr) {
console.error('Ошибка парсинга JSON:', parseErr.message);
process.exit(1);
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
Росатом ищет системного аналитика на удалённую занятость!
✅Наш идеальный кандидат обладает опытом работы от 5 лет, а также навыками разработки Web-приложений, проектирования, документирования и интеграции (REST, SOAP, брокеры сообщений), умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО, может работать с agile/scrum методологией, BPMN, UML, SQL, OpenProject и Postman. Опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM будет плюсом.
🤝Мы предлагаем работу в команде самого динамично развивающегося разработчика продуктов для HR-автоматизации на российском рынке, стабильную «белую» зарплату дважды в месяц, обучение за счёт работодателя и ДМС со стоматологией с первого дня. А ещё — возможность расти по карьерной лестнице и вносить свой вклад в создание современного флагманского проекта для крупных предприятий.
✅Наш идеальный кандидат обладает опытом работы от 5 лет, а также навыками разработки Web-приложений, проектирования, документирования и интеграции (REST, SOAP, брокеры сообщений), умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО, может работать с agile/scrum методологией, BPMN, UML, SQL, OpenProject и Postman. Опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM будет плюсом.
🤝Мы предлагаем работу в команде самого динамично развивающегося разработчика продуктов для HR-автоматизации на российском рынке, стабильную «белую» зарплату дважды в месяц, обучение за счёт работодателя и ДМС со стоматологией с первого дня. А ещё — возможность расти по карьерной лестнице и вносить свой вклад в создание современного флагманского проекта для крупных предприятий.
hh.ru
Вакансия Системный аналитик в Москве, работа в компании Гринатом. ИТ
Зарплата: не указана. Москва. Требуемый опыт: более 6 лет. Полная. Дата публикации: 03.10.2025.
❤1😁1
В статье рассказывается, как настроить рабочее пространство VSCode для разработки. Обзор полезных расширений, которые повышают удобство и продуктивность, и советы по их применению.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5