170 похожих чатов

Тяжело ли написать ФАТ-систему на Ноде? Или может про готовые

решения слышали? Есть "мультиОСные шифрованные диски" написанные на Си (кажется TrueCrypt) - пытаюсь продумать подобную на JS. Задача в одном файле хранить кучу файлов и общаться с ними через аналог fs-модуля Node. "склеить" все файлы в один - вроде не сложно. Но хочется удалять и править/перезаписывать файлы (меняя размеры), работать с папками и др.

18 ответов

12 просмотров

начни писать, по ходу узнаешь

Andriy-F Автор вопроса
A Z
начни писать, по ходу узнаешь

жутко полезный совет! ))) Пытался нагуглить хотя-бы основы ФАТ-архитектуры, и уже увяз в тонкостях. Хранение дерева, кластеры, цепочки кластеров в файле, дефрагментация, хранение размеров, количество ячеек в цепоче и тд... максимальная длина имени файлов, куча доп-реквизитов по каждому файлу (три даты, доступы)

Есть такая штука. Щас найду

Поищи ещё распределенные файловые системы на JS, там тоже куча наработок есть

Вот тебе гитхаб человека который подобные штуки очень любит https://github.com/mafintosh

Andriy-F Автор вопроса
Feanorx
Есть такая штука. Щас найду

ОГРОМНОЕ спасибо!!! Давно "вынашиваю" идею, и не знал даже с какой стороны подступиться...

Andriy F
ОГРОМНОЕ спасибо!!! Давно "вынашиваю" идею, и не з...

Пожалуйста. Она или аналог кстати в вебпаке внутри его используется.

Andriy-F Автор вопроса
Feanorx
Пожалуйста. Она или аналог кстати в вебпаке внутри...

Я хочу (для начала) научиться упаковывать тысячи файлов в один "бинарник", но так чтобы можно было "менять файлы поштучно" без перезаписи всего контейнера. По идее принципов ext4 должно хватить. Ни "fs в памяти", ни "зип-архивирование", ни другие виды "упаковки" не помогут. Нужно сразу со "структуры хранения дерева и цепочек" начинать!

Andriy F
Я хочу (для начала) научиться упаковывать тысячи ф...

https://github.com/narumatt/sqlitefs Только это FUSE и раст, но наверняка есть и в виде обычного модуля типа fs на JS

Andriy-F Автор вопроса
Feanorx
https://github.com/narumatt/sqlitefs Только это FU...

ушло в коллекцию. Я до такого не скоро доберусь, но как же это все "вкусно"... Представляю уже докер в котором подобное примонтировано и "выпущено наружу". И другие докеры/проги думают что работают с обычным (слегка тормознутым) диском, а на самом деле с МОЕЙ файловой системой работают...

https://github.com/mafintosh/level-filesystem Это конечно сохранит все не в файл, но в папку

Andriy-F Автор вопроса
Feanorx
https://github.com/mafintosh/level-filesystem Это ...

Не... я хочу именно в файл! вернее в сотню-тысячу "маленьких файликов", которые можно заливать в зашифрованном виде на "не безопасные" хостинги, флешки, сторэджи так чтобы из них можно было "собрать" всегда актуальную полную версию. Когда-то пользовался шифрованным диском на TrueCrypt. Создал диск-файл на несколько гигабайт. И не мог по почте "только изменения" отправить, хотя в нем лишь 10Кб поменялось. Та-же проблема была когда ежедневные архивы рабочей программы на гугл-сторэ архивировал вместе со СТАТИЧЕСКОЙ базой на сотню гигабайт "упаковывая одну папку в шифрованный 7зип-архив".

Andriy F
Не... я хочу именно в файл! вернее в сотню-тысячу ...

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

Andriy-F Автор вопроса

Не... хочу создать БИНАРНЫЙ "виртуальный диск" (программный), у которого будет (например) 100 "секторов". Каждый "сектор" будет не в одном файле, а в разных. Если меняю только один файл в ФС, то меняется максимум 3-4 "сектора" (зависит от дефрагментации файла). Тогда "на ту сторону" можно отправить лишь 3-4 файла чтобы и на той стороне была "актуальная версия данных".

Andriy F
Не... хочу создать БИНАРНЫЙ "виртуальный диск" (пр...

Так, а чем тебя не устраивает leveldb-filesystem? Там так и работает вроде

Andriy-F Автор вопроса
Feanorx
Так, а чем тебя не устраивает leveldb-filesystem? ...

насколько я понял, он не хранит фалы FS в ОДНОМ бинарнике, а создает РЕАЛЬНУЮ структуру папок.

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта