The OpenNET Project / Index page

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



"Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от opennews (??), 06-Май-26, 08:19 
Состоялся релиз каталогизатора домашней библиотеки MyLibrary 5.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки Qt6. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен сценарий сборки готового пакета. Для пользователей Windows доступен экспериментальный инсталлятор...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=65371

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +17 +/
Сообщение от Аноним (1), 06-Май-26, 08:19 
Интерфейс конечно всратый. Сейчас, в эпоху ИИ, можно попросить нейронку, она нарисует нормальный интерфейс. А такой, только для любителей 90-х.
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +8 +/
Сообщение от Sm0ke85 (ok), 06-Май-26, 08:22 
>Интерфейс конечно всратый. Сейчас, в эпоху ИИ, можно попросить нейронку, она нарисует нормальный интерфейс. А такой, только для любителей 90-х.

Ты путаешь, это ж стиль Современный, просто с цветовой палитрой поиграли, погляди на ПО из 90х - там даже в консольных ТУИ-приложениях все ок (в т.ч. с тенями)...

Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +12 +/
Сообщение от Bob (??), 06-Май-26, 09:22 
Тогда получше был)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

24. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –4 +/
Сообщение от iPony128052 (?), 06-Май-26, 09:54 
Да, та же самая мысль.
Скормить мощной нейронке с запросом "перепиши нормально".
Хуже уж точно не будет (особо уже некуда).
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

25. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –2 +/
Сообщение от Жироватт (ok), 06-Май-26, 09:56 
Аккуратнее, аффтырь как возьмет свою библиотеку разбора ХМЛ, да как придет к тебе домой, да как пересадит тебя на мессенджер "Коммунизм"...
Он знает, где ты живёшь - и твой дом скоро станет таким же!
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

30. "-"  –1 +/
Сообщение от Аноним (30), 06-Май-26, 10:31 
Какое хорошее название у мессенджера! Надо брать!
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (27), 06-Май-26, 10:05 
Вы здесь новенький?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

127. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от Аноним (127), 06-Май-26, 20:04 
А что, линукс-софт сейчас весь такой?
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (30), 06-Май-26, 10:34 
Хорошо, что молодым теперь есть, у кого попросить.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

38. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (38), 06-Май-26, 11:18 
"Если правый глаз твой соблазняет тебя, вырви его и брось от себя" (Матв. 5:29)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

40. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 11:56 
"Быть, а не казаться". Нейронка вполне может рисовать что угодно, меня же интересует то, что люди могут создать своими руками, что они хотят этим сказать. Что я сам могу нарисовать и создать. Это в целом.

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

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

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

92. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +4 +/
Сообщение от Аноним (92), 06-Май-26, 15:54 
> К написанию же кода не буду их привлекать никогда
> Потому что хорошо понимаю техническую сторону вопроса, и насмотрелся той дичи, которую они выдают

А зря не привлекаете. Хотя бы для ревью. Они бы вам, например, предложил вот этого дичайший и кривой индусокод заменить буквально одной шаблонной функцией на std::endian и std::bit_cast:

https://github.com/ProfessorNavigator/libudb/blob/main/src/B...

И сказал бы, что еще с C++ в <algorithm> существуют распараллеленные версии вместо вот этих ваших велосапедов с UB и состояними гонок:

https://github.com/ProfessorNavigator/libudb/blob/main/inclu...

И что у std::vector банально есть оператор ==, и поэтому для их сравнения совсем не нужно писать индусокод с циклами:

https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

И на банальную копипасту тоже бы указал:

https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

И на логические ошибки:

https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

И на молчаливый рекурсивный снос всей директории через filesystem::remove_all() перед записью файла:

https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

И тьму других косяков.

И это только беглый просмотр вашего libudb. Что творится в основном проекте - и представить страшно.

> Потому что хорошо понимаю техническую сторону вопроса

По вашему коду очевидно, что нет, не понимаете. А по комментариям - что понимать и не хотите.

И ладно бы ИИ, но ведь вы даже банальные статические анализаторы не удосужились натравить. Из-за непоколебимой веры в свое "хорошее понимание технической стороны вопроса" вы даже не допускаете, что весь ваш код обмазан undefined behavior, копипастой, состояниями гонки и другими багами - хотя это все видно невооруженным глазом.

Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –2 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 17:51 
> А зря не привлекаете. Хотя бы для ревью. Они бы вам, например,
> предложил вот этого дичайший и кривой индусокод заменить буквально одной шаблонной
> функцией на std::endian и std::bit_cast:
> https://github.com/ProfessorNavigator/libudb/blob/main/src/B...

И это уже ошибка. Потому что для начала нужно бы заглянуть в CMake файл и посмотреть, какой там стандарт С++ указан.

> И сказал бы, что еще с C++ в <algorithm> существуют распараллеленные версии
> вместо вот этих ваших велосапедов с UB и состояними гонок:
> https://github.com/ProfessorNavigator/libudb/blob/main/inclu...

Да что вы говорите, правда-а? А я и не знал... Только вот внезапно в прошлых версиях всё это было (в BaseKeeper, и к <algorithm> там должен ещё <execution> прилагаться, сюрприз, не правда ли?). А потом исчезло. Тоже внезапно. Или нет.

> И что у std::vector банально есть оператор ==, и поэтому для их
> сравнения совсем не нужно писать индусокод с циклами:
> https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

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

> И на банальную копипасту тоже бы указал:
> https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

Единственное ценное замечание

> И на логические ошибки:
> https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

Там никакой ошибки нет. Т.е. это уже чушь пошла.

> И на молчаливый рекурсивный снос всей директории через filesystem::remove_all() перед
> записью файла:
> https://github.com/ProfessorNavigator/libudb/blob/e70df212cb...

Тоже чушь.

> И тьму других косяков.
> И это только беглый просмотр вашего libudb. Что творится в основном проекте
> - и представить страшно.

Не представляйте - вам всё равно не поможет))

> По вашему коду очевидно, что нет, не понимаете. А по комментариям -
> что понимать и не хотите.

Да-да, действительно.

> И ладно бы ИИ, но ведь вы даже банальные статические анализаторы не
> удосужились натравить.

Уверены?))

> Из-за непоколебимой веры в свое "хорошее понимание технической
> стороны вопроса" вы даже не допускаете, что весь ваш код обмазан
> undefined behavior, копипастой, состояниями гонки и другими багами - хотя это
> все видно невооруженным глазом.

О-да)))


Ответить | Правка | Наверх | Cообщить модератору

175. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Это любовь (?), 07-Май-26, 07:35 
Профессор, признавайтесь, вы чем так Анонима обидели, что он за вами как брошенная невеста, весь в слезах, бегает?
Ответить | Правка | Наверх | Cообщить модератору

187. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от ProfessorNavigator (ok), 07-Май-26, 12:57 
> Профессор, признавайтесь, вы чем так Анонима обидели, что он за вами как
> брошенная невеста, весь в слезах, бегает?

Да кто ж его знает. Меня тут много, кто любит. Ржавые - за то что мы их за ушко и на солнышко. После чего вдруг внезапно выясняется, что среди тутошних Ржавых комментаторов ни одного программиста то и нет. Даже на том же Ржавом, не говоря уж про С/С++, который они любят грязью поливать. Т.е. наблюдается наплыв проплаченных кем-то (не будем тыкать в Google пальцем) комментаторов.

Другие любят за это: https://samlib.ru/editors/b/bobylew_j_w/communism_economics.....


Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +4 +/
Сообщение от Аноним (92), 06-Май-26, 14:19 
> можно попросить нейронку, она нарисует нормальный интерфейс

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

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

93. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (93), 06-Май-26, 15:57 
> Сейчас, в эпоху ИИ, можно попросить нейронку, она нарисует нормальный интерфейс.

сделай доброе дело, попроси!

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Sm0ke85 (ok), 06-Май-26, 08:19 
А будет работать со скачанной "библиотекой флибусты" на 220ГБ из зеленого магазинчика?

Просто сейчас там под линь скриптом можно доставать книги (это конечно не напрягает, но хочется больше функционала)

Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (8), 06-Май-26, 08:40 
Зачем платить? Если можно заплатить только за интернет, а всё остальное с зелёного магазина.
Пока другие "грамотные потребители" платят подписки и лишаются доступа, другие направляют эти деньги на домашний сервер, где есть библиотека контента, в высоком качестве, с несколькими языковыми дорожками, нативно без лишних приложений, без DRM, без надуманных блокировок и без VPN, запланированного устаревания, оффлайн...
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от Bob (??), 06-Май-26, 09:04 
Слишком много барыг правообладателей задрали цены, отдавая авторам - копейки. Такое поддерживать не стоит. А на вой "правильных" - можно забить.

Налоги с покупок идут на чебурнетизацию - так вообще смысл какой чёт покупать? Залочат же. Инет)

На счёт сервера... Хз... А нужно ли каждому именно его деожать? Внешний hdd с роутером на open-wrt достаточно.

Устаревание - будет. Потребительский ширпотреб и лень - делают своё дело)

Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Джон Титор (ok), 06-Май-26, 12:15 
Нынче, к сожалению, не всё можно купить
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

62. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (62), 06-Май-26, 14:06 
Многого не найти, а какие-то хочется настоящие бумажные, например:
«Узкий коридор» 2019.
«Почему одни страны богатые, а другие бедные» 2012.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

22. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от anonymously (?), 06-Май-26, 09:37 
пример скрипта в студию?
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

111. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Sm0ke85 (ok), 06-Май-26, 17:08 
>пример скрипта в студию?

https://codeberg.org/aku4wb/flbs

Ответить | Правка | Наверх | Cообщить модератору

43. Скрыто модератором  +/
Сообщение от Джон Титор (ok), 06-Май-26, 12:14 
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

88. Скрыто модератором  +/
Сообщение от Sm0ke85 (ok), 06-Май-26, 15:47 
Ответить | Правка | Наверх | Cообщить модератору

159. Скрыто модератором  +/
Сообщение от Джон Титор (ok), 07-Май-26, 00:19 
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:14 
> из зеленого магазинчика

Не уверен, что правильно понял эзопов язык. Но всё же рискну ответить - тестировалось это всё в том числе на одной... библиотеке на 500 с лишним гигабайт. Можно использовать идущий в комплекте inpx файл (загрузка базы примерно секунд 10 - 15), можно - создать нативную коллекцию. Оба варианта имеют свои нюансы. Inpx - некоторые ограничения по функционалу (основное всё работает - открытие книг, их копирование в произвольную папку), но при этом быстро, и записи в базе оформлены более аккуратно. Нативные коллекции - долго (зависит от конкретного железа, если книги на HDD, то часов 5-6 на индексирование всей коллекции на 8 потоках), записи в базе - берутся напрямую из файлов книг (а там они оформлены порой так, что мата не хватает, и проблемы с кодировками иногда), но при этом книг будет больше (в последних версиях сделано так, что программа будет "доставать" даже совсем сбойные), плюсом доступны все опции, вроде например возможности экспорта/импорта базы данных коллекции или её ручной редактуры.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

81. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Sm0ke85 (ok), 06-Май-26, 15:28 
>[оверквотинг удален]
> функционалу (основное всё работает - открытие книг, их копирование в произвольную
> папку), но при этом быстро, и записи в базе оформлены более
> аккуратно. Нативные коллекции - долго (зависит от конкретного железа, если книги
> на HDD, то часов 5-6 на индексирование всей коллекции на 8
> потоках), записи в базе - берутся напрямую из файлов книг (а
> там они оформлены порой так, что мата не хватает, и проблемы
> с кодировками иногда), но при этом книг будет больше (в последних
> версиях сделано так, что программа будет "доставать" даже совсем сбойные), плюсом
> доступны все опции, вроде например возможности экспорта/импорта базы данных коллекции
> или её ручной редактуры.

Спасибо.

Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от zraz (?), 06-Май-26, 13:28 
Будет, она в некоторых раздачах идет в комплекте. Но удобнее что-нибудь вроде inpx-web использовать (если раздача только с fb2).
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

83. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Sm0ke85 (ok), 06-Май-26, 15:29 
> Будет, она в некоторых раздачах идет в комплекте. Но удобнее что-нибудь вроде
> inpx-web использовать (если раздача только с fb2).

Попробую, спасибо

Ответить | Правка | Наверх | Cообщить модератору

121. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (121), 06-Май-26, 18:15 
> (если раздача только с fb2).

а что не так c раздачами, в которых включены usr архивы? Все также хорошо работает.

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

63. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от derfenix (ok), 06-Май-26, 14:09 
Я просто opds сервер на гошке написал, который с этим архивом работает, использует приложенный inpx файл в качестве каталогизатора, напрямую из архивов отдаёт книжки по запросу. Просто захожу с читалки, скачиваю книги какие надо и читаю в чём удобно и где удобно. Гуй отдельный для этого не нужен совершенно.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

210. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Словарь (?), 10-Май-26, 22:18 
    ФУНКЦИОНАЛ - математическое понятие, возникшее в вариационном исчислении для обозначения переменной величины, заданной на множестве функций, т. е. зависящей от выбора одной или нескольких функций. Напр., длина дуги кривой, соединяющей две фиксированные точки, будет функционалом, т. к. величина длины дуги зависит от выбора функции, график которой соединяет эти точки.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

3. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +15 +/
Сообщение от Аноним (3), 06-Май-26, 08:22 
Всегда захожу на скрины глянуть. Интерфейс менять не нужно. Это уже фишка.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (5), 06-Май-26, 08:25 
>Графический интерфейс переведён на использование Qt6
>требуется поддержка компилятором стандарта C++20

Пример реального развития софта, а не обновление ради обновления.

Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –3 +/
Сообщение от Bob (??), 06-Май-26, 09:19 
И зачем оно надо? Это же читалка)

stdu viewer на винде, alreader на дроиде - вершина, которую не покорили до сих пор)
А софтины 10+ летних версий и работают отлично.

Можно с эпохи j2me и xp чёт вспомнить - аналогично)

А вот гонка за новым компилятором и фреймворком мне непонятна, смысл то в чём?

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

Ответить | Правка | Наверх | Cообщить модератору

35. "-"  +/
Сообщение от Аноним (30), 06-Май-26, 10:46 
На Винде всё допотопное и окаменевшее не от хорошей жизни - сырцов нет.
А в Линуксе вполне разумно обновиться на С++20, ккоторый теперь у свежего GCC по умолчанию, чтобы меньше кода писать, и на Qt6, чтобы не держать десять почти одинаковых рантаймов в системе (и в памяти).
Ответить | Правка | Наверх | Cообщить модератору

47. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:30 
> А вот гонка за новым компилятором и фреймворком мне непонятна, смысл то в чём?

В данном конкретном случае никакой гонки нет. До этого интерфейс был на GTK4 (gtkmm), если же переводить его на Qt - что было проделано - то логично, по-моему, брать актуальную версию фреймворка.

Со стандартом история немного другая. В С++20 были введены функциональные возможности, которые нужны для работы программы. До этого всё это нужно было реализовывать руками, теперь же - просто вызов функции из стандартной библиотеки ЯП. Иными словами - меньше возни с кодом. При этом актуальные для большинства дистрибутивов версии компиляторов более-менее нормально поддерживают новый стандарт (ему так-то уже 6 лет). Поэтом было принято решение о переходе.

Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

208. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (208), 09-Май-26, 12:58 
Вот скажите мне пожалуйста, какие-такие функциональные возможности были введены в С++20, которые реально требуются для программы с описанным выше функционалом?
Ответить | Правка | Наверх | Cообщить модератору

209. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 09-Май-26, 19:27 
> Вот скажите мне пожалуйста, какие-такие функциональные возможности были введены в С++20,
> которые реально требуются для программы с описанным выше функционалом?

std::osyncstream например. std::endian (пока не используется, но будет в будущем). В chrono кое-что добавили.

Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +3 +/
Сообщение от Аноним (8), 06-Май-26, 08:33 
MyLibrary + весь архив Флибуста = ❤️
Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +2 +/
Сообщение от 16yo expert (?), 06-Май-26, 08:39 
Глядя на этот кошмар на картинках хочется спросить - разве сегодня 1 апреля?
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (30), 06-Май-26, 10:37 
Глядя на парад комических артистов в комментариях, аналогичный вопрос!
Ответить | Правка | Наверх | Cообщить модератору

164. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (164), 07-Май-26, 03:31 
Чувство юмора незаменимо каждый день.

Тем более, что здесь есть вполне видимый повод.

Ответить | Правка | Наверх | Cообщить модератору

172. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +2 +/
Сообщение от Аноним (172), 07-Май-26, 07:10 
О, у меня также от релизов и скринов гнома вопрос каждый раз
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

9. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +2 +/
Сообщение от anonymos (?), 06-Май-26, 08:59 
"папки и файлы должны быть доступны по протоколу SMB" - это такой странный юмор?
Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:43 
> "папки и файлы должны быть доступны по протоколу SMB" - это такой странный юмор?

Уже отвечал в прошлый раз, но повторюсь. Никаких специальных возможностей для работы с сетью в MyLibrary на данный момент нет. Они есть в планах. Всё, что есть сейчас, достигается за счёт правильного оформления кода. С сетью в данном случае взаимодействуют прослойки - gvfs, kio-fuse и т.п. - в MyLibrary просто используются соответствующие имена файлов (в них присутствует указание на протокол). Т.е. в стандартные функции С++ (std::fstream) отправляется правильно оформленный путь файла, дальше вызов обрабатывается ОС. Как она это делает - зависит полностью от неё. В теории может быть использован и другой протокол, но тестировалось это всё на SMB. Подразумевается, что это всё будет использоваться в локальных сетях. На свой страх и риск.

Ответить | Правка | Наверх | Cообщить модератору

129. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (127), 06-Май-26, 20:10 
> Т.е. в стандартные функции С++ (std::fstream) отправляется правильно оформленный путь файла, дальше вызов обрабатывается ОС.

Если обрабатывает ОС, зачем упоминание какого-то SMB? ОС может хоть sshfs обработать, но об этом же в статье не написано почему-то.

Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 22:36 
> но тестировалось это всё на SMB

Я написал только о том, что проверял.

Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (91), 06-Май-26, 15:49 
Автор в прошлый раз обещал сделать на NFS.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

10. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (10), 06-Май-26, 08:59 
> Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хэш-сумм файлов и архивов

А в каком формате хэш? Вот бы это можно было юзать для восстановления побитых файлов через p2p

Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Bob (??), 06-Май-26, 09:21 
>юзать для восстановления побитых файлов через p2p

сам торрент перехэшируй, чудак

Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:47 
> А в каком формате хэш?

При создании нативной коллекции все найденные поддерживаемые файлы хешируются. Дальше хеши используются при обновлениях коллекции для проверки наличия изменений. Используемый алгоритм - BLAKE2B.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

23. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Pascal (??), 06-Май-26, 09:51 
Блииииин, эта чо за GUI? Рак глаз получить можно.
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Жироватт (ok), 06-Май-26, 09:59 
Аффтар! Почему ты забросил свои остальные программы?
Мессенджер сейчас как-никак куда более актуальная нонче весчь, чем книгоиндексилка.
Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:54 
> Мессенджер сейчас как-никак куда более актуальная нонче весчь, чем книгоиндексилка.

Вы правы в целом. Но автор - один, и его на всё не хватает. Уже пару раз принимался за приведение в порядок мессенджера. А дальше... Нужна база данных, её нужно на чём-то обкатать. Обкатываем на MyLibrary, но для этого оказалось нужно большую часть библиотеки MlBookProc переписать. Поскольку переписывается библиотека - нужно адаптировать GUI, при этом были планы перевести всё это на Qt (который должен к тому же быть задействован в новой версии мессенджера - т.е. тоже неплохо бы на чём-нибудь обкатать). В результате - 3 месяца возни с MyLibrary.

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от Сыровато (?), 06-Май-26, 13:41 
Стрёмно это, когда человек любит говорить о себе в третьем лице.
Да и к человеку на "ты", а он в ответ на "вы".
Похоже цветовая схема и GUI его катологизатора книг такие не с проста, а шизофренией отдают.
Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (77), 06-Май-26, 15:07 
Монархи тоже говорят о себе в третьем лице.) Взгляд на себя со стороны (и не только, учитывая агрессию здесь). Кроме того есть еще автор у проекта. И распределение вклада авторов нам неизвестно.
Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (93), 06-Май-26, 16:02 
> Монархи тоже говорят о себе в третьем лице.

Ни одного одаренного монарха не встречал, одни бездари, с чем это связано?

Ответить | Правка | Наверх | Cообщить модератору

98. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (77), 06-Май-26, 16:24 
Не всё зависит от одного человека?
Ответить | Правка | Наверх | Cообщить модератору

183. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (183), 07-Май-26, 10:36 
> Монархи тоже говорят о себе в третьем лице.)

Человек перепутал третье лицо с множественным числом. Докладывать о своей работе, говоря "мы", даже если исполнитель в единственном числе, нормально для научной среды.

Ответить | Правка | К родителю #77 | Наверх | Cообщить модератору

171. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Паталогизатор (?), 07-Май-26, 06:58 
Стрёмно, когда кто-то будто куда-то в сторону говорит, сразу вопрос возникает: "А он в своём уме, сам с собой разговаривает?".
А его мелкие, неуместные придирки и стремление раздавать людям оценки отдают толи психопатией, толи банальной незрелостью и завистью.
И диагнозы ещё, бывает, ставит, а у самого голос такой мерзкий, будто он во все места обиженный и вот-вот расплачется как девчонка.
Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

182. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (183), 07-Май-26, 10:33 
> Стрёмно это, когда человек любит говорить о себе в третьем лице.

Два раза прочитал пост. Где тут в 3-м лице?

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

28. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (-), 06-Май-26, 10:07 
> Графический интерфейс переведён на использование Qt6.

Ух черт, такое и из кутей можно забабахать?! :)

Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Жироватт (ok), 06-Май-26, 12:38 
Если постараться, да еще и этих новых кедовых виджетов налить...
Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:56 
> кедовых виджетов налить...

Нет ни одного, всё исключительно на "голом" Qt.

Ответить | Правка | Наверх | Cообщить модератору

155. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (164), 06-Май-26, 23:22 
Налей ещё этих новых кедовых виджетов да выпей чаю
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

53. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:57 
> Ух черт, такое и из кутей можно забабахать?! :)

Как видите))

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

29. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (29), 06-Май-26, 10:10 
Вот после такого люди и говорят, что UI в Linux уродлив.
Ответить | Правка | Наверх | Cообщить модератору

161. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (164), 07-Май-26, 03:17 
Протестую, для Windows автор тоже делает сборки.
Ответить | Правка | Наверх | Cообщить модератору

33. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +3 +/
Сообщение от Аноним (33), 06-Май-26, 10:40 
Автору уважение за труд
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 13:17 
Спасибо.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (34), 06-Май-26, 10:42 
Зачем делать половину UI со светлым текстом на темном фоне, а вторую наоборот? Если удалить styles.css, то наверное будет дефолтная палитра от QT.
Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 12:58 
> наверное будет дефолтная палитра от QT.

Загляните в настройки ;)

Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (36), 06-Май-26, 10:51 
Вот же ж, не успел... А я только собрался попросить упаковку в MLFBDPlugin сделать опциональной (но пусть галочка будет по умолчанию включена, чтобя поведение не менять).
Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 13:16 
Ну так-то fbd - подразумевает наличие архива. Если я правильно понимаю, вы используете плагин для создания fb2? Или подразумеваются некие другие варианты использования?
Ответить | Правка | Наверх | Cообщить модератору

65. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (36), 06-Май-26, 14:23 
Нет, для создания файла FBD подумал приспособить (упаковывать просто рано пока).

Пока пишу, вспомнил про fb2edit: для создания/редактирования книг, говорят, не очень, но нужен только description, надо посмотреть.

Ответить | Правка | Наверх | Cообщить модератору

37. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (36), 06-Май-26, 10:55 
В сборочных файлах не увидел минимальную версию Qt. Возможно ли обойтись 6.4, как в Ubuntu'образных 24.04 LTS? (6.4.2, если полностью.)

6.2.4, как в Ubuntu'образных 22.04 LTS, наверное, уже будет не очень удобно...

Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 13:49 
В теории всё должно работать вплоть до версии 6.0. Тут будет другая проблема скорее всего. Соответствующие версии компиляторов не всегда полностью поддерживают стандарт C++20. И с OpenMP там могут быть нюансы.
Ответить | Правка | Наверх | Cообщить модератору

66. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (36), 06-Май-26, 14:26 
Я уже при сборке встрял на CMakeLists.txt:22

> qt_collect_translation_source_targets(i18n_targets DIRECTORY src)

доступно только в Qt >= 6.7.
Пока не смотрел, можно ли обойти.

Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 14:54 
> Пока не смотрел, можно ли обойти.

Уберите эту строку вообще, и в qt_add_translations уберите SOURCE_TARGETS ${i18n_targets}. По идее всё должно нормально собраться. Забыл просто переделать, 4 отдельных проекта разом в релиз отправлять - многовато, потому и недоглядел (в плагинах аналогично).

Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (36), 06-Май-26, 16:47 
Спасибо, только уточнение: заработало после удаления и TARGETS, т.е. в таком виде пошла сборка

> qt_add_translations(
>    MyLibrary
>    TS_FILES translations/MyLibrary_ru_RU.ts
>)

2. Далее ругается на функции archive_entry_filetype_is_set и archive_entry_perm_is_set в MLBookProc/src/LibArchive.cpp.
Как оказалось, они были добавлены в libarchive в https://github.com/libarchive/libarchive/commit/8acb738db6bc...
и пошли в 3.7.3. А в Ubuntu и производных весрия 24.04 содержит... 3.7.2 :)))
Не понял только, можно ли это как-то обойти.

3. У меня libarchive обновлён, поэтому обновил его и в chroot-окружении, далее валится

> src/BookDetailsWindow.cpp:232:11: error: no match for 'operator+=' (operand types are 'QString' and 'const std::string' {aka 'const std::__cxx11::basic_string<char>'})
>  232 |       str += it_b->content;

Компилятор накидал, конечно, candidate'ов. но, как говорится, не в коня корм: я не программист, тут не осилил с разбегу.

Может кто-то грамотный отпишется на GitHub/GitFlic, может даже с PR.

Ответить | Правка | Наверх | Cообщить модератору

112. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 17:11 
> Спасибо, только уточнение: заработало после удаления и TARGETS, т.е. в таком виде пошла сборка

Да, в более старых версиях Qt такое может быть.

> 2. Далее ругается на функции archive_entry_filetype_is_set и archive_entry_perm_is_set в > MLBookProc/src/LibArchive.cpp.
> Как оказалось, они были добавлены в libarchive в https://github.com/libarchive/libarchive/commit/8acb738db6bc...
> и пошли в 3.7.3. А в Ubuntu и производных весрия 24.04 содержит... 3.7.2 :)))
> Не понял только, можно ли это как-то обойти.

Да, обойти можно. Но там патчем в одну строчку не обойтись, подумать надо.

> str += it_b->content;

Это я тоже не доглядел - видимо в новых версиях Qt наконец-то "завезли" для QString конструктор из std::string, поэтому у меня компилятор на это не ругается. Поправить можно следующим образом:

str += it_b->content.c_str();

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

Ответить | Правка | Наверх | Cообщить модератору

117. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (117), 06-Май-26, 17:35 
>Это я тоже не доглядел - видимо в новых версиях Qt наконец-то "завезли" для QString конструктор из std::string

Для того, чтобы не сталкиваться с такими проблемами, изобретена контейнеризациция. Но вы ведь противник данного подхода, не так ли?

Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (36), 06-Май-26, 18:55 
> str += it_b->content.c_str();

В других местах именно так, "str += it_b->content;" только в одном месте.

Ещё

> mlarchiverplugin/src/MainWindow.cpp:43:11: error: 'qApp' was not declared in this scope
>   43 |           qApp->installTranslator(translator);

Поискал в исходниках, нашёл эту qApp в MLArchiverPlugin.cpp, там после

> #include <MainWindow.h>

ещё

> #include <QApplication>

Добавил в MainWindow.cpp - собралось. (В остальных местах, включая ExamplePlugin.cpp, этот  include есть.)

Ответить | Правка | К родителю #112 | Наверх | Cообщить модератору

143. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 22:08 
>[оверквотинг удален]
> В других местах именно так, "str += it_b->content;" только в одном месте.
> Ещё
>> mlarchiverplugin/src/MainWindow.cpp:43:11: error: 'qApp' was not declared in this scope
>>   43 |           qApp->installTranslator(translator);
> Поискал в исходниках, нашёл эту qApp в MLArchiverPlugin.cpp, там после
>> #include <MainWindow.h>
> ещё
>> #include <QApplication>
> Добавил в MainWindow.cpp - собралось. (В остальных местах, включая ExamplePlugin.cpp,
> этот  include есть.)

Да, поправлю. Самое забавное, что в 6 других системах (включая Debian 13) всё собралось нормально))


Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от kusb (?), 06-Май-26, 11:42 
Мне нравится графический интерфейс, хотя кажется немного дисгармоничным. Что со мной не так...
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (42), 06-Май-26, 12:02 
— Этот интерфейс для аутистов
— А мне понравился!
Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (77), 06-Май-26, 14:50 
Для любителей чтения норм.
Современные интерфейсы тоже требуют адаптации. Ещё и изменяются по непонятным причинам. Так что в это время был занят чтением и не следил за модной тусовкой, норм. Не нужно сбрасывать фактор непохожести на рынке. Цвета можно позволить менять пользователю.
PS: Почему такая агрессия и оскорбление для непохожих? Это тоже говорит о Вас.
Ответить | Правка | Наверх | Cообщить модератору

140. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (42), 06-Май-26, 21:46 
Почему такая агрессия к чужому мнение? Это как прийти на концерт Шнура и оскорбится на то что он матерится со сцены.
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от Аноним (117), 06-Май-26, 13:06 
>Улучшена работа библиотеки разбора xml файлов

Произведена косметическая перепланировка, без решения хоть каких-то серьёзных проблем.

https://github.com/ProfessorNavigator/mylibrary/blob/867768e...
Как раз для таких вещей и придуман rust, а если точнее, то концепция владения. Впрочем, если писать на rust не хочется, то можно взять либо язык со сборщиком мусора, либо, взять слабые указатели. Даже не смотря на то, что я не пишу на плюсах, я о них знаю. Спасибо автору за подсказку в коде. Использование сырых указателей - прямой способ побить память.

https://github.com/ProfessorNavigator/mylibrary/blob/867768e...
Вот что происходит, когда парсер пишется без лексера. Код
<elem attr="a>b"/>
является валидным. Даже если бы автор писал на парсер комбинаторах, то данной примитивной ошибки у него бы не было. Но, даже если не учитывать это, то всё равно, данный подход медленный.

https://github.com/ProfessorNavigator/mylibrary/blob/867768e...
https://www.w3.org/TR/REC-xml/#sec-starttags
> STag       ::=       '<' Name (S Attribute)* S? '>'
> S       ::=       (#x20 | #x9 | #xD | #xA)+

https://github.com/ProfessorNavigator/mylibrary/blob/867768e...
> S       ::=       (#x20 | #x9 | #xD | #xA)+

https://github.com/ProfessorNavigator/mylibrary/blob/867768e...
Кто нибудь, расскажите автору про переиспользование кода.
https://github.com/ProfessorNavigator/mylibrary/blob/867768e...
Автор добавляет лишние выделения памяти на ровном месте. Практически везде, где есть push_back, повторяется одна и та же ошибка.
https://github.com/ProfessorNavigator/mylibrary/blob/867768e...
В HTML слеш абсолютно никак не мешает, его опускать совершенно не нужно, так как очень легко потом потерять место, где он нужен.

А вообще, я бы рекомендовал автору не исправлять данные ошибки, а заменить парсер на нормальный, поскольку xml большой и сложный, и реализовывать его самому - долго.

Было бы очень интересно посмотреть на ревью c++ кода, но к сожалению, местные сишники молчат.

Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +3 +/
Сообщение от iPony128052 (?), 06-Май-26, 14:31 
> Было бы очень интересно посмотреть на ревью c++ кода, но к сожалению, местные сишники молчат.

А смысл ковыряться в этом?

Да и какая разница на всякие мелочи (какой-то там push_back в одной строчке), если в целом код один сплошной ужас.

Ответить | Правка | Наверх | Cообщить модератору

69. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (77), 06-Май-26, 14:34 
Код вероятно писался "для себя как могу". Судить строго нельзя.
Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (117), 06-Май-26, 14:50 
>Судить строго нельзя.

Некоторое время назад, данный автор негативно высказывался про rust, и в качестве примера того, что c++ ничуть не хуже, скинул ссылку на этот проект.

Пока что ни один из критиков rust-а не показал свой код хорошего качества.

Лично я не пишу ни на rust ни на c++, но мне надоели проекты с ошибками.

Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (77), 06-Май-26, 14:53 
Ну если Вы не нашли уязвимости с памятью, то нежелание нырять в сложность и непривычность rust не стоит осуждать, вроде.
Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (117), 06-Май-26, 15:48 
>Ну если Вы не нашли уязвимости с памятью

Что за попустительское отношение? Обычные баги вас уже не интересуют?
>то нежелание нырять в сложность и непривычность rust

В мире существует гораздо больше языков, чем rust и c++. Есть как минимум языки со сборкой мусора.

Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (77), 06-Май-26, 14:55 
Да и как тут воспользоваться уязвимостями? Прислать метаинфу вместе с архивом от друга? Тэги пользователь сам расставляет в оболочке.
Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

123. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от iPony128052 (?), 06-Май-26, 18:21 
Так выше предлагалось профессионалам по плюсами делать ревью.

Если бы мне на работе такое дали бы, то я либо заявление по собственному написал бы (что я в такой компании бы делал бы), либо заявление на увольнение автора такого кода.

Естественно я сам было дело сколотил этакий домик из ящиков на даче.
Но странно бы, чтобы его оценивали профессионалы строители: как там стены не по ГОСТУ, а фундамент?

Это не имеет смысла. Не тот уровень.

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

75. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от Аноним (77), 06-Май-26, 14:59 
>А смысл ковыряться в этом?

Профессионалы так заняты на работе, что у них нет времени для написания кода для людей?

Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

79. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –5 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 15:10 
Не обращайте внимания, местные Ржавые меня очень любят)) Я пару раз не удержался - поглумился от души, они никак забыть не могут.
Ответить | Правка | Наверх | Cообщить модератору

122. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от iPony128052 (?), 06-Май-26, 18:16 
По разному, вообще бывает. Но не отменяет выше написанного.
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

78. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 15:08 
И снова здравствуйте, рад что вы с нами)) Единственно - вы меня пожалуйста в следующий раз предупреждайте, когда будете новости про один не к ночи помянутый ЯП публиковать. Я на другой день публикацию новости перенесу. А то пользы от вас ноль - раньше хоть код тестировали, теперь уже просто набрасываете. А нормальные люди хотят нормально обсудить выпуск, а не вот это читать (ну реально - вы б хоть какой тест запустили что ли, посмотрели как оно всё работает, мне тоже интересно).
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

95. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +2 +/
Сообщение от Аноним (117), 06-Май-26, 16:04 
>один не к ночи помянутый ЯП публиковать

Один это какой? Вот вам другой язык, держите, почитаете как правильно парсеры писать https://dev.realworldocaml.org/parsing-with-ocamllex-and-men... Или вот ещё пример https://thedeemon.livejournal.com/1155.html

И потом, могли бы взять условный golang, там xml парсер идёт прямо в стандартной библиотеке.
>раньше хоть код тестировали

Я не тестировал ваш код ни разу. Я прочитал парсер и нашёл в нём ошибки, как и в прошлые разы. Зачем мне его запускать, если я ещё до запуска знаю, где есть проблемы?
>вы б хоть какой тест запустили что ли

Я вам привёл конкретные ошибки, с номерами строк. Вам непонятно описание?

Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 21:41 
> Один это какой? Вот вам другой язык, держите, почитаете как правильно парсеры
> писать https://dev.realworldocaml.org/parsing-with-ocamllex-and-men... Или
> вот ещё пример https://thedeemon.livejournal.com/1155.html

Да-да-да... (зевает).

> И потом, могли бы взять условный golang, там xml парсер идёт прямо
> в стандартной библиотеке.

Спасибо, но на этом вы сами пишите.

> Я не тестировал ваш код ни разу. Я прочитал парсер и нашёл
> в нём ошибки, как и в прошлые разы. Зачем мне его
> запускать, если я ещё до запуска знаю, где есть проблемы?

Правда, знаете? А если проверю?))

> Я вам привёл конкретные ошибки, с номерами строк. Вам непонятно описание?

Совершенно. Поскольку ошибок там нет, и вы бы это знали, если бы С++ подучили, вместо того, чтобы ходить за мной и ныть об одной и той же глупости. Какое там определение сумасшествия?... "Безумие - это раз за разом повторять одно и то же действие, надеясь получить другой результат". По-моему как-то так. Повод задуматься как минимум.


Ответить | Правка | Наверх | Cообщить модератору

157. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (117), 06-Май-26, 23:42 
>Правда, знаете? А если проверю?))

Во-первых, вы уже часть ошибок, на которые вам я указал, уже поправили. Во-вторых, текущие ошибки вам нужно для начала проверить самим, а лишь потом заявлять, что всё хорошо.
>Поскольку ошибок там нет, и вы бы это знали, если бы С++ подучили

Вы даже не поняли в чём ошибка, а уже утверждаете, что её нет.
>Безумие - это раз за разом повторять одно и то же действие, надеясь получить другой результат

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

Ответить | Правка | Наверх | Cообщить модератору

202. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 08-Май-26, 11:39 
>>Безумие - это раз за разом повторять одно и то же действие, надеясь получить другой результат
> Безумие учится/тренироваться, если с первого раза не получилось, значит не получится никогда.
> Вы же не способны к обучению или всё таки нет?

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


Ответить | Правка | Наверх | Cообщить модератору

177. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от iPony128052 (?), 07-Май-26, 08:30 
> И потом, могли бы взять условный golang, там xml парсер идёт прямо
> в стандартной библиотеке.

Как будто на плюсах кто-то мешает подключить тот же крохотный pugixml

Но если охота писать кривой велоипед, то это тоже незапрещенно конечно.

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

110. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (92), 06-Май-26, 17:05 
> вы б хоть какой тест запустили что ли

А у вас в репозитории есть тесты, лол? Юнит-тесты, тесты на чтение/запись форматов файлов... Вы о таком даже не слышали.

Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

137. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –3 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 21:33 
> Вы о таком даже не слышали.

Да ну действительно... Давайте засунем в репозиторий пару сотен гигабайт fb2 файлов. То-то все будут счастливы...


Ответить | Правка | Наверх | Cообщить модератору

206. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (117), 08-Май-26, 14:54 
>Давайте засунем в репозиторий пару сотен гигабайт fb2 файлов

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

Ответить | Правка | Наверх | Cообщить модератору

207. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 08-Май-26, 15:18 
> Юнит тесты проверяют работоспособность функциональности,
> а не производительность.

А при чём тут производительность? Библиотека XMLParserCPP именно так и тестировалась - на множестве fb2 файлов. У меня есть определённый набор, на котором всё это проверяется. Но оно всё - объект авторского права, и в публичный доступ я это выкладывать не буду.

Ещё умные мысли есть?


Ответить | Правка | Наверх | Cообщить модератору

174. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (174), 07-Май-26, 07:26 
> не смотря на то, что я не пишу на плюсах, я

..мнение имею. Ясно-понятно.

> Автор добавляет лишние выделения памяти на ровном месте. Практически везде, где есть push_back, ...

Кто-нибудь, расскажите комментатору про capacity/size - стратегию аллокации памяти у std:vector.

Сразу видно, до коммунизма ещё не дорос.

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

190. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (190), 07-Май-26, 14:47 
>коммунизма ещё не дорос.

Верить в сказки? Нет, не нужно.

Ответить | Правка | Наверх | Cообщить модератору

201. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (117), 08-Май-26, 10:39 
>Кто-нибудь, расскажите комментатору про capacity/size - стратегию аллокации памяти у std:vector.

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

Ответить | Правка | К родителю #174 | Наверх | Cообщить модератору

56. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Анонимище (?), 06-Май-26, 13:09 
Прошу меня простить, я в танке: что такого можно сделать с софтом-катологизатором что будет проблематично сделать через файловую систему? У меня есть куча файлов которые неплохо бы катологизировать
Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (77), 06-Май-26, 14:32 
Навскидку, поиск по тэгам, атрибутам; подборки для будущих чтений; единое хранение - множество представлений коллекции.
Ответить | Правка | Наверх | Cообщить модератору

76. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 15:01 
Уже отвечал не раз. Представьте, что к вам попал архив тысячи так на 3 книг. И все имена файлов вида 123456.fb2. А если в этом архиве внутри другие архивы?

В целом же, как опять же не раз писал - я ни на чём не настаиваю. Если вас устраивает использование файловой системы - пользуйтесь.

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

80. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Анонимище (?), 06-Май-26, 15:12 
У меня есть файлы книг, но в некоторых случаях к книгам прилагаются дополнительные файлы (вроде образа диска или вспомогательного софта который я сам нашел), Ваш катологизатор может работать с такими кейсами?
Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 15:43 
> У меня есть файлы книг, но в некоторых случаях к книгам прилагаются
> дополнительные файлы (вроде образа диска или вспомогательного софта который я сам
> нашел), Ваш катологизатор может работать с такими кейсами?

Если правильно понял, у вас есть условный pdf документ, а рядом с ним лежат некие вспомогательные материалы? Или материалы встроены в сам файл?

MyLibrary обрабатывает только поддерживаемые типы файлов (список в новости). Тип файла определяется по расширению. Если рядом с поддерживаемым файлом лежит какой-то не поддерживаемый, то он будет просто пропущен при создании/обновлении коллекции (ошибок не будет, даже если всё это лежит в одном архивном файле например). Из файлов книг извлекаются только метаданные и обложки (если есть), сами файлы не перемещаются, не переименовываются и никак не редактируются. Открытие файлов книг происходит в программе, установленной в настройках ОС, как обработчик для данного типа файлов. Обработка внутренних ссылок, ведущих к каким-то внешним файлам - дело программы, в которой книга будет открыта. Единственное исключение - интернет-ссылки, указанные в аннотациях книг. Они обрабатываются библиотекой Qt, т.е. при нажатии такой ссылки в отображаемой аннотации, будет открыт браузер и ссылка будет обработана в нём.

Если есть необходимость добавить в коллекцию какие-то не поддерживаемые файлы, то воспользуйтесь плагином для создания fbd файлов. Будет создан архив с вашим файлом и файлом fbd, в котором будут находиться указанные вами метаданные. При обработке такого архива MyLibrary будет извлекать метаданные из fbd файла (то, что используется в базе данных - то, что вы видите, как результаты поиска), а открывать (при необходимости) "оригинальный" файл, в программе установленной, как обработчик данного типа файлов в настройках вашей ОС.  


Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Анонимище (?), 06-Май-26, 16:25 
1.

>Если правильно понял, у вас есть условный pdf документ, а рядом с ним лежат некие вспомогательные материалы?

Да, например iso который при прочтении книги я могу захотеть примонтировать. Поэтому хотелось бы чтобы я мог кликнуть в интерфейсе программы и мне открылась бы папка с дополнительными материалами для этой книги, чтобы не искать где у меня в дербрях файловой системы этот iso зарыт


И еще вопросы. А можно ли ...

2.Чтобы книга была распознана как одна, но как бы в нескольких ипостасях? Например, разные издания одной и той же книги, или разные переводы.

3.Приучить программу добавлять информацию об книге из сторонних текстовых файлов? Например я обычно кладу файл URLs.txt в папку с книгой, там обычно список релевантных для книги веб-ссылок

Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 21:10 
> Да, например iso который при прочтении книги я могу захотеть примонтировать. Поэтому хотелось бы чтобы я мог кликнуть в интерфейсе программы и мне открылась бы папка с дополнительными материалами для этой книги, чтобы не искать где у меня в дербрях файловой системы этот iso зарыт

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

> 2.Чтобы книга была распознана как одна, но как бы в нескольких ипостасях? Например, разные издания одной и той же книги, или разные переводы.

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

> 3.Приучить программу добавлять информацию об книге из сторонних текстовых файлов? Например я обычно кладу файл URLs.txt в папку с книгой, там обычно список релевантных для книги веб-ссылок

Уже есть, но в другом формате немного - можете использовать механизм заметок. Заметки для каждой книги сохраняются в отдельном текстовом файле в свободном формате. Получить доступ к этому файлу можно или непосредственно через контекстное меню книги, или посмотрите в меню, в "Инструменты". Там есть "Менеджер заметок" В нём отображается файл, для которого заметка создана и путь к самому файлу заметок. Есть возможность экспортировать файл заметок в удобное для вас место. При этом заметки не удаляются даже при удалении файла книги, удаление - только в ручную, через Менеджер заметок.

Ответить | Правка | Наверх | Cообщить модератору

166. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Анонимище (?), 07-Май-26, 05:40 
>Эвристика этого дела будет достаточно сложной, что замедлит выдачу поисковых результатов и усложнит базу данных.

Ок, а вручную юзер может сделать чтобы у книги было несколько ипостасей?

Ответить | Правка | Наверх | Cообщить модератору

203. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 08-Май-26, 11:40 
> Ок, а вручную юзер может сделать чтобы у книги было несколько ипостасей?

Можете воспользоваться функцией ручной редактуры базы данных - изменить название например, добавив свои пометки.


Ответить | Правка | Наверх | Cообщить модератору

173. "-"  +/
Сообщение от Аноним (174), 07-Май-26, 07:17 
ИМХО, правильнее хранить ссылку (URI: https/magnet) как поле Источник (Source) в базе данных. Это одновременно и идентифицирующая информация, и систематизирующая, и, в дальнейшем, пригодная для обновления/восстановления (для документации загружаемой из веба, например).
Ответить | Правка | К родителю #134 | Наверх | Cообщить модератору

204. "-"  +/
Сообщение от ProfessorNavigator (ok), 08-Май-26, 11:43 
> ИМХО, правильнее хранить ссылку (URI: https/magnet) как поле Источник (Source) в базе
> данных. Это одновременно и идентифицирующая информация, и систематизирующая, и, в дальнейшем,
> пригодная для обновления/восстановления (для документации загружаемой из веба, например).

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

Ответить | Правка | Наверх | Cообщить модератору

85. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Анонимище (?), 06-Май-26, 15:39 
> Уже отвечал не раз. Представьте, что к вам попал архив тысячи так
> на 3 книг. И все имена файлов вида 123456.fb2. А если
> в этом архиве внутри другие архивы?

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

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

87. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 15:45 
> Не думаю что это честное сравнение, упорядоченой базы с книгами и беспорядочного
> набора файлов. Например, книжки можно аккуратно разложить по папочкам, с подпапками
> и текстовыми файлами для релевантных файлов и информации (вроде образа диска
> идущему вкупе с книгой, релевантных веб-ссылок, издания книги на другом языке)

Так я ж говорю - без проблем. Если вам удобней так - делайте так. Я ни на чём не настаиваю. Программа предоставляется по принципу: нужно оно кому-то - хорошо, нет - на нет и суда нет.


Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Анонимище (?), 06-Май-26, 16:15 
Я сам придерживаюсь принципа "живи и дай жить другим". У меня просто чувство что я не просек "фишку" такого рода софта, вот почему спрашиваю
Ответить | Правка | Наверх | Cообщить модератору

135. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 21:19 
История возникновения данного проекта такова. Была одна библиотека - архив популярного сайта. К ней прилагался каталогизатор, под Windows, на паскале. В один "прекрасный" день он перестал нормально работать ("нормально" там и до того было весьма условное - запускалось оно через Wine, работало кривовато и не быстро). Меня попросили как-то решить проблему. Альтернатив под Линукс тогда особо не было, а я уже кое-чего соображал в программировании, поэтому сел и за неделю на коленке сваял замену. Пару лет проектом пользовались только те, кто был со мной знаком, а в 2022 у меня дошли руки привести его в более удобоваримый вид. С тех пор программа "живёт" публично.
Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (92), 06-Май-26, 19:06 
> архив тысячи так на 3 книг. И все имена файлов вида 123456.fb2.

Трудно представить еще более нереалистичный и притянутый за уши сценарий.

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

136. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 21:21 
> Трудно представить еще более нереалистичный и притянутый за уши сценарий.

Обладатели архивов некоторых популярных в рунете сайтов смотрят на вас с иронией))

Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Ахз (?), 06-Май-26, 16:57 
Хотелось бы видеть всю палитру, мало цветов
Ответить | Правка | Наверх | Cообщить модератору

107. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (107), 06-Май-26, 16:57 
А какое отличие данного продукта от calibre?
Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (36), 06-Май-26, 17:03 
Файлы не трогает, вообще - ни расположение, ни содержимое (ЕМНИП, закладки хранит отдельно).

Ну из плюсов ещё: конвертировать не умеет, поэтому в EPUB в contributor с opf:role="bkp" не лезет.

Ответить | Правка | Наверх | Cообщить модератору

126. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (127), 06-Май-26, 20:02 
> Графический интерфейс переведён на использование Qt6

Ого, а почему Qt6 такой страшный? Это же хуже даже мотива прошлого века.

Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (128), 06-Май-26, 20:06 
А мне кажется, или цвета программы стали лучше того, что было несколько месяцев назад?
Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (127), 06-Май-26, 20:22 
FBReader куда лучше выглядит.
Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –2 +/
Сообщение от Аноним (132), 06-Май-26, 20:36 
Сравнить каталогизатор с читалкой. Это мощно!
Ответить | Правка | Наверх | Cообщить модератору

163. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (164), 07-Май-26, 03:29 
Но ведь каталогизатор может выглядеть лучше!
Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (133), 06-Май-26, 20:53 
Ткнул первый попавшийся файлик. Пусть это будет AddBooksWindow.cpp...

1. Про QStringLiteral автор не в курсе вообще. Каждый QString создаётся в рантайме путём парсинга из char *.

2. Логика с интерфейсом, ну это классика. Всё в одном файле. В долгосрочной перспективе поддерживать такое будет нереально.

3. Куча setObjectName. Зачем??? Где-то планируется обращение по имени объекта?

4. connect-ы с лямбдами без указания объекта-назначения. Сегфолты ловить потом запаришься.

5. Вот это вообще шЫдевр:
for(size_t i = 0; i < act_list.size(); i++) { delete act_list[i]; }
Про qDeleteAll автор не в курсе вообще. Но это ещё простительно. Хуже, в этом списке объекты класса QAction. Чего бы не указать parent и не париться на счёт их удаления вообще?

6. Дальше ещё веселее. Начиная со строки 71 идёт использование QDir, которое потом внезапно превращается в std::filesystem. Соответственно, постоянная пляска с преобразование QString в std::string и наоборот. Возникает резонный вопрос, а почему не использовать QDir дальше? Фильтровать файлы и каталоги оно отлично умеет.

Дальше смотреть не стал, ибо влом.

Вывод. Проект очень похож на результат вайбкотинга. Даже удивительно, как оно собирается и не падает. Определённо, надо получше выучить библиотеку Qt и начать её нормально использовать. Это позволит убрать до 40% лишнего кода. Вопрос только в том, есть ли в этом какой-то смысл.

Ответить | Правка | Наверх | Cообщить модератору

142. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  –1 +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 22:05 
> Ткнул первый попавшийся файлик. Пусть это будет AddBooksWindow.cpp...
> 1. Про QStringLiteral автор не в курсе вообще. Каждый QString создаётся в
> рантайме путём парсинга из char *.

А QStringLiteral создаёт их как-то иначе?))

> 2. Логика с интерфейсом, ну это классика. Всё в одном файле. В
> долгосрочной перспективе поддерживать такое будет нереально.

О да, очередной "эксперт"...

> 3. Куча setObjectName. Зачем??? Где-то планируется обращение по имени объекта?

Не планируется, а есть. Оформление - как по вашему сделано?

> 4. connect-ы с лямбдами без указания объекта-назначения. Сегфолты ловить потом запаришься.

Ну-да, ну-да, а то, что там лямбда работает с "вызывающим" же объектом - это мы уже сообразить не в состоянии.

> 5. Вот это вообще шЫдевр:
> for(size_t i = 0; i < act_list.size(); i++) { delete act_list[i]; }
> Про qDeleteAll автор не в курсе вообще. Но это ещё простительно. Хуже,
> в этом списке объекты класса QAction. Чего бы не указать parent
> и не париться на счёт их удаления вообще?

Вы думаете, я не в курсе?))

> 6. Дальше ещё веселее. Начиная со строки 71 идёт использование QDir, которое
> потом внезапно превращается в std::filesystem. Соответственно, постоянная пляска с преобразование
> QString в std::string и наоборот. Возникает резонный вопрос, а почему не
> использовать QDir дальше? Фильтровать файлы и каталоги оно отлично умеет.

Принцип очень прост - там где можно, используются нативные возможности ЯП.

> Дальше смотреть не стал, ибо влом.

Не осилил)) А говорил, что "эксперт" ;)

> Вывод. Проект очень похож на результат вайбкотинга.

Забавно - выше мне предъявляли совершенно противоположные претензии))

> Даже удивительно, как оно собирается
> и не падает. Определённо, надо получше выучить библиотеку Qt и начать
> её нормально использовать. Это позволит убрать до 40% лишнего кода. Вопрос
> только в том, есть ли в этом какой-то смысл.

Можете лучше - делайте. Мы все будем только рады.


Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (147), 06-Май-26, 22:35 
>А QStringLiteral создаёт их как-то иначе?))

RTFM:

>The macro generates the data for a QString out of the string literal str at compile time.
>О да, очередной "эксперт"...

Конечно. Логику от интерфейса надо отделять. Иначе это нечитаемое месево.

>Не планируется, а есть. Оформление - как по вашему сделано?

Ужас...

>Ну-да, ну-да, а то, что там лямбда работает с "вызывающим" же объектом - это мы уже сообразить не в состоянии.

Да, про Qt::AutoConnection товарищ не в курсе...

>Вы думаете, я не в курсе?))

Я уверен в этом!

>Принцип очень прост - там где можно, используются нативные возможности ЯП.

А смысл? Гонять туда-сюда QString и std::string? Я там понимаю, отдельная библиотека с логикой на чистых плюсах и отдельно интерфейс на Qt. Но тут всё в одной куче.

>Не осилил)) А говорил, что "эксперт" ;)

Тут сорян, мозг надо беречь.

>Забавно - выше мне предъявляли совершенно противоположные претензии))

Вообще не в курсе, кто там что предъявляет. Особенно если код.

>Можете лучше - делайте. Мы все будем только рады.

Так уже. Мои замечания учтёт любая нейросетка, и этот код будет лучше.

Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 22:39 
> Так уже. Мои замечания учтёт любая нейросетка, и этот код будет лучше.

Попутной ракеты))

Ответить | Правка | Наверх | Cообщить модератору

151. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (147), 06-Май-26, 22:42 
А где радость?
Ответить | Правка | Наверх | Cообщить модератору

153. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 22:56 
> А где радость?

Вы даже не представляете насколько я рад. Причём без всякой иронии. Только радуюсь я не совсем тому, о чём вы подумали.


Ответить | Правка | Наверх | Cообщить модератору

145. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (127), 06-Май-26, 22:19 
> connect-ы с лямбдами без указания объекта-назначения

Сигналы - это постоянная архитектурная боль Qt.

Ответить | Правка | К родителю #133 | Наверх | Cообщить модератору

160. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (92), 07-Май-26, 02:43 
>> connect-ы с лямбдами без указания объекта-назначения
> Сигналы - это постоянная архитектурная боль Qt.

Конкретно эту беду можно отключить начиная с Qt 6.7 при помощи QT_NO_CONTEXTLESS_CONNECT.

Ответить | Правка | Наверх | Cообщить модератору

146. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (127), 06-Май-26, 22:21 
> постоянная пляска с преобразование QString в std::string и наоборот

А вот писал бы на паскале - таких болячек не было бы.

Ответить | Правка | К родителю #133 | Наверх | Cообщить модератору

150. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (147), 06-Май-26, 22:39 
Да нет. Просто какой смысл юзать std::string и прочее, когда есть Qt, которая во всех функциях использует QString? Ну разве что лишние такты процессора съесть и читаемость кода "повысить".
Ответить | Правка | Наверх | Cообщить модератору

152. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 06-Май-26, 22:46 
> Да нет. Просто какой смысл юзать std::string и прочее, когда есть Qt,
> которая во всех функциях использует QString? Ну разве что лишние такты
> процессора съесть и читаемость кода "повысить".

Смысл очень простой - под капотом там библиотека MLBookProc, в которой нет Qt (и не будет). Она может быть собрана и работать автономно, без самой программы MyLibrary (буде у кого возникнет желание например свой сервер с помощью неё поднять).


Ответить | Правка | Наверх | Cообщить модератору

156. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (156), 06-Май-26, 23:34 
Я пока смотрел AddBooksWindow.cpp, вроде бы это не часть библиотеки... Но это только один пример. Вот ещё цикл

for(auto it = list.begin(); it != list.end(); it++)
{
  std::string str = it->toStdString();
  std::filesystem::path p = std::u8string(str.begin(), str.end());
  model->addItem(p);
}

Чего бы не сделать так:

for(const auto &str : list)
{
  model->addItem(str->toStdString());
}

Только addItem перегрузить...

Но это тоже неудачный пример. Сам факт преобразования QString -> std::string -> std::u8string -> std::filesystem::path весьма удручает. Так что можно сделать ещё лучше без всяких перегрузок:

for(const auto &str : list)
{
   if constexpr (sizeof(std::filesystem::path::value_type) == sizeof(char16_t))
       model->addItem(std::u16string_view(QStringView(str)));
   else
       model->addItem(str.toStdString());
}

И это я ещё нейронку не натравил....

Ответить | Правка | Наверх | Cообщить модератору

158. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (127), 07-Май-26, 00:05 
> QString -> std::string -> std::u8string -> std::filesystem::path

В частности именно из-за этого многие не используют плюсы и Qt

Ответить | Правка | Наверх | Cообщить модератору

194. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (194), 07-Май-26, 17:25 
>В частности именно из-за этого многие не используют плюсы и Qt

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

Ответить | Правка | Наверх | Cообщить модератору

186. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 07-Май-26, 12:40 
> for(const auto &str : list)
> {
>   model->addItem(str->toStdString());
> }

Короткий ответ - кодировки и Windows (чтоб им там в Майкрософте всем пусто было). Это в Линукс UTF-8 дефакто - стандарт (и то - бывают варианты). А в Windows оно всё куда-а интересней. В стандарте С++17 была функция std::filesystem::u8path, в С++20 её убрали (точнее - объявили deprecated) и вместо этого, чтобы явно указать, что у вас входящий набор байт - это строка в кодировке UTF-8, нужно использовать std::u8string. Со std::string ошибки не будет, вот только библиотека filesystem будет считать, что оно - в системной кодировке. А в Windows это обычно CP1251 (а то и вовсе какой-нибудь KOI8R). При этом даже если вы через тот же Qt вернёте строку в системной кодировке, всё равно могут быть ошибки - я так до конца и не понял, в чём причина. Возможно в MinGW в std::filesystem какие-то особенности (уже наталкивался там на баги).


Ответить | Правка | К родителю #156 | Наверх | Cообщить модератору

196. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (194), 07-Май-26, 17:51 
Какой смысл в этом всём, когда std::filesystem::path имеет перегруженный конструктор, и прекрасно сам преобразует все UTF-* кодировки в кодировку файловой системы? Здесь всё разжёвано https://en.cppreference.com/cpp/filesystem/path/path

В QString же всегда UTF-16, так что не ясно, к чему все эти пляски с бубном.

Собственно, проверка,

if constexpr (sizeof(std::filesystem::path::value_type) == sizeof(char16_t))

и сделана на случай, если кодировка файловый системы UTF-16, и преобразование не требуется.

Ответить | Правка | Наверх | Cообщить модератору

205. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от ProfessorNavigator (ok), 08-Май-26, 11:52 
> Какой смысл в этом всём, когда std::filesystem::path имеет перегруженный конструктор,
> и прекрасно сам преобразует все UTF-* кодировки в кодировку файловой системы?
> Здесь всё разжёвано https://en.cppreference.com/cpp/filesystem/path/path

Если бы всё было так прекрасно, я бы такие конструкции не изобретал. Поэкспериментируйте с Windows и MinGW как-нибудь на досуге.

> if constexpr (sizeof(std::filesystem::path::value_type) == sizeof(char16_t))

Вы проверили на размер, но размер ещё не гарантирует, что внутри filesystem::path используется именно кодировка UTF-16. Полную гарантию от любых ошибок даёт только использование 8-битных типов и приведение всего и вся к одной кодировке. toStdString гарантированно возвращает UTF-8 строку в виде 8-битных char. std::u8string исключает какие-либо другие трактовки. Я не один час провёл за отладкой всего этого дела, повторять больше не хочется.


Ответить | Правка | Наверх | Cообщить модератору

178. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +2 +/
Сообщение от iPony128052 (?), 07-Май-26, 08:47 
> Проект очень похож на результат вайбкотинга

Вайбкодинг сильно лучше результаты даёт. Я серьёзно.


Ответить | Правка | К родителю #133 | Наверх | Cообщить модератору

180. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (180), 07-Май-26, 10:22 
Когда будет новость с твоим проектом? С вайбкодингом и без, без разницы.
Ответить | Правка | Наверх | Cообщить модератору

185. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от iPony128052 (?), 07-Май-26, 12:10 
> Когда будет новость с твоим проектом? С вайбкодингом и без, без разницы.

Уже было. У меня много ников.
Некоторое тут и не запостят, потому что 18+.

А так естетсвенно в основном пишу проприетарное по NDA

Ответить | Правка | Наверх | Cообщить модератору

198. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Гарри поттер (?), 07-Май-26, 22:43 
Ссылку то на новость даш?
Ответить | Правка | Наверх | Cообщить модератору

181. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +1 +/
Сообщение от Аноним (180), 07-Май-26, 10:24 
Спасибо. Я попробую пожалуй на это раз.
Если программа шустрая и хорошо выполняет свою задачу - неважно какие там цвета.
Так даже оригинально выглядит.
Ответить | Правка | Наверх | Cообщить модератору

189. Скрыто модератором  +/
Сообщение от Аноним (190), 07-Май-26, 14:46 
Ответить | Правка | Наверх | Cообщить модератору

191. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Сладкая булочка (?), 07-Май-26, 14:56 
> Графический интерфейс пользователя реализован с помощью библиотеки Qt6

В предыдущей версии же был gtk. В след мажорной нужен gpu rendering. Потом 3д с хождением по библиотеке.

Ответить | Правка | Наверх | Cообщить модератору

193. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (193), 07-Май-26, 17:08 
3D очки же продают. Для него приложение виртуальной реальности можно запилить. Виртальная реальность внутри библиотеки, с полками книг. Блин - это идея!
Ответить | Правка | Наверх | Cообщить модератору

195. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Сладкая булочка (?), 07-Май-26, 17:28 
> 3D очки же продают. Для него приложение виртуальной реальности можно запилить. Виртальная
> реальность внутри библиотеки, с полками книг. Блин - это идея!

Можно AR еще взять, чтобы прямо у себя в комнате книгу брать.

Ответить | Правка | Наверх | Cообщить модератору

200. "Выпуск каталогизатора домашней библиотеки MyLibrary 5.0"  +/
Сообщение от Аноним (200), 08-Май-26, 04:02 
Хороший проект ,можно на его базе сделать неплохой проект электронного документооборота
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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