Имитация расшаренной папки
реализовать свой smb сервер\прикрутить к существующему эту псевдофайловую систему.
под линухом я бы быстро сделал это через FUSE, а потом просто расшарил самбой.
написать пару скриптов на перле и дать к этому доступ через http
Не хочется влазить на уровень драйверов: можно ли как-то ограничиться уровнем запросов о том, какие файлы есть в директории и уметь выдавать их, когда надо?
это плохая идея, заебёсся писать
В юникс-системах такое делается на раз, и тут уже рассказали как.
в виндах такое тоже делается на раз, просто либо в разделе нет отцов системного программинга в виндах, либо они проглядели этот тред.
Можно еще libc подхачить. но это не будет работать с ненатуральскими приложениями которые напрямую дергают ядро(правда я таких почти и не встречал).
Что-то мне кажется, что большинство приложений дергает WinApi, а не libc.
Делается, но не "на раз". И даже, пожалуй, не "на два".
Это будет попроще, чем писать полноценный драйвер для виртуального storage device'а под винды.
ЗЫ. В принципе, мб, можно, наверное, и без драйверов обойтись - "шарятся" же как-то scheduled tasks и printers... как именно - не знаю.
1) Shell extensions. С их помощью, например, написан GmailFS. Сильно не уверен, что такую виртуальную папку можно будет пошарить.
2) Драйвер виртуальной файловой системы. Ну я как-то раз ффтыкал в код одной такой прилады, ничего особенно сложного/объёмного там не было, но как бы нужно уметь.
Это у вас. У нас большинство дергает именно libc.
Возник тот же вопрос. Может у кого сорцы есть?
"На раз" под виндой я бы сделал просто папку где-нибудь, а потом бы её расшаривал на время работы программы.
Что-то я не пойму, а как это поможет автору?
Тебе это точно никак не поможет. А автор мог бы воспользоваться идеей: отслеживать изменения в папке и синхронизировать их с БД.
Например, я хочу, чтобы, когда человек зайдёт в шару, там был файл с именеи "текущее время"... как ты предлагаешь это сделать с помощью такого способа?
Это хочешь ты, автор этого не хочет.
и обрабатывать запросы к ней, т.е. отвечать, какие файлы в ней лежат
Потому что если бы он хотел чего-то нестандартного, он бы явно об этом написал. Какие файлы лежат в папке может ответить стандартный шаринг. Плюс предложенное решение простое, в разы проще, чем писать свой vfs.
но сами файлы хранить в базе данных
там всё быстро сделать и сетку в эмулятор провести
И чё ты мне в этот квот тыкаешь? Моя идея никак этому не противоречит: никто не мешает эти файлы из БД скопировать в эту папку.
Очевидно, что это - не решение.
Для тебя да, и я уже с этим согласился. Для автора это может быть вполне приемлемым решением.
1) Содержимое БД может меняться
2) С БД работать гораздо быстрее, чем с файлами на винчестере
3) ВОт тебе пример - у нас раздел с размером кластера в 64К, в БД лежит миллион записей размером в сотню-другую байт. Видишь разницу между "несколько сотен мегабайт" и "где-то полсотни гигабайт"?
2) смотря, как файлы на винчестере организованы
В любом случае - насколько я знаю, обычно БД лежит в оператике, и иногда (часто) бэкапицца наа винт... а с оперативкой в любом случае работать быстрее, чем с винтом...
Кроме того, тут-то предлагают не "вместо", а "вместе" - то есть, поддерживать этот каталог в дополнение к БД
1. Это можно отслеживать и изменять содержимое расшаренной папки.
2. Если в БД хранятся ФАЙЛЫ, то с ними в 90% быстрее работать как с файлами, а не БД запросами.
3. Когда в БД лежат обычные записи, про них так и пишут, что они записи. И в 99% случаев строки в таблице не называют файлами.
2,3) Строка таблицы - id, тип (папка/файл имя, содержимое
2. При таком подходе ещё проще реализовать то, что я предлагаю.
Кстати, ты тут собрался отслеживать изменения и в БД, и в той папке - мне вот интересно, что более приоритетно? То есть, например, если какой-то файл в папке есть, а записи о нём в БД нет - ты добавишь запись в БД, или сотрёшь файл из папки?
Что такое два несвязанных места?
Когда ты увидишь, что содержимое БД и содержимое той папки отличаются, ты решишь, что это кто-то изменил содержимое папки, зайдя в неё, как в шару, и что надо обновить информацию в БД - или что какими-то другими модулями поменялось содержимое БД и надо обновить информацию в папке?
Ты не ответил на два моих вопроса, что такое сущность и что такое несвязанные места?
Влом объяснять тебе такие элементарные вещи, считай, что я о них и не говорил
Ну тогда считай, что вопросов твоих и не было.
Так тебе больше нравится?
Читай свою подпись и действуй.
набор данных однозначно идентифицируемый
> А что такое дублирование данных?
несколько(больше одного) наборов данных, одиннаково идентифицируемых (с точки зрения логики решаемой задачи)
Не давай тупых советов, верность которых не можешь объяснить.
Когда ты за работу программистом будешь получать те же деньги, что и я, может быть я твоему совету последую. Ты совсем не понял то, что я предложил, и мало понял, зачем я это предложил.
Просвяти меня. глупого - так что же имел в виду мудрый ?
Бесполезно что-либо тебе объяснять, так как ты не поймешь абсолютно ничего
Насколько я понимаю, бесполезно что-нибудь объяснять, потому что этот мегаотец так и не придумал, что он тогда имел в виду
Майк не мегаотец, конечно, но он рюхает, в отличие от тебя, ебущего всем мозг тупыми вопросами, ответы на которые можно найти в любом справочнике.
А этот майк так и не ответил на мой вопрос
На месте админов я бы пробанил всю твою подсеть, чтобы пользователи оценили, какой вред ты наносишь дискуссиям.
Ты только и делаешь, что задаешь вопросы - почему ты считаешь, что на них должны непременно ответить?
А мой вопрос 'у был риторическим. чтобы заставить его задуматься, чтобы он попытался получить ответ для себя.
Но он его не получл, судя по всему...
Я ещё и отвечаю на чужие вопросыТвои ответы совершенно бесполезны, за исключением единиц. Более того, в них, кроме метаслов "вроде" и "по-моему", содержатся явные искажения фактов.
в них, кроме метаслов "вроде" и "по-моему", содержатся явные искажения фактов.Например?
Пообещай удалиться из этого раздела, если я предоставлю тебе примеры.
Обещаю, если ты приведёшь _много_ примеров. Например, если покажешь, что хотя бы треть моих ответов содержит явные искажения фактов.
если..._много_Условия ставлю я.
Не хочешь соглашаться - продолжай ебать мозг остальным, пусть за тобой смотрит администрация.
Шестнадцатилетний подросток-кретин по определению не может давать нормальные советы в программинге, так что пусть ламеры готовятся к вранью.
А мой вопрос 'у был риторическим. чтобы заставить его задуматься, чтобы он попытался получить ответ для себя.Слушай, я выдал идею для другого человека, не для тебя. Что для тебя она не подходит, я написал и согласился с этим сто постов назад. И может случиться, что по предложенной мною схеме можно будет решить задачу, которую решает автор треда. Ты-то чё лезешь меня учить? Я тебе и с vfs сейчас проблем наперечисляю столько, что ты за месяц их не решишь. Не все программы пишут на ассемблере, угадай почему?..
Читай что написано - ЭМУЛИРОВАТЬ расшаренную папку. Если она у меня 40 гигов будет, что мне по-твоему копию создавать?
Купить ещё винчестер обойдётся на пару порядков дешевле стоимости разработки
40 гигов - это мало.
Сказано эмулировать, значит эмулировать. Ё-моё, из всех постов только в одном автор правильно понял, что надо накатать нечто вроде самбы для Windows.
Хотя нет... ещё предлагали написать свой драйвер фс и её потом расшарить, но боюсь драйвер - больший гемор при больших возможностях.
Оставить комментарий
adm900
Как создать приложение, которое будет создавать разшаренную папку и обрабатывать запросы к ней, т.е. отвечать, какие файлы в ней лежат, осуществлять доступ к этим файлам, но сами файлы хранить в базе данных.