HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>В этом уроке мы попрактикуемся еще с одним вариантом агрегации данных на файловых системах.</p>
1 <p>В этом уроке мы попрактикуемся еще с одним вариантом агрегации данных на файловых системах.</p>
2 <h2>Условие задачи</h2>
2 <h2>Условие задачи</h2>
3 <p>Напишем функцию, которая принимает на вход директорию и возвращает:</p>
3 <p>Напишем функцию, которая принимает на вход директорию и возвращает:</p>
4 <ul><li>Список директорий первого уровня вложенности</li>
4 <ul><li>Список директорий первого уровня вложенности</li>
5 <li>Количество файлов внутри каждой из них, включая все поддиректории</li>
5 <li>Количество файлов внутри каждой из них, включая все поддиректории</li>
6 </ul><p>Так это выглядит в коде:</p>
6 </ul><p>Так это выглядит в коде:</p>
7 <h2>Реализация</h2>
7 <h2>Реализация</h2>
8 <p>Внутри себя эта задача распадается на две:</p>
8 <p>Внутри себя эта задача распадается на две:</p>
9 <ul><li>Подсчет количества файлов внутри директории</li>
9 <ul><li>Подсчет количества файлов внутри директории</li>
10 <li>Вызов функции подсчета файлов на каждой из поддиректорий</li>
10 <li>Вызов функции подсчета файлов на каждой из поддиректорий</li>
11 </ul><p>Начнем с подсчета количества файлов. Это классическая задача на агрегацию:</p>
11 </ul><p>Начнем с подсчета количества файлов. Это классическая задача на агрегацию:</p>
12 <p>Следующий шаг - извлечь всех потомков из исходного узла и к каждому из них применить подсчет:</p>
12 <p>Следующий шаг - извлечь всех потомков из исходного узла и к каждому из них применить подсчет:</p>
13 <p>В коде выше мы обратились к потомкам напрямую. Сначала мы отфильтровали их, а затем выполнили отображение на необходимый массив, содержащий для каждой директории имя и количество файлов в нем.</p>
13 <p>В коде выше мы обратились к потомкам напрямую. Сначала мы отфильтровали их, а затем выполнили отображение на необходимый массив, содержащий для каждой директории имя и количество файлов в нем.</p>
14 <h2>Рекомендуемые программы</h2>
14 <h2>Рекомендуемые программы</h2>