Обсуждение проекта
| |
drserj | Дата: Понедельник, 31.10.2016, 21:26 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Unilib - программа для создания локальных библиотек.
Unilib представляет собой развитый офлайновый каталогизатор локальной библиотеки с автоматизированной пакетной обработкой импортируемых книг. Программа позволяет производить автоматический отбор книг по критериям, заданным пользователем, отсеивать дубликаты и.т.д.
Особенности Unilib-а:
1) Поддержка нескольких библиотек. 2) Импорт/экспорт личных данных. 3) Возможность обмена данными с другими библиотеками Unilib.
Ориентировочная структура БД
Структура модуля импорта
|
|
| |
PFN | Дата: Пятница, 04.11.2016, 16:57 | Сообщение # 16 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) Мое мнение - %Z, но для этого надоть соответственно переименовывать, перепаковывать оригинал с последующим удалением оригинала. Крайне не хочется поддерживать мультиархивы (тысячники), ибо в них функционал порезанный.
Цитата drserj ( ) Что-то подсказывает, что г-н PFN будет против А вот и нет!!! Мне эти мультиархивы и даром не нужны, т.к. в них полно всякого мусора и книг на языках, которыми не владею. Поэтому и занимаюсь тем, что распаковываю мультиархивы, отсеиваю все мне не нужное и переименовываю файлы в удобный для меня формат. Что касается формата %Z или %z, то он обязательно должен присутствовать, но не безальтернативно. Я пока храню книги одиночными (незаархивированными) файлами с именами вида: АВТОР_СЕРИЯ-№_НАЗВАНИЕ_ЖАНР, т.к. так проще искать и убирать дубликаты. А потом можно и в %Z или %z.
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
drserj | Дата: Пятница, 04.11.2016, 17:04 | Сообщение # 17 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) Что касается формата %Z или %z, то он обязательно должен присутствовать, но не безальтернативно. вот это и плохо... Даш народу альтернативу - на шею сядут... Остается жесткая привязка к месту, отсекая поиск. Иначе опять грустно по скорости поиска... Итак, резюмируем: 2 формата- %Z и имя с полным путём. Архивация обязательна, принудительное добавление fbd-файла к не fb2-файлам... Или нафиг?
drSerj
|
|
| |
PFN | Дата: Пятница, 04.11.2016, 17:17 | Сообщение # 18 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) Остается жесткая привязка к месту, отсекая поиск. Не понял про "отсекая поиск"... Что имеется ввиду?
Цитата drserj ( ) Архивация обязательна, принудительное добавление fbd-файла к не fb2-файлам... Или нафиг? Учитывая, что имеется до фига полезной литературы в форматах не fb2 и невозможность их конвертирования в fb2, то желательно... Но если этого не будет, то не много и потеряем. Просто придется хранить их отдельно и доставать по названию средствами системы.
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
1_абрам | Дата: Пятница, 04.11.2016, 19:41 | Сообщение # 19 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Цитата drserj ( ) Архивация обязательна, принудительное добавление fbd-файла к не fb2-файлам... Или нафиг?
Конечно, лучше бы добавлять. Но м.б. я не понимаю какие минусы у этого решения.
|
|
| |
drserj | Дата: Пятница, 04.11.2016, 20:46 | Сообщение # 20 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) Не понял про "отсекая поиск"... Что имеется ввиду? Дело в том, что 99% времени на обращение к книге (получение данных, копирование и т д) тратится на поиск книги в файловой системе (на диске). При большом кол-ве книг нахождение одной книги может занимать минуту и более (если книг сотни тысяч и компьютер не очень мощный). Дабы избавить пользователя от такого "сервиса" был придуман формат %Z, который позволяет указать расположение книги без ее поиска, путем синтеза ссылки по заранее известному алгоритму. Т.е. книга не ищется как файл, а программа заранее знает, где может находиться файл. Второй вариант, позволяющий программе без поиска находить книгу - сохранение полного пути к книге и имени файла. Всё это добро хранится в базе и вместо поиска извлекается запросом. Так же поиска не происходит, ссылка формируется программой по алгоритму Диск+путь+имя файла. Но... проблема в том, что это хранится в базе. Если путь большой - база разрастается. Да и ограничение на длину тоже не есть хорошо. Так что даже такие мелочи могут усложнить нам жизнь. Отсечь поиск - не производить реальный поиск на диске а формировать ссылку по заранее известному алгоритму.
Цитата PFN ( ) Учитывая, что имеется до фига полезной литературы в форматах не fb2 и невозможность их конвертирования в fb2, то желательно... я к тому, что жать многометровые файлы - затраты времени...
А вообще, я бы не хотел, но что делать, если народ не захочет переделывать коллекцию а просто загнать данные в базу? Конечно, такое желание справедливо, но оно противоречит концепции программы.
Цитата 1_абрам ( ) Но м.б. я не понимаю какие минусы у этого решения. перепаковка...
drSerj
|
|
| |
1_абрам | Дата: Пятница, 04.11.2016, 22:51 | Сообщение # 21 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Цитата drserj ( ) перепаковка... Это при добавлении новоф книги в библиотеку?Добавлено (04.11.2016, 20:51) --------------------------------------------- А я правильно понимаю, что если Флибуста прекратит свое существование а у пользователя сохранятся все архивы , то вместо мультилиба можно будет использовать унилибс, т.к. она будет удобнее и совершеннее мультилиба.
Сообщение отредактировал 1_абрам - Пятница, 04.11.2016, 22:48 |
|
| |
drserj | Дата: Пятница, 04.11.2016, 23:09 | Сообщение # 22 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата 1_абрам ( ) Это при добавлении новоф книги в библиотеку? как бы да...
Цитата 1_абрам ( ) А я правильно понимаю, что если Флибуста прекратит свое существование а у пользователя сохранятся все архивы , то вместо мультилиба можно будет использовать унилибс, т.к. она будет удобнее и совершеннее мультилиба. спорно... ведь у флибусты (как у либруса) база никуда не делась, по этому смысл импорта данных из файлов? Вот если за основу брать кучу книг, накачанных из разных источников - да, унилиб, возможно, будет удобнее. Впрочем, всё зависит от функционала. А до этого - далеко.
drSerj
|
|
| |
PFN | Дата: Суббота, 05.11.2016, 14:16 | Сообщение # 23 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) Отсечь поиск - не производить реальный поиск на диске а формировать ссылку по заранее известному алгоритму. Конечно, этот вариант предпочтительнее. В своей программе я задействовал алгоритм, когда путь к файлу формируется таким образом: 1. Есть путь к файлам книг в библиотеке: BiblPath = "Е:\Книги". Это может храниться в ini-файле 2. А дальше: От фамилии автора отсекается первая буква и добавляется к BiblPath вместе с полным именем автора и именем файла: Е:\Книги\А\Астахов Леонид\Астахов Леонид_Первый и последний_Фэнтези.fb2 (Автор и имя файла - "от фонаря" ) Это при том, что здесь не используется БД. А в запросе с параметрами - это вообще не проблема. Тем более, что все эти данные уже есть в базе (сужу по Мультилибу). Я за этот вариант!
Цитата drserj ( ) А вообще, я бы не хотел, но что делать, если народ не захочет переделывать коллекцию а просто загнать данные в базу? Конечно, такое желание справедливо, но оно противоречит концепции программы. Тогда пусть пользуются Мультилибом! Я же сейчас использую Мультилиб для своей локалки и хотя ворчу иногда, но понимаю, что программа заточена на сеть, не на локалку.
Цитата drserj ( ) Вот если за основу брать кучу книг, накачанных из разных источников - да, унилиб, возможно, будет удобнее. Именно!!! В этом и должна состоять главная ценность Унилиба - выбрать из кучи и сохранить нужное, а остальное в топку!Добавлено (05.11.2016, 12:16) --------------------------------------------- Как и обещал, представляю на суд автора свои предложения. Просьба тапками не кидаться, т.к. это автора ни к чему не обязывает.
Странно, но не смог прикрепить файл .txt Поэтому - вот ссылка: https://yadi.sk/i/yp7pK26Xy7U8y
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
Сообщение отредактировал PFN - Суббота, 05.11.2016, 14:05 |
|
| |
1_абрам | Дата: Суббота, 05.11.2016, 15:10 | Сообщение # 24 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Цитата drserj ( ) спорно... ведь у флибусты (как у либруса) база никуда не делась, по этому смысл импорта данных из файлов?
Ты же вроде бы писал, что будет модуль экспорта из сетевых библиотек.
Добавлено (05.11.2016, 13:02) --------------------------------------------- Еще предложение по формату. М.б. сделать его однообразным, всегда добавлять fbd и для фб2. Плюс модифицировать fbd, сделав его по ГОСТ библиграфичской карточки. Добавлено (05.11.2016, 13:10) --------------------------------------------- Еще вариант навзвания программы:
unilibraro (для звучности и пропоганды эсперанто).
|
|
| |
PFN | Дата: Суббота, 05.11.2016, 15:22 | Сообщение # 25 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата 1_абрам ( ) unilibraro (для звучности и пропоганды эсперанто). Не знаю, как это будет пропагандировать эсперанто, но у меня это название сразу вызвало ассоциацию с архиватором RAR
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
drserj | Дата: Суббота, 05.11.2016, 16:46 | Сообщение # 26 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) 2. А дальше: От фамилии автора отсекается первая буква и добавляется к BiblPath Это всё прекрасно, но... кому-то захочется букву, кому-то две, кому-то слово... Или универсально или ничего. Иначе, только и буду, что добавлять варианты по просьбам... Подумываю про тэги... Хотя, может обойдемся 2 стандартами во избежание ?
Цитата PFN ( ) Тогда пусть пользуются Мультилибом! Да я вот тоже так думаю...
Цитата PFN ( ) Как и обещал, представляю на суд автора свои предложения. Спасибо, гляну...
Цитата 1_абрам ( ) Ты же вроде бы писал, что будет модуль экспорта из сетевых библиотек. угу... вопрос в том, что будет экспортироваться... Для решения этого вопроса надо основной модуль сначала иметь....
Цитата 1_абрам ( ) Еще предложение по формату. М.б. сделать его однообразным, всегда добавлять fbd и для фб2. Плюс модифицировать fbd, сделав его по ГОСТ библиграфичской карточки. Не, ну это уже избыточно Если есть fbd - зачем база? Да и fbd, мне так пришло сейчас в голову, и нафиг не надо, его нужно генерировать в процессе копирования на устройство или экспорта... Зачем хранить и занимать место на диске?
Цитата PFN ( ) Не знаю, как это будет пропагандировать эсперанто, но у меня это название сразу вызвало ассоциацию с архиватором RAR одному мне всякие пошлости в голову лезут
drSerj
|
|
| |
drserj | Дата: Суббота, 05.11.2016, 17:11 | Сообщение # 27 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) по структуре: данные, вытягиваемые из fb2 мы оставляем в покое и не обсуждаем. Сегодня не надо, завтра - понадобится. Не те объемы, что бы экономить.
TABLE `UlMain`.`ulusers` - программа планируется многопользовательская, данные сугубо для программы.
TABLE `ulauthorname` и `ulauthor` - связные таблицы, так положено. Автора, переводчики, художники и т.д. различаются индексом, путаницы не будет. Поскольку структура таблиц идентична - нефиг плодить кучу дублей. Вопрос надобности - мне лично надо. Кстати, зачастую, один человек может выступать как автор, так и как переводчик. Зачем множить сущности...
TABLE `ulseqname` - да, больной вопрос про авторские издательские и пр. типы... рыдаю над темой лет десять... Возможность разделения - `seqtype`, дальнейшее дробление, как мне кажется, не имеет смысла. На флибусте оно связано с релевантностью, выглядит непонятно и бредово... Будем еще обсуждать более предметно.
Цитата Может стоит подумать, чтобы список заполнялся из файла при загрузке программы? Да оно так и делается, только из sql-файла... Вообще, это тема несколько отдельная, рассматривать ее надо гораздо более вдумчиво. Так же будем обсуждать более детально.
Цитата Пожелания: ========== 1. Возможность редактировать метаданные книги с внесением изменений и в книгу 2. Возможность при удалении книги из базы удалять файл и с диска (при желании) 3. Возможность полной очистки БД с обнулением индексов 4. Возможность открыть непосредственно из таблицы "Отсев", отсеянную по причине "Ошибка разбора", книгу в редакторе NP++ или другом для испрвления ошибок. В крайнем случае перемещать такие книги в специальную директорию.
1. Всё моё естество противится этому Вот ведь проблема - занес книгу, посчитал мд5, сформировал каталоги, переименовал файл, скопировал в структуру... И после редактирования - всё по-новой? Ведь в процессе мд5 поменяется, ведь так? А соответственно, по скольку это основной идентификатор книги - придется отслеживать все списки, таблицы, выборки и т.д. где имеются упоминания об этом файле. Хочется редактировать - до помещения в базу! Потом - не стоит. Для этого есть база!.
Собственно, мы ломаем копья там, где нет в этом смысла. Программа - есть база, в которой хранятся все данные, которые изначально берутся из фб2 и потом, при необходимости правятся. Зачем еще и в книге их править? Вот возможность экспорта с корректными данными - да, может и нужно.... А вот оригинал портить - не стоит.
2. Таки да. При условии, что мультиархивов не будет.
3. грохни в каталоге базы файлы - полная очистка
4. что-то там было, не помню. Не проблема.
drSerj
|
|
| |
PFN | Дата: Суббота, 05.11.2016, 17:11 | Сообщение # 28 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) Хотя, может обойдемся 2 стандартами во избежание ? Наверно это будет самый оптимальный вариант. Хотя разбивка по литералам и директориям авторов может ускорить и облегчить загрузку нужного контента.
Цитата drserj ( ) одному мне всякие пошлости в голову лезут Про другие ассоциации я деликатно промолчал...
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
drserj | Дата: Суббота, 05.11.2016, 17:11 | Сообщение # 29 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Наконец-то все в онлайне Чат что ль влепить на сайт... А то переписка в форуме крайне не эффективна, много времени тратится...
drSerj
|
|
| |
PFN | Дата: Суббота, 05.11.2016, 17:35 | Сообщение # 30 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) Хочется редактировать - до помещения в базу! Потом - не стоит. Я и имел ввиду, что этот процесс может быть реализован на этапе первичного (предварительного) отбора книг в базу. Просто выразился коряво... Тут нам важны, прежде всего, 2 критерия: 1. Отсев дубликатов. Причем отсев тех, которые хуже экземпляра, находящегося в базе. К сожалению, это можно определить только визуально. 2. Валидность самой фб2-книги Короче, я попробую быстро привести к более-менее приемлемому виду свою программку, которая этим занимается и выложу ее на Я-диск. Так будет проще показать, чем расписывать весь процесс. Может что-то и пригодится...Добавлено (05.11.2016, 15:35) ---------------------------------------------
Цитата drserj ( ) Чат что ль влепить на сайт... А то переписка в форуме крайне не эффективна, много времени тратится... Может и стоит, если обсуждение будет вестись так активно.
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
|