DevNotes Live
6 subscribers
84.3K photos
12K videos
195 files
35.4K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Forwarded from Новые шрифты
Morfin Sans

Morfin — изящный декоративный шрифт, вдохновленный американскими шрифтами 70-х годов.

🧑‍💻 KFproduction

🔗 Скачать шрифт
This media is not supported in your browser
VIEW IN TELEGRAM
Комплект пользовательского интерфейса для iOS 16

В комплект входят всевозможные компоненты, которые помогут вам создавать экраны пользовательского интерфейса для iOS 16 от Apple.

• Есть светлый и темный режим

#UIk #iOS

Открыть в Figma

Источник
👩‍💻 Задачка по NodeJS

Создайте приложение на Node.js, которое принимает путь к папке в качестве аргумента командной строки и создает файл report.json, содержащий статистику по этой папке: количество файлов, количество папок, и общий размер всех файлов.

Программа должна уметь выводить статистику по папке в консоль и сохранять её в файл.

➡️ Пример:

node app.js report /path/to/folder — создает файл report.json с данными о содержимом папки.
node app.js print /path/to/folder — выводит статистику о папке в консоль.

Решение задачи ⬇️

const fs = require('fs');
const path = require('path');
const { promisify } = require('util');
const readdir = promisify(fs.readdir);
const stat = promisify(fs.stat);

const action = process.argv[2];
const folderPath = process.argv[3];
const reportFile = 'report.json';

if (!action || !folderPath) {
console.log('Используйте: node app.js <report|print> <путь к папке>');
process.exit(1);
}

async function analyzeFolder(folder) {
const entries = await readdir(folder, { withFileTypes: true });
let totalSize = 0;
let fileCount = 0;
let folderCount = 0;

for (const entry of entries) {
const fullPath = path.join(folder,
entry.name);
if (entry.isDirectory()) {
folderCount++;
const { totalSize: folderSize, fileCount: folderFiles, folderCount: subFolderCount } = await analyzeFolder(fullPath);
totalSize += folderSize;
fileCount += folderFiles;
folderCount += subFolderCount;
} else if (entry.isFile()) {
const fileStats = await stat(fullPath);
fileCount++;
totalSize += fileStats.size;
}
}

return { totalSize, fileCount, folderCount };
}

async function generateReport(folder) {
const stats = await analyzeFolder(folder);
const reportData = {
folder: folder,
files: stats.fileCount,
folders: stats.folderCount,
totalSize: stats.totalSize,
};

fs.writeFile(reportFile, JSON.stringify(reportData, null, 2), (err) => {
if (err) {
console.error('Ошибка при записи отчета:', err);
process.exit(1);
}
console.log(`Отчет сохранен в ${reportFile}`);
});
}

async function printReport(folder) {
const stats = await analyzeFolder(folder);
console.log(`Папка: ${folder}`);
console.log(`Количество файлов: ${stats.fileCount}`);
console.log(`Количество папок: ${stats.folderCount}`);
console.log(`Общий размер файлов: ${stats.totalSize} байт`);
}

if (action === 'report') {
generateReport(folderPath);
} else if (action === 'print') {
printReport(folderPath);
} else {
console.log('Неизвестное действие. Используйте "report" или "print".');
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from UX Live 🔥
This media is not supported in your browser
VIEW IN TELEGRAM
😳 Такое ощущение что я слышал и даже писал про это, но вбив свое имя офигел что есть такой диван
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Denis Sexy IT 🤖
This media is not supported in your browser
VIEW IN TELEGRAM
Забавно, что Sora 2 (даже Pro) почти не умеет генерировать как люди садятся в автомобили ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
Шрифт ERF Tars

💾 Скачать и использовать
https://disk.yandex.ru/d/9aPrKFxpGXg7_g

🔎 Посмотреть описание
https://creativemarket.com/erifqizefont/291430319-ERF-Tars-Complete-24-Family

#font #latin #paid
Forwarded from Новые шрифты
Ballonest

📁
Download: https://t.me/ZIP_Files/1199

Free for personal and commercial use.
PixelPluse-Digital Agency Web Design.

Автор
#сайт
Forwarded from Shock Design
Подборка бесплатных шрифтов для коммерции на кириллице.
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from UI_UX inspiration
This media is not supported in your browser
VIEW IN TELEGRAM
Day 386:
AFFiNE A workspace wh fully merged docs, wheboards and databases.
affine.pro

Unlocked/Reconnected The exhibion aims to provide insight on the various notions of 'house' and 'home'.
unlockedreconnected.nl

Ainsley Romero A designer who takes play very seriously and language very playfully.
ainsleyromero.com

More on
curated.design