Статья исследует, как обеспечить стабильность и доступность сервиса по всему миру. Рассмотрены методы контроля скорости работы сайта и мониторинга проблем маршрутизации и цензуры, выходящие за рамки стандартных аналитических решений.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В Node.js потоки — это интерфейсы для работы с данными, которые поступают в виде последовательности небольших фрагментов, вместо загрузки всего объема сразу. Это позволяет эффективно обрабатывать большие файлы, улучшая производительность и снижая потребление памяти.
const fs = require('fs');
const readStream = fs.createReadStream('input.txt');
const writeStream = fs.createWriteStream('output.txt');
readStream.pipe(writeStream);
🗣 Потоки широко применяются для передачи данных между файловыми системами, сетевыми запросами и других задачах ввода-вывода, где важна оптимизация.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Middle Backend-разработчик (Node.js - Fastify)
Middle Fullstack Developer (Node.js + React)
Fullstack Middle разработчик (Node.js + Vue.js)
Backend-разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Статья объясняет появление метода setHTMLUnsafe для работы с HTML в браузерах. Разбираются особенности безопасности, отличия от setHTML и innerHTML, а также поддержка в разных браузерах и значение нового подхода к именованию методов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Создайте сервер на Node.js, который логирует все входящие запросы с указанием времени и метода запроса (GET, POST и т. д.). Логи должны сохраняться в файл
requests.log
. Каждая запись должна добавляться в файл с новой строки, а файл логов должен автоматически очищаться каждый день в полночь.• При получении запроса сервер записывает его метод и время в файл
requests.log
. Каждый день в полночь файл логов очищается.Решение задачи
const http = require('http');
const fs = require('fs');
const path = require('path');
// Путь к файлу логов
const logFilePath = path.join(__dirname, 'requests.log');
// Функция для записи лога
function logRequest(method) {
const timestamp = new Date().toISOString();
const logEntry = `${timestamp} - ${method}\n`;
fs.appendFile(logFilePath, logEntry, (err) => {
if (err) console.error('Ошибка записи в лог:', err);
});
}
// Создание сервера
const server = http.createServer((req, res) => {
logRequest(req.method);
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Запрос логирован!\n');
});
// Очистка файла логов в полночь
function clearLogDaily() {
const now = new Date();
const timeToMidnight = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1) - now;
setTimeout(() => {
fs.writeFile(logFilePath, '', (err) => {
if (err) console.error('Ошибка очистки логов:', err);
console.log('Файл логов очищен.');
});
clearLogDaily();
}, timeToMidnight);
}
// Запуск очистки логов
clearLogDaily();
// Запуск сервера
server.listen(3000, () => {
console.log('Сервер запущен на порту 3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
• HTTP-запросы: параметры, методы и коды состояния
• Как использовать Evolution free tier: опыт тех, кто уже запустил проект с помощью бесплатных ресурсов в облаке
• Литкод изи — это просто
• Аптайм вахтер: мониторинг веб-сервисов с помощью Globalping и уведомлениями в Telegram
• Быстрее пули: как найти счастье с PostgreSQL
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Представь, что ты отправляешь сообщение в мессенджере, а оно доходит с задержкой в минуту. Бесит? А теперь представь, что у тебя сервис с миллионами пользователей, и каждое их действие должно мгновенно отражаться везде. Звучит как кошмар? Спокойно, есть четыре проверенных способа решить эту головоломку, и они реально работают.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Senior Backend Developer (Node.js)
Backend Node.js Developer Senior
Senior NodeJS Developer
BACKEND разработчик (NestJS) SENIOR
Middle / Senior Back-end Developer (Node.js)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
♟ Эпопея шахматных движков: мой опыт в разработке шахматной программы
В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.
Читать...
В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.
Читать...
👍1
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
👍4❤1
Senior/Lead Full-Stack Engineer (JS)
Тимлид (Fullstack-разработчик)
Lead Backend Developer (Node.js)
Tech/Team Lead Backend Developer (Node.Js)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👏1
В статье показан процесс развертывания React-приложения на сервере: от упаковки кода в CI/CD до отправки его в прод. Всё на примере простого to-do приложения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Многие тратят кучу энергии, чтобы везде поспеть: освоить новое, прокачать скиллы, закрыть дедлайны. Но часто за спешкой скрывается отсутствие направления. И пока ты гонишься за всем сразу, фокус на том, что действительно важно, ускользает.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Node.js разработчик
Middle Fullstack/Frontend Developer (React.js + Node.js)
Full Stack React разработчик
Fullstack Developer
Middle/Senior Full Stack Developer (Node.js + React)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Вчера мы изучили различные способы инстанцирования веб-компонента. В статье был упомянут метод жизненного цикла connectedCallback(). Сегодня поговорим об остальных методах жизненного цикла веб-компонентов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите скрипт на Node.js, который принимает путь к текстовому файлу, считывает его содержимое и выводит количество строк в файле.
node lineCount.js example.txt
Количество строк в файле: 10
Решение задачи
const fs = require('fs');
const path = process.argv[2];
if (!path) {
console.log('Пожалуйста, укажите путь к файлу.');
process.exit(1);
}
fs.readFile(path, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка при чтении файла:', err);
return;
}
const lineCount = data.split('\n').length;
console.log(`Количество строк в файле: ${lineCount}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5💩3
• Вам не нужно готовое API чтобы начать писать фронтенд или краткий обзор готовых решений для мокинга данных
• Ускоряем браузерные вычисления на коленке с помощью WebAssembly на примере генерации шума
• JavaScript-консоль для QA-инженера: от поиска багов до автоматизации
• Абсурдная незащищенность проекта @gamee
• CI/CD для начинающих: деплой React-приложения без боли
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня я решил, что мы создадим HTML веб-компонент с нуля. Давайте создадим компонент, показывающий и скрывающий текст при переключении кнопки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Напишите скрипт на Node.js, который принимает путь к текстовому файлу и строку для поиска, а затем выводит все строки из файла, содержащие указанную строку.
node filterLines.js example.txt "Node.js"
Строки, содержащие "Node.js":
Node.js — это платформа для серверного программирования.
Работа с Node.js позволяет создавать масштабируемые приложения.
Решение задачи
const fs = require('fs');
const filePath = process.argv[2];
const searchString = process.argv[3];
if (!filePath || !searchString) {
console.log('Использование: node filterLines.js <filePath> <searchString>');
process.exit(1);
}
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка при чтении файла:', err);
return;
}
const matchingLines = data
.split('\n')
.filter(line => line.includes(searchString));
if (matchingLines.length) {
console.log(`Строки, содержащие "${searchString}":`);
matchingLines.forEach(line => console.log(line));
} else {
console.log(`Строк, содержащих "${searchString}", не найдено.`);
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
💩5