Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

FBL

 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


roinet
Новенький участник форума

Новенький участник форума

Зарегистрирован: 26.03.2008
Сообщения: 4

СообщениеДобавлено: Ср Мар 26, 2008 3:21    Заголовок сообщения: FBL Ответить с цитатой

FictionBook Library (FBL) - каталогизатор книг в формате FB2. Принцип работы похож на каталогизаторы аудио и видео - в БД только мета-информация, файлы лежат там где хочет пользователь.

Программа пишется на языке C# для платформы MS.Net, что теоретически позволяет ей работать на любом Windows без проблем совместимости.

В качестве СУБД была выбрана SQLite3, однако не сложно будет перейти на другие, т.к. в качестве ORM использован NHibernate + Castle.ActiveRecord. Возможно подробное логирование проложения и гибкая настройка в этом отношении - использован log4net.

Парсинг XML документов производится средствами стандартной библиотеки .Net, парсинг формата FictionBook в объектную модель производится своими силами. На данный момент парсер не поддерживает обложки и собственно текст книги (сохраняется в качестве строки).

На данный момент выложена версия 0.1 alpha (0.0.9) на сайте http://fbl.roinet.net

Реализовано:

* Профиль пользователя.
* Добавление/удаление директорий для сканирования.
* Сканирование директорий ведется по шаблону*.fb2 по кнопке Scan All.
* Возможность выбора пути к читалке.
* Отображение жанров, авторов, серий и, собственно, самих книг.
* Фильтрация по жанрам, авторам, сериям.
* Открытие книги в читалке по двойному клику.

Примерный список фичей обозначен в самой программе задизейбленными контролами.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


roinet
Новенький участник форума

Новенький участник форума

Зарегистрирован: 26.03.2008
Сообщения: 4

СообщениеДобавлено: Вт Апр 29, 2008 2:53    Заголовок сообщения: Ответить с цитатой

FictionBook Library v0.2.

Изменения:

* Загрузка данных из БД и сканирование директорий выделены в отдельные потоки. В результате программа почти не зависает.
* Визуализированы процессы загрузки данных и сканирования директорий.
* Увеличена скорость программы.
* Уменьшено потребление оперативной памяти почти в 2 раза.
* Уменьшено количество sql-запросов к базе данных в 4 раза.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Вс Июл 13, 2008 13:15    Заголовок сообщения: Ответить с цитатой

roinet, Вы разместили свое сообщение не в том разделе. Нужно было Сделано для FB
Библиотекари на .Net уже есть Sad не люблю эту "основу для програмирования"
Например продолжение Библиотекаря и http://www.fb2library.com/forum/viewforum.php?forum_id=7
1. Возможен ли вариант хранения книг в базе?
2. Будет ли Ваш вариант поддерживать сетевую работу?
3. Можно ли будет базу разместить под линуксом?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


roinet
Новенький участник форума

Новенький участник форума

Зарегистрирован: 26.03.2008
Сообщения: 4

СообщениеДобавлено: Вс Июл 13, 2008 17:47    Заголовок сообщения: Ответить с цитатой

Спасибо за перенос темы.

По поводу платформы и того что уже программы имеются - у всех вкусы разные. Мне кажется, что все программы которые на данный момент имеются не достаточно просты графическим интерфейсом. Кроме того я не вижу минусов в том, что имеется ещё одна программа для каталогизации книг. У пользователя всегда должен быть выбор. Программу я пишу преимущественно исходя из собственных требований, т.к. до сих пор никаких предложений и поправок ни от кого не поступало.

1. От хранения книг в БД я отказался изначально. Хотя конечно реализовать такую возможность возможно и это не должно занять много времени. Просто я не вижу смысла. Мне больше импонирует логика работы аудио и видео каталогизаторов.
2. Программа будет поддерживать сетевую работу с БД при использовании СУБД Postgresql, Mysql, Oracle, MSSql. Технических ограничений в этом нет. На данный момент принята к использованию СУБД SQLite только из-за того, что пользователю не требуется возится с установкой и настройкой сервера СУБД.
3. На данный момент программу запустить под платформой Mono скорее всего не получится из-за использования компонента IE для отображения расширенной информации о книге. В идеале хотелось бы сделать сборки, которые запускались бы под обоими платформами.

Могу также выложить примерный план добавления фичей в новых версиях программы, если это кому-нибудь интересно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cherckes
Новенький участник форума

Новенький участник форума

Зарегистрирован: 05.05.2007
Сообщения: 89
Откуда: Гомель

СообщениеДобавлено: Вс Июл 13, 2008 20:45    Заголовок сообщения: Ответить с цитатой

Полностью согласен, больше софта хорошего и разного.
Прогу я опробовал, но не столько чтобы высказывать пожелания о правке.
_________________
http://esperantofb2lib.at.tut.by/ - Книги в fb2 на эсперанто.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Yahoo Messenger


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Пн Июл 14, 2008 10:28    Заголовок сообщения: Ответить с цитатой

roinet писал(а):

1. От хранения книг в БД я отказался изначально. Хотя конечно реализовать такую возможность возможно и это не должно занять много времени. Просто я не вижу смысла. Мне больше импонирует логика работы аудио и видео каталогизаторов.
....
Могу также выложить примерный план добавления фичей в новых версиях программы, если это кому-нибудь интересно.


1. Хранение в виде "туевой кучи" файлов плохо тем, что файловые системы плохо "относятся" к такому. Под "туевой кучей" я понимаю - несколько тысяч файлов, а то и несколько десятков тысяч.

План выкладывайте - лишним не будет. Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


LX
Главный экзекутор

Главный экзекутор

Зарегистрирован: 05.12.2004
Сообщения: 967
Откуда: Минск

СообщениеДобавлено: Пн Июл 14, 2008 18:05    Заголовок сообщения: Ответить с цитатой

Cd_spb писал(а):
Под "туевой кучей" я понимаю - несколько тысяч файлов, а то и несколько десятков тысяч


winxp, ноутбук (т.е. медленный винт по сравнению с ББ), 3мгц проц

25 тыс файлов в одном каталоге открываются эксплорером моментально (в смысле он продолжает чиать файлы, лежащие НИЖЕ текущего экрана). фаром -- секунд 5, так что никакой проблемы нет

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

а, ну да. забыл сказать, файловая система -- нтфс, есссно
_________________
disinformation must be free!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Пн Июл 14, 2008 18:40    Заголовок сообщения: Ответить с цитатой

НТФС:
При размере файла менее 4кб он будет сохранен в MFT. При большом количестве таких файлов MFT будет достаточно большим и фрагментированным (Делаем допущение, что с файлами ведется работа.), и при наступлении заполнения диска остальные файлы будут попадать в "промежутки" MFT. К чему это ведет все понимают ;-\ На данный момент MFT можно дефрагментировать только под свистой, т.е. можно сказать - невозможно дефрагментировать.
Итого имеем огромное количество фрагментированных файлов, без возможности их дефрагментировать.
У нас коллега на такое нарвался, к его компу теперь страшно подходить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


roinet
Новенький участник форума

Новенький участник форума

Зарегистрирован: 26.03.2008
Сообщения: 4

СообщениеДобавлено: Пн Июл 14, 2008 23:44    Заголовок сообщения: Ответить с цитатой

От хранения файлов на диске имеется несколько плюсов:
1. Если вам не понравилась одна программа каталогизации, вы можете быстро и просто (без всякого экспорта) перейти на другую.
2. Многие предпочитают комбинировать каталогизаторы и определенную структуру директорий на диске. У меня, например, структура весьма проста - автор/книга. Однако уже это дает хорошую оптимизацию для чтения. Для тестирования программы я использую свалку из 5377 книг. Вот там действительно у TotalCmd возникают трудности. Для пользователя какого либо каталогизатора это не является проблемой, т.к. программа анализирует файлы один раз.

Добавлено спустя 7 минут 9 секунд:

Примерный список фичей в будущих версиях программы (плюсами отмечены уже реализованные фичи):

v0.3
+ Добавить поддержку ZIP-формата для книг.
+ Вычистить повторения в показе авторов (исправлено с внедрением транзакций).
+ Обработка обложек книг в парсере.
+ Добавить транзакцию при сохранении книги в БД (работа программы ускорилась в несколько раз).
+/- Добавить отображение расширенной информации о книге (имеется база на основе xslt таблиц, но не отлажено).
+/- Переработка логики основного компонента графического интерфейса (неотлажено).


v0.4
- Поиск (на основе Lucene, возможно с морфологией).
- Отработка нажатия Cancel при сканировании директорий.
- Отображение результатов сканирования (сколько успешно просканировано, сколько с ошибками и т.д.)

v0.5
- Плагинабельные actions над книгами.

v0.6
- Фильтры.

v0.7
- Внедрение локализаций.

v0.8
- Поиск в онлайновых библиотеках. ???

v0.9
- Редактирование метаданных книг. ???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


LX
Главный экзекутор

Главный экзекутор

Зарегистрирован: 05.12.2004
Сообщения: 967
Откуда: Минск

СообщениеДобавлено: Ср Июл 16, 2008 11:11    Заголовок сообщения: Ответить с цитатой

Cd_spb писал(а):
На данный момент MFT можно дефрагментировать только под свистой, т.е. можно сказать - невозможно дефрагментировать.


ишь ты, а мужики-то и не знают! (ц)

все там можно дефрагментировать, уверяю вас. и под хп, и под 2000, и под 2003. не встроенным виндовым дефрагментатором, естественно. O&O-шные или Raxco-вские дефрагментеры, например, прекрасно справляются с этой задачей (гугл вам в помощь)

повторю еще раз: хранить 25 тыс файлов в одном каталоге в любой файловой системе -- это глупость, конечно же (мне пришлось на нее пойти по условиям клиентской задачи), но нтфс в общем-то переживает такую нагрузку без видимых кошмарных последствий. эти 25 тыс файликов как раз весят в районе 3-15 килобайт и процентов 10 из них ежедневно обновляются (exif-инфа в jpg, если так уж интересно)

может, ваш коллега, конечно, и нарвался на какие-то страшные тормоза, но вполне возможно, что это какой-то глюк именно его машины

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

база на 25 тыс записей с кучей метаинформации и самими книгами в виде блобов (а не внешних ссылок) тоже не сильно резво будет бегать на клиентской машине (мы же не юзаем выделенный сервер? Wink)

так что все ок, для данной задачи можно не заморачиваться базой. ну разве что как одной из возможных фич в будущем
_________________
disinformation must be free!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Ср Июл 16, 2008 14:11    Заголовок сообщения: Ответить с цитатой

LX, за инфу про Raxco - спасибо, будем пробовать.
По поводу базы и тысяч файлов: сейчас на моем ноуте база под библиотекаря примерно на 70 000 "книг", работает достаточно шустро, правда в "серверном" варианте установки.
Лично мне(нам) интересен серверный вариант. База "расшарена" в офисе Wink
Но, ест-но, использование базы - это пожелание.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Вс Июл 20, 2008 14:22    Заголовок сообщения: Ответить с цитатой

Кстати, посмотрите сюда
1. http://www.fictionbook.org/forum/viewtopic.php?t=54
2. http://sourceforge.net/projects/athenaeum/

Там не все идеально, но основа есть и писано на C#. В частности работа с zip.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group