Comments (7)
Скорее всего это будет добавлено не скоро. И если добавлено, то включаться отдельной настройкой. Объясняю почему. В MyTetra сделано все так, чтобы изменения, записываемые на диск, были минимальными. Поэтому она и работает быстро. Если добавлять дату изменения, то при каждом изменении записи нужно будет прописывать в дереве в соответствующем месте дату изменения "листа". Я сейчас имею дерево в 5000 записей. И файл дерева перезаписывается при каждом изменении дерева, а перезапись (куда входит генерация XML и запись на диск) длится 200 миллисекунд. Я расчитываю на разумную емкость дерева где-то в 30000-50000 записей. Получается, что такое дерево будет перезаписываться на относительно современном компьютере 2 секунды. Вам удобно будет работать, если после каждого изменения текста прога будет лагать на 2 секунды? Мне нет, поэтому я на такую переделку не расчитываю.
Можно, конечно сделать сохранение в отдельном треде, но тогда нужно будет еще городить систему синхронизации с очередью, чтобы если пользователь быстро сохранил два раза изменения, более старые не записались поверх более новых. Это очень крупная переделка.
Но я понимаю, что время изменения - это важный параметр. Мне его сильно не хватает в тех же extX файловых системах в Linux, ибо там есть что угодно - даже дата последнего доступа, а вот даты последнего изменения почему-то нет. Поэтому такую штуку оставляю на дальнюю перспективу.
from mytetra_dev.
Спасибо за развёрнутый ответ
from mytetra_dev.
Позвольте 5 копеек в тему: http://www.zonepc.ru/novye-atributy-v-ext4/
mtime (modification time) — время последнего изменения файла, каталога atime — (access time) — время последнего доступа к файлу, каталогу ctime — (change time) — время последнего изменения атрибутов файла, каталога (данных из в inode-области)
crtime (create time) — время создания файла dtime (delete time) — время удаления файла
И раз пошла речь про файловую систему: http://ru.stackoverflow.com/questions/254497/%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D0%B2-%D0%BF%D0%B0%D0%BF%D0%BA%D0%B5-linux-%D0%B8-windows
В FAT32 максимальное количество файлов на логическом диске 4,194,304. В NTFS максимальное количество файлов на логическом диске 4,294,967,295. В ext4 максимальное количество файлов на логическом диске до 4,294,967,295 (указывается при создании ФС).
Т.е. ситуация редкая, но бывает... заканчиваются в linux inodы для файлов, хотя места может быть еще очень достаточно. Это надо учитывать при создании веток. Возможно, есть смысл хранить базу не в папке, а в виртуальном подключаемом контейнере с заведомо известной файловой системой. Ато может так случиться, что кто-то запустит программу с домашней папкой на FAT16... вот удивительно будут папки называться )
from mytetra_dev.
mtime (modification time) — время последнего изменения файла, каталога atime — (access time) — время последнего доступа к файлу, каталогу ctime — (change time) — время последнего изменения атрибутов файла, каталога (данных из в inode-области) crtime (create time) — время создания файла dtime (delete time) — время удаления файла
Жалко, что эти времена толком не посмотреть в ls:
$ ls -l --time=crtime
ls: invalid argument ‘crtime’ for ‘--time’
Valid arguments are:
- ‘atime’, ‘access’, ‘use’
- ‘ctime’, ‘status’
Где бы еще найти таблицу перекодировки ваших обозначений и обозначений ls.
from mytetra_dev.
И вообще, вы не путаете с Solaris? Обозначения crtime я вижу только в мане на ls у Соляриса.
http://www.opennet.ru/man.shtml?topic=ls&category=1&russian=4
from mytetra_dev.
ls действительно не умеет видеть эти атрибуты.
Вот ссылка на методику и описание: http://www.zonepc.ru/novye-atributy-v-ext4/
from mytetra_dev.
По итогу разговора:
Какую информацию о времени изменения файла можно получить в Linux на файловой системе extX
from mytetra_dev.
Related Issues (20)
- Ошибка сборки ветки experimental в MacOS HOT 6
- Приложение не выходит по Quit, остается в правом нижнем углу HOT 5
- Ошибочный статус синхронизации HOT 3
- Не как не могу собрать mytetra HOT 4
- mytetra 1.44.136 - вылет при удалении строк таблицы HOT 1
- Большой размер табуляции в 10 символов. HOT 1
- Где находится последняя версия программы для Windows? HOT 8
- Проблемы с UTF-8? HOT 5
- Где смотреть список изменений? HOT 3
- В зашифрованных нодах не шифруются изображения HOT 3
- Tools->Preferences-> любая опция - окно на весь экран. Cancel/Ok не доступны HOT 2
- Тёмная тема и формулы HOT 1
- Не отображается иконка в System Tray, если не использовать sudo HOT 5
- 1_44_160_win32: Windows 10: Невозможно изменить шрифт текста при редактировании записи
- 1_44_160_win32: Windows 10: Как расшарить записи с коллегами?
- Не работают HTML спойлеры - которых очень сильно не хватает в mytetra HOT 1
- 1_44_1xx - Проблема при вставке HOT 4
- How strikethrough text? HOT 4
- Compile error on glibc-2.38-23
- При запуске синхронизации из приложения - крашится (MacOS) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mytetra_dev.