Когда просят оценить «сколько это займёт», ты ориентируешься на очевидную часть. А потом всплывает всё то, что «не учли».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Хотите интегрировать ShakaPlayer в приложение Lightning для управления воспроизведением? Изучите краткое руководство по расширению стандартного медиаплеера в Lightning и использованию его с ShakaPlayer.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет использование модульных CSS-архитектур, таких как BEM, SMACSS и OOCSS, в проектах на Next.js. Рассматриваются подходы к созданию масштабируемой и организованной структуры стилей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1🐳1
Детальный разбор того, как простой анализ производительности помог обнаружить неэффективность WebSocket и оптимизировать передачу данных.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Напишите скрипт, который принимает путь к папке, считывает все файлы в этой папке и записывает их имена, размеры (в байтах) и дату последнего изменения в JSON-файл.
Пример использования:
node generateFileInfo.js ./example-folder
"name": "file1.txt",
"size": 1234,
"lastModified": "2023-09-01T12:34:56.789Z"
"name": "file2.js",
"size": 456,
"lastModified": "2023-09-02T14:56:23.123Z"
Решение задачи
const fs = require('fs');
const path = require('path');
const folderPath = process.argv[2];
if (!folderPath) {
console.error('Пожалуйста, укажите путь к папке.');
process.exit(1);
}
fs.readdir(folderPath, (err, files) => {
if (err) {
console.error('Ошибка чтения папки:', err.message);
return;
}
const fileInfo =files.map (file => {
const filePath = path.join(folderPath, file);
const stats = fs.statSync(filePath);
return {
name: file,
size: stats.size,
lastModified: stats.mtime.toISOString(),
};
});
fs.writeFile('files.json', JSON.stringify(fileInfo, null, 2), err => {
if (err) {
console.error('Ошибка записи файла:', err.message);
return;
}
console.log('Информация о файлах сохранена в files.json');
});
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2❤1
worker_threads
— это модуль в Node.js, который позволяет создавать дополнительные потоки для выполнения задач параллельно с основным потоком. Он особенно полезен для вычислительно затратных операций, которые могут блокировать выполнение кода в основном потоке событий.const { Worker, isMainThread, parentPort } = require('worker_threads');
if (isMainThread) {
// Главный поток
console.log('Главный поток запущен');
const worker = new Worker(__filename); // Создаем воркер
worker.on('message', (msg) => {
console.log('Результат от воркера:', msg);
});
worker.postMessage('Начать расчет'); // Передаем сообщение воркеру
} else {
// Воркер
parentPort.on('message', (msg) => {
console.log('Сообщение от главного потока:', msg);
// Выполняем тяжелый расчет
const result = Array(1e6).fill(0).reduce((acc, _, i) => acc + i, 0);
parentPort.postMessage(result); // Отправляем результат обратно
});
}
🗣️ В этом примере главный поток создает воркер, который выполняет вычисление суммы чисел, не блокируя основной поток. Это позволяет использовать многопоточность в JavaScript для высоконагруженных операций.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Давайте уделим немного времени рассмотрению Dialog API, Popover API и остальных. Рассмотрим, когда лучше использовать каждый из них в зависимости от требований. Модальные или немодальные? JavaScript или чистый HTML/CSS? Не уверены? Не волнуйтесь, мы разберёмся во всём этом.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья исследует концепцию потоков в Node.js, объясняя их ключевую роль в модулях, таких как fs и http. Рассматриваются основные концепции и ментальная модель, помогающая понять и эффективно использовать потоки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
• Интеграция внешнего файлового сервера https://min.io в фулстек приложение на NestJS и Angular
• Разработка Telegram Mini App с помощью React
• Почему мы выбрали gRPC вместо tRPC?
• Разворачиваем приложение Next.js с базой данных PostgreSQL и задачей Cron на облачном сервере Ubuntu Linux
• Создаём современные npm-пакеты и преодолеваем трудности совместимости ESM и CJS
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет технику делегирования событий в веб-разработке, показывая, как использование одного слушателя на родительском элементе упрощает управление событиями и повышает производительность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
• ИТ-шники: разновидности, отличительные черты
• Софт-скиллы для инженеров: готовим новое поколение специалистов техподдержки
• Движение вверх: как стать CTO — на примере пяти историй ИТ-директоров
• Какие айтишники будут востребованы в 2035г, а какие – нет?
• Как мы помогаем развиваться web3 front-end разработчикам благодаря нашей Карте развития в 2024 году
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом гайде пользователь объясняет, как можно написать простого Telegram чат-бота на NodeJS, который будет пересылать все входящие сообщения в SMS, используя Exolve SMS API.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Статья посвящена созданию кроссплатформенного торгового робота для Московской биржи через API брокера. Рассматриваются проблемы готовых решений, таких как QUIK, и преимущества разработки легкого и гибкого инструмента.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Ты не обязан помнить все методы API или команды CLI. Но ты обязан понимать, как это всё устроено.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14⚡2👍2🔥1😁1
Статья изучает шаблоны наследования в JavaScript, основанные на прототипах. Рассматриваются их уникальные особенности и применение, чтобы выбрать наиболее подходящий подход для задач.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1
Статья объясняет, как спрятать данные в PNG-изображении, используя младшие биты (LSB) пикселей. Рассматривается структура PNG, каналы R, G, B и альфа, а также методы внедрения данных без заметного изменения картинки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Статья рассказывает о создании Vanilla Calendar Pro — датапикера, собравшего 480+ звезд на GitHub. Описывается путь от первого опыта в open source до популярного инструмента, востребованного разработчиками.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Напишите скрипт, который принимает путь к текстовому файлу и подсчитывает количество строк в этом файле. Если файл отсутствует, скрипт должен выводить сообщение об ошибке.
Ожидаемое поведение:
•
При указании пути к существующему файлу скрипт выводит количество строк в нём.•
Если файл не найден, выводится сообщение об ошибке.•
Скрипт обрабатывает ошибки корректно.Решение задачи
const fs = require('fs');
const path = process.argv[2];
if (!path) {
console.error('Ошибка: Укажите путь к файлу.');
process.exit(1);
}
fs.readFile(path, 'utf8', (err, data) => {
if (err) {
if (err.code === 'ENOENT') {
console.error('Ошибка: Файл не найден.');
} else {
console.error('Ошибка при чтении файла:', err.message);
}
return;
}
const lines = data.split('\n').length;
console.log(`Количество строк: ${lines}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👎7👍1
os
модуль в Node.js и как он используется?os
— это встроенный модуль в Node.js, который предоставляет информацию о операционной системе, включая архитектуру, платформу, память и данные о процессорах. Он полезен для написания кросс-платформенных приложений и мониторинга системы.const os = require('os');
console.log('Платформа:', os.platform()); // Выводит платформу, например 'linux'
console.log('Архитектура:', os.arch()); // Выводит архитектуру, например 'x64'
console.log('Свободная память:', os.freemem()); // Количество свободной памяти
🗣️ В этом примере модуль os используется для получения базовой информации об операционной системе. Это удобно для настройки приложений под конкретные системные параметры.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1