The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталогизатор домашней библиотеки MyLibrary 1.0

20.12.2022 12:46

Состоялся релиз каталогизатора домашней библиотеки MyLibrary 1.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки GTK4. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый пакет.

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

Реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу, по умолчанию установленную в системе для открытия файлов fb2 и epub. При выборе книги отображаются аннотация и обложка книги, если таковые доступны.

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

  1. Главная ссылка к новости (https://github.com/ProfessorNa...)
Автор новости: ProfessorNavigator
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58362-mylibrary
Ключевые слова: mylibrary, fb2, epub
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (182) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:42, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Почему бы не хранить книги просто аккуратно рассортированными по папочкам? И искать с помощью find.
     
     
  • 2.2, topin89 (ok), 13:48, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скорее с помощью (rip)grep. Но всяк бывает, кому-то такой подход может быть удобнее
     
     
  • 3.148, анон (?), 13:16, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Есть locate, куда быстрее.
     
  • 2.3, Аноним (3), 13:48, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А ты был хоть раз в нормальной библиотеке? Там как минимум по 2 каталога: один по авторам, другой по рубрикам.
     
     
  • 3.7, Аноним (7), 13:54, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    про команду ln(1) слыхал?
     
     
  • 4.10, OpenEcho (?), 14:15, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    + attr(1)
     
     
  • 5.13, Аноним (13), 14:30, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    reboot не пробовал?
     
     
  • 6.70, Аноним (70), 19:00, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Имя Столлман вам о чем-нибудь говорит?
     
     
  • 7.86, pda (ok), 20:06, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собор/базар. Я прошёл не один холивар. Я желаю всем айтишникам пройти их.
     
  • 4.12, Аноним (13), 14:29, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    rm -rf ~/ тебе ни о чём не говорит?
     
  • 4.41, Аноним_t (?), 16:52, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Представь себе библиотеку либрусека, которая сосотит из сотни тысяч книг. И прикинь, сколько нужно создать директорий, и сколько раз нужно набрать твой ln(1), чтобы получился аналог библиотеки? Каким-то образом заглядывая во все fb2, извлекая оттуда информацию о авторе и жанре. Сможешь?
     
     
  • 5.48, Аноним (7), 17:14, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Думаешь на либрусеке используют "каталогизатор __домашней__ библиотеки"? Для __дома__ большинству сойдет и обычный советский coreutils (сомневаюсь, что ты читаешь "сотни тысяч книг", хорошо, если хотя бы десять за год осилишь). А для работы с многочисленными источниками уже придумали Mendeley.
     
     
  • 6.57, Аноним_t (?), 17:37, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ты, похоже, просто не понял, для чего нужна эта программа. Вот смотри: я скачал _себе домой_ архив либрусека. Там все книжки, которые есть на либрусеке. В формате fb2.zip. Скажем, сто тысяч. И мне нужен удобный локальный инструмент для поиска книжек в этой куче. Это не значит, что я все сто тысяч прочитаю, нет. Пусть десять за год (хотя и это вряд ли). Но я найду то, что мне по душе, и буду это читать. Выберу либо по автору, по жанру, по серии, по названию, либо по ещё каким-нибудь критериям. Твои ln(1) и сортировка по директориям этому никак помочь не могут.
     
     
  • 7.59, Аноним (7), 17:49, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты забыл уточнить, зачем скачивать архив либрусека и заводить на локалхосте поиск, когда уже есть... (барабанная дробь! зрители затаили дыхание)... либрусек.
     
     
  • 8.63, ProfessorNavigator (ok), 18:21, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Очень просто Вы когда-нибудь бывали там, где нет интернета Я вот до недавних п... текст свёрнут, показать
     
     
  • 9.68, Аноним (68), 18:51, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Перед тем, как уходить в оффлайн, скачиваешь всего десять книг Вот прямо садишь... текст свёрнут, показать
     
     
  • 10.75, ProfessorNavigator (ok), 19:12, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага-ага, вот только время на это есть далеко не всегда Ну и типичная ситуация -... текст свёрнут, показать
     
  • 10.143, 1 (??), 10:16, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну давай посчитаем - 10 книг, по 500 страниц в каждой За день читается 50... текст свёрнут, показать
     
  • 10.145, товарищ майор (?), 10:31, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот, например, захотел я почитать что-нибудь по философии Залез в инет, везд... текст свёрнут, показать
     
  • 9.185, scriptkiddis (?), 17:40, 26/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты это рассказываешь поколению все есть и будет доступно в интернетиках эдаким... текст свёрнут, показать
     
  • 8.72, Аноним (72), 19:03, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Затем, что сегодня либрусек есть, а завтра его может и не быть ... текст свёрнут, показать
     
     
  • 9.88, Аноним (70), 20:34, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И чо, все книги на русском прям пропадут У всех ... текст свёрнут, показать
     
     
  • 10.97, Аноним (72), 20:52, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня 8212 нет, не пропадут, потому что копия есть А вы будете по крошкам с... текст свёрнут, показать
     
     
  • 11.98, Аноним (70), 20:56, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Плюшкины никогда не вымрут Видимо торренты, фтп архивы и создавать сайты тоже з... текст свёрнут, показать
     
     
  • 12.99, Аноним (72), 21:05, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Торренты, между прочим, не в астрале хранятся А у плюшкиных ... текст свёрнут, показать
     
  • 12.131, darkshvein (ok), 00:20, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    как и любители халявы... текст свёрнут, показать
     
  • 8.76, asdasd (?), 19:14, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как только на нем появится кнопочка скачать , тогда и поговорим ... текст свёрнут, показать
     
  • 8.141, 1 (??), 09:31, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас он есть А придёт министерство любви и опана барабанная дробь зрител... текст свёрнут, показать
     
  • 8.153, YetAnotherOnanym (ok), 14:24, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Поправил Можешь не благодарить ... текст свёрнут, показать
     
  • 4.87, Аноним (70), 20:33, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно. Зачем все эти СУБД придумали. Раскидать по ФС и размазать симлинками!
     
     
  • 5.152, анон (?), 14:17, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ФС своего рода тоже СУБД.
     
  • 4.132, tty0 (?), 00:51, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вы умеете ln на файл в архиве?
     
     
  • 5.149, _kp (ok), 13:43, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нужды нет в линках на файлы в архиве, книги то сжаты и так.
    Сжатие fb2 в 2 fb2.zip, это неотъемлимая часть, как у tar.gz.

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

     
  • 2.5, Аноним (5), 13:51, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Отличный вопрос. Половина проблем у людей - то что книги прилетают в какой-то плохо читаемой и соответственно плохо ищущейся абракадабре, которую сначала нужно переименовать. Полное именование книги не всегда влезает в 128 знаков (которые в мультибайте дадут 256 байт, которые уже иногда и в ограничения ФС упираются). Причём с epub ещё норм, можно наскриптовать чтобы вся коллекция книг была переименована в соответствии с title в метаданных. С PDF/DJVU зато реальная бооооль.
    Ну и отдельно категоризация... ну и если библиотечка не умеет в OPDS, то тоже некоторым будет неудобно...
    А ещё некоторым хочется синкать прогресс чтения между устройствами и тут вдруг резко все эти библиотеки остаются ненужны
     
     
  • 3.15, Аноним (13), 14:32, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Следующий вопрос. А если люди не пираты и используют нормальные сервисы для чтения, а то и несколько за бабос. Как им может помочь эта балалайкой?
     
     
  • 4.19, Об вас пекчусь (?), 14:54, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >нормальные сервисы

    одному чуваку на зоне нравилось. Он говорил, как могут люди на свободе жить - это же думать самому надо, решения принимать. Ненормальные какие-то.

     
     
  • 5.31, Аноним (13), 16:17, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Одному нравилось жить в перекосившемся бараке с туалетом не улице лишь бы ни за что не платить. Да и денег у него из-за этого и не было. А другой живет в приличном загородном доме и платит за всё. Ты свой путь с бараком уже выбрал.  
     
     
  • 6.38, qwe (??), 16:43, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А другой живет в приличном загородном доме и платит за всё.

    То есть при прочих равных денег у него много меньше, чем у первого.

     
     
  • 7.81, Аноним (13), 19:53, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Т.е. ты даже не думаешь что для зарабатывания денег надо прикладывать усилия, даже иногда, ты не поверишь умственные! В твоём манямирке деньги с неба падают как мана небесная.

    Открою тебе тайну в бараке живет и ворует только тот кто хочет так жить.  

     
     
  • 8.102, qwe (??), 21:30, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    При прочих равных предполагает, в том числе, аналогичный уровень дохода Тебе ... текст свёрнут, показать
     
  • 8.140, thhh (?), 09:01, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1 Воровать - это когда у кого-то что-то забрал без спросу В данном случае, у и... текст свёрнут, показать
     
  • 5.89, Аноним (70), 20:37, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А ты уже полностью отказался от сферы услуг и перешёл на полное самообеспечение? Нет? Ну тогда твоя смешная притча - про тебя.
     
  • 4.27, Аноним (27), 16:09, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > А если люди не пираты и используют нормальные сервисы для чтения

    То у них всего две книги на выбор, им каталогизатор не нужен.

     
     
  • 5.28, Аноним (28), 16:13, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Какую сам прочитаешь, какую матери закачаешь?
     
  • 5.32, Аноним (13), 16:17, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если ты за жизнь накопил на две книги это не значит что все такие же бездельники как ты.
     
  • 4.40, qwe (??), 16:51, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Учитывая, что сейчас из официальных магазинов и библиотек убирают неудобные книги и книги неудобных авторов, локальные хранилища становятся еще более оправданными в отличии от "нормальных" сервисов.
     
     
  • 5.83, Аноним (13), 19:57, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Никогда не устану давать текст этой песни, потому что она прикольная

    А соседи шумят - они не могут понять, когда хочется петь.
    Соседи не любят твоих песен, они привыкли терпеть.
    Они привыкли каждый день входить в этот тёмный подъезд.
    Если есть запрещающий знак, они знают - где-то рядом объезд.

    Никогда для себя не сделают так чтобы свет был всегда и никто им ничего не запрещал, будут только терпеть. Строго говоря так им и надо.  

     
     
  • 6.146, Аноним (146), 12:17, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению, автор этих строк тоже скурвился. Не стоит прогибаться под пластмассовый мир подебил, как говорится.
     
  • 6.178, Аноним (178), 17:35, 25/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А соседи шумят - они не могут понять, когда хочется петь.

    А какие-то "одарённые" не могут понять, когда хочется отдохнуть в тишине или поспать или выучить что-то новое (в тишине, ибо концентрация) или... Да тишина значительно чаще требуется, чем желание петь возникает.

     
  • 5.91, Аноним (70), 20:39, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И тут ты такой - бац и 5 примеров таких книг, которые ты искал и не нашёл.
     
     
  • 6.105, qwe (??), 21:36, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А ты такой бац, и выкладываешь цитату где я писал, будто я что-то не нашел. Этот навык у меня неплохо прокачан, ибо востребован.
     
  • 5.161, Аноним42 (?), 20:03, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ага
    При чем все эти байки про убирание неугодных книг из электронных библиотек не имеют подтверждений
    И все они восходят к байке какого-то безумного левака о том, как Амазон удалил у него «1984»
    При этом ни у кого больше не удалили, да и он не смог подтвердить того, что у него удалили

    В реальности в библиотеки(бумажные) Москвы сегодня был спущен список авторов чьи книги необходимо не просто убрать с полок, но уничтожить

    И вот как так?
    Переживаешь ты за вымышленные электронные, а книги сжигают в реальных бумажных библиотеках

     
     
  • 6.165, qwe (??), 02:18, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну отчего же Вот, например Подразделение 171 Литреса 187 , занимающееся эл... большой текст свёрнут, показать
     
  • 4.51, ip1982 (ok), 17:16, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https://vk.com/ipmcmlxxxi?w=wall-202876924_267
     
  • 4.142, 1 (??), 09:33, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Им поможет прочтение повести Столмана "Книга"
     
  • 2.9, Аноним (9), 13:55, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Абсолютно согласен. Можно еще тегировать и искать ввода/кликая теги.
    Но если у вас не 15 папочек по 1 в глубину, удобство этих подходов близится к O(n).
     
     
  • 3.18, Аноним (13), 14:43, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Можно написать нейросеть которая сама за тебя выберет что читать. И каталог тогда не нужен.
     
     
  • 4.21, Аноним (21), 15:11, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    .. а также сама за тебя почитает, посрётся в форумах, набухается пива.. и вообще будет жить на всю катушку пока ты шабашишь в офисе
     
     
  • 5.29, Аноним (13), 16:14, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Было бы не плохо.
     
  • 2.22, asdasd (?), 15:13, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И как вы будете использовать find если книги лежат в архивах?
     
     
  • 3.35, . (?), 16:30, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Надо всю коллекцию сжать mksquashfs, при необходимости монтировать и потом find
     
  • 3.92, Аноним (70), 20:42, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего ты не понимаешь в ляпих-вей - на каждый архив по симлинку на файл с названием. Ну и отдельно директории с сортировкой по годам и авторам - тоже симлинками.
     
  • 2.24, Аноним (24), 15:29, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что теги. Предположим, у Вас есть папка "Категория А" и папка "Категория Б". Вот только книга относится к ОБОИМ категориям. Что будете делать, выбирать категорию произвольной? Или хранить две копии, каждую копию в свою папку? А что если в книгу введете какие-то изменения (например, заметку добавите с помощью Okular)?

    Проще просто присвоить книге два тега, "Категория А" и "Категория Б". И в случае надобности, искать книгу по одному из этих тегов.

     
     
  • 3.25, asaaddxasaadd (ok), 15:44, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Чел, hardlink даже в винде есть.
    Не плоди лишние сущности.
     
  • 2.43, vbcnthfkmnth123 (?), 16:53, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Такой подход хорошо работает когда у вас 1, 2, 3, 5, 10 книг. А вот когда у вас от 100 Гб книг и больше, то оно тормозит сильно. И приходится использовать такие программы с базами данных.
     
     
  • 3.94, Аноним (70), 20:43, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты зачем на детку такую страшную информацию скидываешь? У него же психика не выдержит.
     
  • 2.90, Kuromi (ok), 20:38, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот чтобы не заниматься созданием миллионом папок, а потом думать куда сунуть книгу если она удовлетворяет сразу разным критериям (сортировка по автору это самый очевидный но дажеко не самый информативный метод категоризации) и были созданы метаданные. Автор, дата, жанры, субжанры.
     
  • 2.147, Sultan (?), 13:16, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Поиск по жанру, автору, циклу серии, названию книги, году? А если метаданные корректируются?
     

     ....большая нить свёрнута, показать (67)

  • 1.4, Аноним (4), 13:49, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу

    У меня 100 тысяч источников. Сколько же времени я базу заполнять буду?

     
     
  • 2.6, Аноним (5), 13:52, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А сколько нужно тебе времени чтобы прочитать про форматы умеющие хранить метаданные?
     
     
  • 3.175, Аноним (1), 11:23, 24/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Метаданные вида Unknown Author -- Unknown Book (unknown year) ?
     
  • 2.8, Stanislavvv (?), 13:55, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если fb2 заполнялся аккуратно изначально - не очень долго. ~500к fb2 в архивах на дохлой orange pi обрабатывается порядка дня (правда, у меня своё, ибо не десктоп, а домашний типа-сервер с opds и вебмордой)
     
     
  • 3.179, PalachMB (ok), 08:55, 26/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На чем реализован OPDS?
     
     
  • 4.181, Stanislavvv (?), 13:07, 26/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > На чем реализован OPDS?

    При помощи питона и какой-то матери. Вообще, если бы нашел нормально работающую на том хранилище вебморду, которая умеет работать поверх кучки .zip, получаемых извне - писать не стал бы.
    Но большинство - либо не умеют в кучку .zip, либо тормозят так, что обработка кучки зипов идёт сильно больше суток.

     
     
  • 5.186, PalachMB (ok), 04:35, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А можно полапать? Сейчас у себя кручу срез флибусты на sopds (sopds.ru), но он банально устарел и как бы я не пинал автора, он все не может найти время на доработку проекта под свежие версии приложений. Пока сам костыли прикручиваю, но надолго ли?
    Если можно, с краткой редмишкой. Мне как раз гуя и веб-морда не нужна, лишь только возможность отдавать через opds на устройства через сеть
     
     
  • 6.187, Stanislavvv (?), 08:13, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пока ещё не выложил на гитхаб, дома забываю постоянно В принципе, доступна пред... большой текст свёрнут, показать
     
     
  • 7.188, PalachMB (ok), 12:59, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю, буду на праздниках пробовать
     
  • 7.191, PalachMB (ok), 11:19, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Старая версия с гитхаба, как оказалось:
    Не видит файлы вне архивов
    Вообще не любит кириллические имена файлов.
    И как-то странно работает. Свой архив с именем файла 12345.fb2 пихаю - на просмотр книгу открывает, на попытку скачать устраивает истерику TypeError: send_file() got an unexpected keyword argument 'attachment_filename'.
    С другой стороны из флибустовского архива вроде нормально открываются и скачиваются.
    К сожалению, не программист, докумекать что и куда не в силах. Но и на том спасибо!
    Если что-то повкуснее появится - буду признателен

     
     
  • 8.192, Stanislavvv (?), 12:07, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так и задумывал У меня диск с архивами хоть и большой, но всё ж далеко не беско... большой текст свёрнут, показать
     
     
  • 9.193, PalachMB (ok), 05:28, 29/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Начал оформлять багу, но потом перепроверил на дебиане 10 - вроде бы нормально... текст свёрнут, показать
     
     
  • 10.194, Stanislavvv (?), 23:08, 30/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дошли руки выложить ту версию, которая у меня сейчас работает https github co... текст свёрнут, показать
     
     
  • 11.195, PalachMB (ok), 16:45, 04/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот спасибо Вот подарок А я наконец-то дождался от китайцев б у хлам и мигриро... большой текст свёрнут, показать
     
  • 11.196, PalachMB (ok), 10:45, 06/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Великолепно Все как по часикам отсканировалось и заработало ... текст свёрнут, показать
     
  • 11.197, PalachMB (ok), 13:06, 26/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Приветствую Мануальчик бы по настройке и разворачиванию fb2_srv_pg Чтоб не мето... текст свёрнут, показать
     
     
  • 12.198, Stanislavvv (?), 13:42, 26/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше тикет создай Так-то из разворачивания - создал базу, дал права, вписал ... текст свёрнут, показать
     
  • 2.11, ProfessorNavigator (ok), 14:20, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > У меня 100 тысяч источников. Сколько же времени я базу заполнять буду?

    Каталог с больше, чем 300 ГБ zip архивов с fb2 файлами (больше 500 тысяч книг), у меня добавил в базу где-то часов за 5. Процессор intel i5 и жёсткий диск HDD (для понимания скорости чтения).

     
  • 2.151, _kp (ok), 14:10, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пока кофе попьёте, и заполнится база. Ну не вручную же заполнять собираетесь?  

    В каталоге с книгой файл типа назнание.conf, в файле автор, название, ключевые слова...
    И в самой книге, тоже есть подобная информация, но у conf приоритет.
    Далее скрипт просматривает обновленные файлы и вносит изменения в базу, или перестраивает дерево симлинков.


    PS:
    ~500 тысяч книг, за 5 ==> 36 mS книгу.
    или 28 добавлений в секунду. Для 1 потока слабо, а для 4х плохо.
    HDD тут не сильно влияет, в отличии от объёма ОЗУ и алгоритма.
    Впрочем.. если добавление архива в базу заведомо не частая операция, для дома то, то и мудрить с софтом не оправданно, если работает правильно, то более чем годно.

     

     ....большая нить свёрнута, показать (18)

  • 1.14, Аноним (13), 14:31, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хоть кто-то хоть что-то пишет на единственном нормальном языке. А то в последнее время одна хипстотам.
     
     
  • 2.139, iPony129412 (?), 08:47, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    так было бы нормаль но написано то

    if(p.extension().u8string() == ".fb2")
    { fb2.push_back(p);
    }
    if(p.extension().u8string() == ".epub")
    { epub.push_back(p);}
    if(p.extension().u8string() == ".zip")


    Проверяя имя файла несколько раз находим его расширение.
    Даже когда выяснили, что расширение .fb2. Проверяем ещё, а вдруг расширение ".epub"?

    А то что за такое вообще? Я заглянул в код на 30 секунд.

     
     
  • 3.160, ip1982 (ok), 19:36, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чо, ваш компилятор не умеет такое оптимизировать? Раст умеет.
     
     
  • 4.167, qwe (??), 02:47, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Чо, ваш компилятор не умеет такое оптимизировать? Раст умеет.

    Возможно авторы компилятора раста сразу ориентировались на большинство, а авторы c++ были идеалистами.

     
  • 4.171, iPony129412 (?), 09:49, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не скажу про компилятор.

    Но если бы кто-то так при мне сто раз копипастил какую-то ерунду с конкретной привязкой типа u8string.

    Охота взять и какой-то книгой по хорошему коду по башке дать.

     

  • 1.16, Аноним (16), 14:33, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    https://atsumeru.xyz/ru/
    вот нормальный каталогизатор. так еще и читать можно с любого устройства
     
     
  • 2.17, Аноним (13), 14:40, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сервер не умеет рендерить ePub и FB2. Для чтения контента в таких форматах, конечный клиент должен их поддерживать нативно

    Спасибо поорал.

     
     
  • 3.69, enot (??), 18:52, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Покажи хоть один аналог с рендером.
     
  • 3.93, Kuromi (ok), 20:43, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это сделано для того чтобы народ не начинал размещать это счастье публично в сети - сразу правообладатели набегут. А так все беспалевно, есть странная приложуха и адрес в сети. В браузер вбиваем и видим "нихрена". Правообладатели люди простые, не заморачиваются в большинстве случаев и все довольны.
     
  • 2.118, Антоннн (?), 23:24, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотрел код сервера на житхабе.
    Ллля. Оче плохо.
    Чел не используй автовайр. Делай инжект через конструктор.

    Не используй статические конструкторы в бинах. Это отвратительно. Тем более если в них дергаешь синглтоны.

    Что наркоманские GU* классы.

    Дальше смотреть стало лень.

    Мешанина какая-то

     
  • 2.158, iiiypuk (?), 18:35, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Есть гораздо интнреснее рроект и без джавы
    https://github.com/getmango/Mango
     
     
  • 3.169, Антоннн (?), 08:20, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Проорунькал.
    Кристал.
    Это потом руби чтоли?
    Такой же тормозной?
    Тут даже пхп пожалуй быстрее будет
     
     
  • 4.172, Аноним (172), 21:30, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    прошу, компилируемый руби! сделан из того же теста, что и, прости Господи, раст!
     

  • 1.20, НяшМяш (ok), 14:56, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А можно парочку скриншотов в репозиторий положить? А то вообще не понятно как оно выглядит и захочется ли им пользоваться вообще.
     
     
  • 2.23, ProfessorNavigator (ok), 15:22, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А можно парочку скриншотов в репозиторий положить? А то вообще не понятно как оно выглядит и захочется ли им пользоваться вообще.

    https://cloud.mail.ru/public/DBDr/6NYjwveCD

     
     
  • 3.30, Аноним (13), 16:15, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Спасибо поблевал.
     
     
  • 4.42, ProfessorNavigator (ok), 16:52, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Обращайтесь ещё, мы всегда вам рады))
     
  • 4.162, Kuromi (ok), 20:16, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да ладно вам, примерно такое я и ожидал увидеть. Классический минималистично-утилитарный дизайн от погромиста.
     
  • 3.119, Аноним (119), 23:33, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Есть в планах изучить

    - https://developer.gnome.org/hig/guidelines.html
    - https://developer.gnome.org/hig/patterns/containers.html

    ?

     
     
  • 4.121, ProfessorNavigator (ok), 23:35, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Есть в планах изучить

    Зачем?


     
  • 4.138, Аноним (138), 08:44, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы потом забыть и применить нормальный интерфейс для нормальных людей KDE Human Interface Guidelines

    https://develop.kde.org/hig/

     
  • 3.168, prokoudine (ok), 03:14, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разработано по госзаказу для Минобороны? :)

    Ну можно же набрать рефы, как это делают другие разработчики.

     

  • 1.26, asaaddxasaadd (ok), 15:47, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Лишнее.
    Функционал хуже чем в calibre, при этом для винды предлагают ставить через msys.
    "You can build MyLibrary from source by MSYS2 project https://www.msys2.org/. "
     
     
  • 2.46, ProfessorNavigator (ok), 17:09, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Для винды есть ещё например MyHomeLibrary Через msys - потому что так удобней, ... большой текст свёрнут, показать
     
     
  • 3.74, Anonim (??), 19:09, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вы создатель этой проги?
    А чем обусловлен выбор gtk, а не QT? Не срача ради, просто интересно
     
     
  • 4.80, ProfessorNavigator (ok), 19:33, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Рациональных аргументов против Qt у меня нет И даже больше вам скажу - предыдущ... большой текст свёрнут, показать
     

  • 1.33, Аноним (28), 16:22, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >https://gitflic.ru/static/image/error/404.svg

    Они там прям петросяны.

     
  • 1.34, Аноним (28), 16:29, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Для epub и fb2 уже есть Calibre. Зачем ещё один?
     
     
  • 2.50, ProfessorNavigator (ok), 17:16, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Для epub и fb2 уже есть Calibre. Зачем ещё один?

    https://www.opennet.dev/openforum/vsluhforumID3/129315.html#46

     
  • 2.180, PalachMB (ok), 09:12, 26/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Calibre уже научился без gui opds-каталог из среза флибусты делать?
     

  • 1.36, Самый умный из вас (?), 16:30, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Коммунист изменил родине с капиталистами
     
     
  • 2.56, ProfessorNavigator (ok), 17:33, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Коммунист изменил родине с капиталистами

    Без паники, никто никому не изменял)) Коммунист в работе, в следующей версии планируется поддержка групповых чатов. Правда, когда будет - не знаю. Пока - просвещайтесь, MyLibrary в этом поможет. Знание - сила.

     

  • 1.37, Аноним (37), 16:33, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Оверпрайс. GTK4 в зависимостях заставляет использовать мощный комп. Лучшее решение - WEB-сайт LAMP. Использую Pentium 3 c 128 МБ оперативки как каталог, более 3000 позиций, полет нормальный.
     
     
  • 2.95, Аноним (70), 20:47, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Оверкилл. LAMP требует наличия ОС. Использую ламповую машину с механическими переключателями как каталог.
     
     
  • 3.170, 1 (??), 09:11, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Оверкилл. Ламповая машина требует электричества. Использую классическую библиотеку с бумажными карточками.
     

  • 1.39, какая разница (?), 16:43, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Для музыки или фильмов похожего не изобрели?
     
     
  • 2.45, Аноним (45), 17:04, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лучше структуры каталогов (по темам или как удобно) ничего нет.
     
     
  • 3.96, Аноним (70), 20:51, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ламерский подход. Юзеру вообще необязательно знать, что такое каталог или файл.
     
  • 3.112, Аноним (72), 22:24, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Иерархическая файловая система из папок и файлов — примитивнейший способ организации данных. Лучше неё много чего есть.
    Ведь всякие симлинки, файловые потоки и прочее не от хорошей жизни появились, это натуральные костыли, напрочь ломающие логику древовидной структуры.
     
  • 3.164, Аноним (178), 00:01, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ложь Очень плохо так делать Один фильм может подпадать под множество разных кр... большой текст свёрнут, показать
     
  • 2.47, Аноним (47), 17:12, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуй KDE.
     
  • 2.177, MegaDiablo (ok), 21:20, 24/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуй Plex или Jellyfin
     

  • 1.44, Аноним (44), 17:03, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А чем оно лучше Calibre?
     
     
  • 2.53, ProfessorNavigator (ok), 17:19, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем оно лучше Calibre?

    https://www.opennet.dev/openforum/vsluhforumID3/129315.html#46

     

  • 1.52, Аноним (52), 17:18, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если человек не пользуется сортировкой по папкам, то ему никакой софт не поможет.
     
  • 1.54, Аноним (52), 17:20, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уровень английского в описании на гитхабе - 3-
     
     
  • 2.61, ProfessorNavigator (ok), 18:04, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Уровень английского в описании на гитхабе - 3-

    Моя твоя не понимай. Если это единственный недостаток - то значит всё нормально.

     
     
  • 3.64, qwe (??), 18:34, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кто-то может судить о вашем коде по вашей документации. Даже гуглопереводчик справился лучше, только что проверил на первом предложении.
     
  • 3.67, Аноним (47), 18:43, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рекомендую попробовать запихнуть текст на русском в deepl, он совсем не идеален, но хотя бы такого ужаса не будет. Просто большинство адекватных людей уже на этом этапе закроют страницу проекта и не станут с ним связываться. Для начала правда придётся подучить русский, иначе переводчик будет гнать такую же чепуху, как и в оригинале.
     

  • 1.58, Аноним (47), 17:37, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем проверять хэши? Ты понимаешь вообще сколько времени надо на проверку хешей даже на моей скромной 10 тб коллекции литературы. А что делать тем, у кого литературы за сотни и тысячи терабайт? Вот и получается, что сабж ничего не решает.
     
     
  • 2.60, ProfessorNavigator (ok), 18:01, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем проверять хэши?

    Чтобы вы могли руками удалить или добавить что-то в папку коллекции, а потом нажать спокойно "Обновить коллекцию" и получить актуальную базу данных. Ну и если вы подскажете мне более надёжный способ контроля изменений содержимого файлов (не названий и расширений, а именно содержимого) - буду рад. Насчёт 10 терабайт - а вы уверены, что там есть хотя бы 1% литературы? Интуиция мне подсказывает, что вряд ли. В лучшем случае - потоки сознания и более менее связные наборы букв по большей части.

     
     
  • 3.66, Аноним (47), 18:35, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но это лишено смысла Файл не может внезапно оказаться другим файлом в том же ме... большой текст свёрнут, показать
     
     
  • 4.71, ProfessorNavigator (ok), 19:01, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё как может Я вот ни разу не IT-шник вообще, но такие чудеса видел Особенн... большой текст свёрнут, показать
     
  • 3.133, Аноним (133), 02:47, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Почему вы использутете GCRY_MD_SHA256, если можно взять GCRY_MD_BLAKE2S_256 или GCRY_MD_BLAKE2B_512? BLAKE2 заметно пошустрее.
    Да, версию libgcrypt придётся ограничить как >= 1.8.0, но, например, в Ubuntu 18.04 уже была 1.8.1.

    До кучи, возможно, покажется полезным: помимо .fb2 есть ещё .fbd, по сути это .fb2, в котором есть только тег <description> - т.е. все данные о книге и обложка. Можно использовать для каталогизации бинарных форматов (pdf, там, djvu), положив рядом одноимённый .fdb (вроде обычно эту пару кладут в zip-архив).

     
     
  • 4.155, ProfessorNavigator (ok), 16:23, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > BLAKE2 заметно пошустрее.

    Возможно. Но на практике сколько-нибудь существенного выигрыша в скорости не заметил. Видимо потому что основной лимитирующий фактор в данном случае - скорость чтения с диска.

    > До кучи, возможно, покажется полезным: помимо .fb2 есть ещё .fbd, по сути
    > это .fb2, в котором есть только тег <description> - т.е. все
    > данные о книге и обложка. Можно использовать для каталогизации бинарных форматов
    > (pdf, там, djvu), положив рядом одноимённый .fdb (вроде обычно эту пару
    > кладут в zip-архив).

    Спасибо за наводку, посмотрю.

     
  • 2.159, edo (ok), 19:25, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Коллекции книг на десятки терабайт знаю, хотя бы libgen. А у кого тысячи терабайт книг?
     

  • 1.62, Аноним (62), 18:08, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Каталагизатор - одно из возможных решений для облегчения поиска нужной информации - респект авторам.

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

    Какие есть еще возможности? Хотя их не так много, но они есть: индексация, грануляция, ИИ, recent-списки, журналирование, "квантование", что-то полезное еще.

     
  • 1.65, Skullnet (ok), 18:34, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Графический интерфейс пользователя реализован с помощью библиотеки GTK4.

    Сразу на помойку.

     
  • 1.100, algri14 (?), 21:08, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всем кто "против" — идите мимо, сделайте своё или сделайте лучше, к тому же вы даже не критикуете, вы обсираете.
    Есть замечание, а почему нет пояснения на русском языке, ну ладно github иностранная площадка, хотя и там пишут по русски, но ведь gitflic.ru , почему только ни инглише, АВТОР где русский текст???
     
     
  • 2.106, ProfessorNavigator (ok), 21:37, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Программа для международного использования, а язык международного общения у нас пока английский. Хотя на самом деле просто не люблю README писать)) Замечание принимается - сделаю README и на русском.
     
  • 2.107, . (?), 21:38, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Может он уже уехал?
     
     
  • 3.110, ProfessorNavigator (ok), 21:50, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Может он уже уехал?

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

     
     
  • 4.154, . (?), 14:24, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >  И война скоро будет не только здесь

    А где она здесь? Я и так знаю что в гейропах экономика рухнула, люди мерзнут и жрут еду у животных. А у меня хоть и 12 тыс зарплата, зато стабильно.

     
     
  • 5.163, твой отдел кадров (?), 22:09, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зайдите к нам завтра, тут в одной бумажке не хватает вашей подписи. Ничего важного, только, пожалуйста, не откладывайте!


     
     
  • 6.166, Аноним (166), 02:23, 22/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Повестки раздаёт военно-учётный стол, а не отдел кадров.
     

  • 1.101, Аноним (101), 21:09, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Программе не хватает многопоточности.
    Во время построения каталога задействовано только одно ядро процессора.
     
     
  • 2.104, Аноним (13), 21:33, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Квалификации программисту не хватает.
     
     
  • 3.136, Аноним (4), 08:25, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Для курсового проекта нормально.
     
  • 2.108, ProfessorNavigator (ok), 21:42, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Во время построения каталога задействовано только одно ядро процессора

    Это сделано специально. Изначально планировалось "раскручивать на все ядра", однако при работе с большими коллекциями процесс так или иначе будет занимать достаточно длительное время. Если задействовать все ядра, то это затруднит использование компьютера в процессе индексации. А так вы можете запустить процесс, что называется, в фоне и заниматься чем-либо ещё.

     
     
  • 3.111, Аноним (72), 21:58, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А приоритеты для чего придумали? Я вот кодирую видео в фоне и тормозов не замечаю.
     
     
  • 4.113, Аноним (47), 22:41, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я компилирую хромиум в фоне и тормозов не замечаю. И чтобы посмотреть ютуб в браузере мне надо 2 полные ядра загрузить, так что было бы заметно. Другое дело, что из-за IO будут лаги, но тут достаточно и 1 треда, чтобы выжрать всё. Только когда это рандомный доступ производительность на жёстких дисках падает раз в десятки раз, поэтому толку от многопоточности?
     
  • 4.114, ProfessorNavigator (ok), 22:51, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А приоритеты для чего придумали? Я вот кодирую видео в фоне и
    > тормозов не замечаю.

    Ну и какой в этом смысл? Возится с ОС специфическим API, отстраивать приоритеты потоков, чтобы получить в итоге то же самое. Т.е. замедление работы процесса, чтобы вы могли в это время заниматься своими делами. И всё это на каталогизаторе домашней библиотеки, который по сути своей выполняет довольно тривиальные задачи. Вам не кажется это слегка излишним? Может проще отдать программе один процессор? При этом система будет сама решать, какой именно, перебрасывая задачи с одного на другой. Ну и про чтение жёсткого диска вы не забыли? Если у вас например HDD, что будет с ним если, скажем, 8 потоков примутся одновременно читать с него нехилые объёмы данных? И как это скажется на остальных процессах, запущенных в системе?

     
     
  • 5.116, Аноним (47), 23:18, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На ссд можно получить кратное ускорение. "Специфические апи" на линуксе сводятся к запуску под nice/ionice и это проблема пользователя, у него есть для этого баш. На венде тоже что-то подобное. Аргументация в пользу отказа от многопоточности довольно странная.
     
     
  • 6.120, ProfessorNavigator (ok), 23:34, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > На ссд можно получить кратное ускорение.

    Замечательно. А сколько пользователей имеют SSD? Я имею доступ к 4 разным машинам (они не мои, а именно имею доступ). SSD стоит только на двух из них и при этом отданы только под размещение ОС, больше на них ничего нет. Информация хранится только HDD. Более того те, кто много читают книги далеко не всегда имеют новейшее железо, ибо оно им особо без надобности. Ну и вопрос не снимается - для чего насиловать машину и усложнять программу? Чтобы вы перестали ныть про многопоточность?

     
     
  • 7.124, Аноним (47), 23:46, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если говорить серьёзно, то ssd уже лет 10 обязательное условие для использования виндоус и макос и очень облегчает жизнь с линуксом. Примерно 100% пользователей, можно брать такую оценку. Кроме того, можно параллелить доступ к нескольким hdd. И чем старее/слабее железо, тем более целесообразно приобретение ssd.
     
     
  • 8.125, ProfessorNavigator (ok), 23:52, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы это не мне рассказывайте, а людям Которым на еду далеко не всегда хватает, ... текст свёрнут, показать
     
     
  • 9.127, Аноним (47), 00:06, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ссд стоит куда меньше самого дешёвого двухядерного процессора и будет самым поле... текст свёрнут, показать
     
     
  • 10.183, Stanislavvv (?), 15:28, 26/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Двухядерный процессор - это CoreDuo может быть, в ноуте, выпущенном в 2008-году ... текст свёрнут, показать
     
  • 7.129, Ананимаз (?), 00:13, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну дык можно дать пользователю выбор. По-умолчанию 1 ядро, но нужна возможность использовать все.
     
     
  • 8.130, ProfessorNavigator (ok), 00:17, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот это уже другой разговор Посмотрим, скорее всего сделаю ... текст свёрнут, показать
     
  • 5.117, Аноним (72), 23:22, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Возится с ОС специфическим API, отстраивать приоритеты потоков, чтобы получить в итоге то же самое. Т.е. замедление работы процесса, чтобы вы могли в это время заниматься своими делами.

    Допустим, у меня восьмиядерный процессор. При раскидывании задачи на восемь ядер получаем (в идеале, конечно), восьмикратное ускорение. Допустим, повседневное использование ПК (браузер там, вот это всё) есть условные 10% процессорного времени. Да, совершенно то же самое.
    Но с подходом «не хочу возиться», конечно, не поспоришь.

     
  • 5.122, Аноним (122), 23:42, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Возится с ОС специфическим API

    std::thread - ОС-специфическое API, спешите видеть.

     
     
  • 6.123, ProfessorNavigator (ok), 23:43, 20/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > std::thread - ОС-специфическое API, спешите видеть.

    Вы бы хоть на код взглянули, прежде чем глупости писать.

     
  • 5.126, Meta (?), 00:01, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Помню у нас в Atsumeru прикрутили многопоток и вместо 5 часов вся коллекция сканилась за 40 минут.
    Данных в тот момент было на 700 гб и мы в принципе не мечтали что быстрее будет полностью забита db всей инфой, но всегда можно оптимизировать. Сейчас для Atsu является слабым местом именно db.
    В общем я фраппирован со всех ваших умозаключений
     
     
  • 6.128, ProfessorNavigator (ok), 00:10, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > В общем я фраппирован со всех ваших умозаключений

    Рад за вас))

     
  • 3.174, kit (??), 05:22, 24/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Изначально планировалось "раскручивать на все ядра"

    тогда уж все ядра минус одно, и приоритет процессам пониже

     
     
  • 4.176, ProfessorNavigator (ok), 12:34, 24/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > тогда уж все ядра минус одно, и приоритет процессам пониже

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

     
     
  • 5.182, kit (??), 15:23, 26/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Можно же банальную обёртку сделать: если в системе можно понизить приоритет -- понижаем, если нет пускаем так как есть.
     
     
  • 6.184, ProfessorNavigator (ok), 15:59, 26/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно же банальную обёртку сделать: если в системе можно понизить приоритет --
    > понижаем, если нет пускаем так как есть.

    Незачем, реально незачем. Я уже оттестировал на одном и том же железе с процессором на 4 физических ядра и 8 потоков. И с 1 потоком оттестировал, и с 8. На коллекции в 350 Гб. Какой-то принципиальной разницы в скорости нет. Может быть 5-7%% (по оптимистичным оценкам) - с секундомером не замерял. Потому что всё упирается в скорость чтения с жёсткого диска. Который один. И поток данных с него тоже один, 8 их не станет, хоть вы тресните. Скорость обработки данных (а значит и количество потоков) тут особой роли не играет: загрузка каждого из ядер во время теста не превышала 7-10%% в пике. Если у вас например RAID массив, то тогда, подозреваю, результат будет другой. Но тут не спец - я не сисадмин и с массивами носителей никогда дела не имел.

     
     
  • 7.189, kit (??), 17:22, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну во первых есть ssd со скоростью чтения до 7 гигабайт в сек, и с мультипоточностью чтения там всё ок.
    А во вторых тут же речь не только про то чтобы быстрее, а ещё и про то чтобы отзывчивость системы при процессе сканирования не проседала.

    Впрочем если желания заниматься нет то забей, в конце концов ты никому ничего не должен ;)

     
     
  • 8.190, ProfessorNavigator (ok), 02:23, 28/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы у меня ещё был под рукой нормальный SSD, чтобы тесты погонять Впрочем... текст свёрнут, показать
     

  • 1.109, Аноним (109), 21:50, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    MyHomeLib версия 2.2.0.822 отлично работает.
     
  • 1.115, Kirikekeks (ok), 23:04, 20/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помню все эти программы неожиданно пропали, и коллекция стала чемоданом без ручки. Грепать не получилось из за winCP-1251. Перекодировка utf-8 заняла 5 суток, это вообще рекорд непрерывного процесса у меня. Так что замечательно, что выбор есть.
     
     
  • 2.157, Аноним (157), 18:02, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    что значит "пропали"?
    Вот я поглядел на свой архив - лежат спокойненько, куча версий, в Грузию не собираются..
     

  • 1.144, Аноним (101), 10:21, 21/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Годная программа, спасибо.
     
  • 1.150, Аноним (150), 14:01, 21/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Графический интерфейс пользователя реализован с помощью библиотеки GTK4

    Не поторопились ли с переходом на четвёртую версию? Завезли ли туда биндинги GTK# для написания прог на дотнете?

     
     
  • 2.156, ProfessorNavigator (ok), 16:34, 21/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > GTK# для написания прог на дотнете?

    А оно нужно? Что-то меня по этому поводу терзают смутные сомнения.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру