avva: (Default)
[personal profile] avva
Ну хорошо. Может она, иерархическая файловая система то есть, действительно не нужна?

Все эти каталоги в каталогах. Широченное дерево, ползучее. Кто сказал, что именно так должно быть?

Вот в последнее время так популярно стало вместо иерархии делать метки. Вместо иерархического дерева закладок - del.icio.us, с тагами на каждом URLе. Вместо иерархического дерева фотоальбомов - Flickr с тагами на каждой картинке. И так далее.

Давайте скажем: нет никакой иерархической файловой системы. Есть файлы. У каждого файла есть набор меток. В некоторых случаях эти метки хранятся вместе с самим файлом, в некоторых - отражают то, где он хранится ("cd").

Если у файла есть метка "program", его можно запустить. Конфигурационные файлы помечены "config", а конфигурационные файлы системы имеют метки "config" и "system" одновременно. Плюс метку определённого пакета или модуля, в случае надобности.

Директорий нет. Вместо понятия текущей директории есть понятие текущего набора меток, который включает в себя те метки, что я хочу видеть, и, возможно, какие-то, которых не хочу (так файлы "system" будут скрыты от обычного пользователя). Вместо команд "dir" и "ls" есть команда, которая показывает все файлы, отвечающие текущему набору меток. Если у компьютера есть несколько пользователей, файлы каждого помечены меткой его username. Вместо команды "cd" есть команда, меняющая текущий набор меток. Графические программы для работы с файлами делают понятие текущего набора меток наглядным и легко изменяемым.

Гмм... что делать в ситуации, когда у двоих людей есть разные файлы с одинаковым именем? Скажем, что есть метки косметические, а есть существенные. Существенные метки являются частью идентичности файла; могут существовать два разных файла с одним именем, но разным набором существенных меток. Но если набор существенных меток одинаков и имя одно и то же, это один и тот же файл (у которого можно менять набор косметических меток) (update: возможно, косметические метки не нужны, пусть все будут существенные?).

"Копировать файл" означает клонировать его и изменить какую-нибудь существенную метку (или добавить). Например: я программист и у меня есть проект foo, в котором 100 файлов. Я хочу сделать новую копию всего проекта и работать над ней. Создаю новую существенную метку current и клонирую весь проект в неё. Аналогом переноса файла из одного каталога в другой теперь является изменение набора существенных меток (без клонирования). Записать набор файлов на USB-диск означает выделить нужный набор файлов и склонировать их с меткой usb.

Не будет работать? Слишком сложно? Слишком неинтуитивно?
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

Date: 2006-01-04 05:19 pm (UTC)
From: [identity profile] bolk.livejournal.com
Папки + линки

Date: 2006-01-04 05:22 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Работать будет, если потребовать, чтобы единственной существенной меткой был полный путь к данному файлу, а все остальные - косметическими.

Date: 2006-01-04 05:23 pm (UTC)
From: [identity profile] balaganski.livejournal.com
А как быть, если у меня 2 CD-драйва и 3 usb? Как быть с сетевыми ресурсами?

Date: 2006-01-04 05:25 pm (UTC)
From: [identity profile] avva.livejournal.com
cd1, cd2 автоматически. usb1 usb2. Плюс можно переименовать метку устройства, а система запомнит. "disk on key". "cd writer". "camera".

Date: 2006-01-04 05:25 pm (UTC)
From: [identity profile] e2k-4d-x-ussr.livejournal.com
да не, вполне нормально.
нынешняя техника и не такую плоскоту потянет.

иерархическая она ж ведь не только из-за порядка выбрана была, а ещё чтобы перебор сузить.
From: [identity profile] tom-ohawk.livejournal.com
что делать, если на носителе миллионы файлов? придется как-то упорядочивать доступ и к тысячам/десяткам тысяч меток?

Date: 2006-01-04 05:26 pm (UTC)
From: [identity profile] avva.livejournal.com
Сетевые ресурсы: имя компьютера становится существенной меткой. Когда работаем в сети, все наши файлы автоматически приобретают метку по имени нашего компьютера. Меняем её на другую - видим чужие файлы (к которым есть доступ). Клонируем их в нашу метку - копируем с другого компьютера на свой.

Имя файла

Date: 2006-01-04 05:27 pm (UTC)
From: (Anonymous)
Имя файла тоже метка ;)

Date: 2006-01-04 05:27 pm (UTC)
From: [identity profile] a7sharp9.livejournal.com
Так и работают объектные базы данных. ObjectStore, например. То, что Вы описываете, называется View. Но объяснение пользователю, что процесс "скопировать файл" (интуитивный хотя бы на каком-то уровне) на самом деле должен сопровождаться какими-то изменениями меток, каковой концепт и вообще-то человеку не объектно-ориентированному неясен - это точно гибель.

Ну, и прикрутить такое сверху любой файловой системы, прозрачно для пользователя, тоже, в общем, несложно, даже не меняя собственно принципов того, какова структура помещения битов на диск.

Date: 2006-01-04 05:27 pm (UTC)
From: [identity profile] bealex.livejournal.com
WinFS, PalmOS FS, и что-нибудь еще, основанное не на иерархии, а на базе данных.

Date: 2006-01-04 05:27 pm (UTC)
From: [identity profile] anton.livejournal.com
Зачем существенные и несущественные метки? Можно просто запретить существование файлов с одинаковыми наборами меток. Т.е. метки, как и сейчас путь — считаются частью имени.
From: [identity profile] avva.livejournal.com
Текущий набор меток всегда достаточно ограничен. Команда аналогичная dir/ls показывает только файлы у которых именно эти метки, а не эти и ещё какие-то другие. Для этого варианта есть другая команда или опции, и тогда это аналогично рекурсивному dir /S или ls -R, который действительно выдаст полмиллиона, как попросили.

Надо только придумать удобные команды, позволяющие узнать, какие есть "поблизости" интересные метки, чтобы их добавить/посмотреть. Не очень ясно, что значит "поблизости", надо подумать. Т.е. проблемы с миллионом файлов нет, а вот с десятком тысяч меток - может быть.

Date: 2006-01-04 05:32 pm (UTC)
From: [identity profile] avva.livejournal.com
Ага, см. апдейт в записи.

Date: 2006-01-04 05:33 pm (UTC)
From: [identity profile] melkin.livejournal.com
Возможно это не интуитивно для програмиста, но пользователь-то будет работать с графическими программами - copy-paste, drag and drop, ему будет просто.

Date: 2006-01-04 05:33 pm (UTC)
From: [identity profile] screamager.livejournal.com
Не будет работать? Слишком сложно? Слишком неинтуитивно?

Конечно. Фигня все эти метки. Точнее не фигня, а мелкий полезный инструмент, типа этих жёлтых post-it наклеечек. но мы ведь не пишем всё на этих стикерах? Вот и метки не надо притягивать за уши ко всему подряд.

Концепцию файлов и папок человеку, не страдающему олигофренией, можно объяснить за 1 минуту. Никакого бэкграунда при этом не требуется, специальных знаний о компьютере тоже. А если он за минуту не понял, то он и как на клавиатуре работать, тоже не поймёт. Shift какой-то, ctrl. Мутотень.

Date: 2006-01-04 05:34 pm (UTC)
From: [identity profile] avva.livejournal.com
Копирование на графическом уровне может выражаться drag-n-drop'ом или копи-пастом. На текстовом что-то типа clone filename -> newtag.

Прикрутить сверху файловой системы немудрено, ясно, что можно базу данных поставить и всё по ней искать с точки зрения GUI определённых приложений. Мне интересно вот что: можно ли вообще обойтись без иерархической файловой системы. Так чтобы всё было без неё, абсолютно, а не "на нижнем уровне" с ней для администраторов и разработчиков.


Date: 2006-01-04 05:34 pm (UTC)
From: [identity profile] slavka.livejournal.com
а может, устроить постепенный переход? ничего особенного не надо - просто еще одну приблуду в виндах, которая позволит каждому файлу вешать неограниченное число меток
часть меток будет генериться автоматически (полный путь, имя файла, расширение, атрибуты, теги из мп3-файлов итд)

в итоге каждый сможет пользоваться тем что ему удобнее; кто-то предпочтет скопировать файлы в другой каталог фаром (и при этом у новых файлов автоматически обновятся метки), кто-то будет делать то же самое но через какой-нибудь MS Tag Manager

а вообще идея с метками очень правильная - скажем, когда я запихиваю файл в свою коллекцию софта, каждый раз приходится решать в каком фолдере ему место; скажем плагины для Неро могут быть в multimedia\video\encoders, а могут быть и в hardware\cd\write\nero\plugins

в сличае с метками я просто вешаю обе метки и все ок (некий аналог shared files из VSS)

Date: 2006-01-04 05:36 pm (UTC)
From: [identity profile] avva.livejournal.com
WinFS - база данных, прикрученная поверх иерархической файловой системы. Это не очень интересно. Интересно совсем и полностью без иерархической файловой системы, но чтобы было не менее удобно, причём не только чайникам, но и продвинутым пользователям (может, непривычно вначале, но в итоге не менее удобно).

Date: 2006-01-04 05:37 pm (UTC)
From: [identity profile] melkin.livejournal.com
И линки меток навроде теперешнего My Computer.

Date: 2006-01-04 05:37 pm (UTC)
From: [identity profile] avva.livejournal.com
Это видимо WinFS - по крайней мере первая часть такого постепенного перехода. Но я не думаю, что они планируют переходить полностью. Не знаю, есть ли в WinFS возможность ставить любые метки по моему желанию, но если нет - они дураки :)

каждый раз приходится решать в каком фолдере ему место

вот-вот, схлопывание многие вопросы упрощает. Проблема разобраться в том, не слишком ли сильно иногда :)

Date: 2006-01-04 05:39 pm (UTC)
From: [identity profile] gxost.livejournal.com
Будет работать, если это будет дополнением к иерархической файловой системе (а не её заменой).

Date: 2006-01-04 05:43 pm (UTC)
From: [identity profile] slavka.livejournal.com
иерархическая система - это тоже абстракция (на самом деле файлы вовсе не сидят на винте аккуратными группами ;) )
иерархическая система - частный случай системы меток

Date: 2006-01-04 05:43 pm (UTC)
From: [identity profile] anton.livejournal.com
Тогда не вижу никаких проблем. Для пользователя, к тому же (и для совместимости со старым), это можно представить в виде иерархии.

А почему Вы говорите, что WinFS — иерархическая. Насколько я понимаю, иерархия там только моделируется для совместимости, но на самом деле она полностью на метках. Другое дело, что в Висте они пока сделали не WinFS, а какие-то временные костыли.
From: [identity profile] tom-ohawk.livejournal.com
тогда мы снова придем к иерархичаекой системе.
если взять историческую аналогию - задолго до компьютеров были большие библиотеки. файлы кхм.. книги расставляются по полкам, стеллажи упорядочены, кроме того присутствует MFT или FAT гмм... каталог
потому как сегодня мне надо придвинуть один стеллаж поближе, а завтра понадобится другой, а послезавтра третий.. а их тематика не имеет между собой ничего общего, так что "близость" - понятие и впрямь плохо формализуемое, плюс проблему создадут не столько десятки тысяч многофунциональных, попадающих под несколько классов рубрикатора, а несколько тысяч охх.. файлов книжек, которые не укладываются ни в какую осмысленную классификацию и из-за них рубрикатор начинает распухать и терять свою собственную упорядоченность

для примера можно поиграться со своей домашней библиотекой или коллекцией аудио- и видео- записей, поклеить цветные стикеры и попытаться окинуть полку общим взглядом - если носителей много, то запестрит в глазах и чего-нибудь да и не разглядишь

Date: 2006-01-04 05:46 pm (UTC)
From: [identity profile] a7sharp9.livejournal.com
Пример того же Objectstore показывает, что можно - все, чем они пользуются из операционки, это random-access file. Если я правильно помню - я их лет 10 назад изучал. Причем у них и тогда не было особых проблем со скоростью.
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 12:38 pm
Powered by Dreamwidth Studios