<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Выпуск каталогизатора домашней библиотеки MyLibrary 3.0</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html</link>
    <description>Состоялся релиз каталогизатора домашней библиотеки MyLibrary 3.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки GTK4. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый пакет. Для пользователей Windows доступен экспериментальный инсталлятор...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=60647&lt;br&gt;</description>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (ProfessorNavigator)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#63</link>
    <pubDate>Wed, 28 Feb 2024 11:23:16 GMT</pubDate>
    <description>&amp;gt; Ну вот, докопались до правообладателей. Они может и вымрут, но контроля над &lt;br&gt;&amp;gt; этим у нас с вами нет.&lt;br&gt;&lt;br&gt;На самом деле есть, но это опять же отдельный разговор.&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; напоролись вы в _реальной_ книжке на некую проблему - крокозябра в &lt;br&gt;&amp;gt; имени файла не читается, например. Вы ее сейчас, открыв дебагер, находите &lt;br&gt;&amp;gt; и фиксите - это занимает полчаса, к примеру. Если в этом &lt;br&gt;&amp;gt; месте (когда у вас все в голове, это важно!) добавить еще &lt;br&gt;&amp;gt; 5 минут на то, чтобы из ничего и _под своим копирайтом_ &lt;br&gt;&amp;gt; создать тестовую _не книжку_ которая ведет себя по отношению к программе &lt;br&gt;&amp;gt; так же - вы получившийся тест можете спокойно публиковать. Со временем &lt;br&gt;&amp;gt; набор тестов будет расти, но прогонять код по ним каждый раз &lt;br&gt;&amp;gt; будет в разы быстрее, чем по реальной библиотеке. В итоге эти &lt;br&gt;&amp;gt; 5 минут инвестированного времени сейчас окупятся в вашем проекте вдолгую.&lt;br&gt;&lt;br&gt;Мысль здравая. Но есть пара &quot;но&quot;. Во-первых, никто не гарантирует, что вы сами при создании тестов ошибок в формате не наделаете. Скажем, fb</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (ProfessorNavigator)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#62</link>
    <pubDate>Wed, 28 Feb 2024 10:37:28 GMT</pubDate>
    <description>&amp;gt; Можно, например, все ошибки &lt;br&gt;&amp;gt; в отдельный списочек складывать, или даже в отдельный файлик писать и &lt;br&gt;&amp;gt; после всего выдавать сообщение - &quot;Дорогой юзер, у нас тут возникло &lt;br&gt;&amp;gt; N проблем, тыкни сюда если интересен весь список&quot;&lt;br&gt;&lt;br&gt;Да, у меня была мысль сделать класс Logger, который будет заниматься выводом ошибок в консоль или сохранением их в файл, по выбору пользователя. С отметками времени. Пока просто руки не дошли. &lt;br&gt;&lt;br&gt;&amp;gt; Это одна из траекторий по которым проходят люди. Программирование как скилл, даже &lt;br&gt;&amp;gt; если он не основная специальность - может быть очень полезным во &lt;br&gt;&amp;gt; всех смыслах.&lt;br&gt;&lt;br&gt;На самом деле, на мой личный взгляд, если вы пользуетесь неким устройством, то вы должны знать, как оно работает. Хотя бы основные принципы. В том числе на уровне физики. Поэтому общее представление о работе программ, о понятиях &quot;язык программирования&quot;, &quot;компилятор&quot;, &quot;интерпретатор&quot;, их связи, должен иметь каждый, кто садиться за компьютер. Иначе он просто будет представлять опасность для себя и окружающих (в худшем слу</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (Аноним)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#61</link>
    <pubDate>Tue, 27 Feb 2024 17:01:31 GMT</pubDate>
    <description>&amp;gt; Там SIGILL вылазит. Можно сделать обработку сигнала, но она всё равно должна заканчиваться exit.&lt;br&gt;&amp;gt; По крайней мере, насколько я понял из чтения документации. Т.е. в лучшем случае можно перед &lt;br&gt;&amp;gt; носом пользователя подвесить на несколько секунд сообщение вида, &quot;Хьюстон, у нас проблема&quot;, &lt;br&gt;&amp;gt; но не более того. Игнорировать же такой сигнал я бы не стал - неизвестно, чем это может закончится.&lt;br&gt;&lt;br&gt;Поиграйтесь с запуском процессов и анализом результатов их работы - это полезное умение не только в контексте этого проекта. Можно, например, все ошибки в отдельный списочек складывать, или даже в отдельный файлик писать и после всего выдавать сообщение - &quot;Дорогой юзер, у нас тут возникло N проблем, тыкни сюда если интересен весь список&quot;&lt;br&gt;&lt;br&gt;&amp;gt; Что, скажем, в каком-нибудь офисном пакете делать в принципе можно, но, мягко говоря, не очень удобно. Курсов никаких не заканчивал, всё исключительно самообразованием.&lt;br&gt;&lt;br&gt;Это одна из траекторий по которым проходят люди. Программирование как скилл, даже если он не основная специально</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (Аноним)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#60</link>
    <pubDate>Tue, 27 Feb 2024 16:41:25 GMT</pubDate>
    <description>Ну вот, докопались до правообладателей. Они может и вымрут, но контроля над этим у нас с вами нет.&lt;br&gt;&lt;br&gt;И тут мы и приходим к идее синтетических тестов - грубо говоря, напоролись вы в _реальной_ книжке на некую проблему - крокозябра в имени файла не читается, например. Вы ее сейчас, открыв дебагер, находите и фиксите - это занимает полчаса, к примеру. Если в этом месте (когда у вас все в голове, это важно!) добавить еще 5 минут на то, чтобы из ничего и _под своим копирайтом_ создать тестовую _не книжку_ которая ведет себя по отношению к программе так же - вы получившийся тест можете спокойно публиковать. Со временем набор тестов будет расти, но прогонять код по ним каждый раз будет в разы быстрее, чем по реальной библиотеке. В итоге эти 5 минут инвестированного времени сейчас окупятся в вашем проекте вдолгую.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (ProfessorNavigator)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#59</link>
    <pubDate>Tue, 27 Feb 2024 15:38:26 GMT</pubDate>
    <description>&amp;gt; Воот - этот набор и есть ваши тесты. Это конечно e2e, но &lt;br&gt;&amp;gt; это _сильно_ лучше чем ничего. А на гитхабе - ничего. Грубо &lt;br&gt;&amp;gt; говоря, если я у вас багу найду и на своих книжках &lt;br&gt;&amp;gt; проверю, а на ваших оно сломается - мы потратим кучу времени &lt;br&gt;&amp;gt; на разборки что-да-как-да-почему. А так - вы тесты выложили, кто угодно &lt;br&gt;&amp;gt; их взял и проверил, что не то что есть не сломалось &lt;br&gt;&amp;gt; - и вам хорошо и проекту &lt;br&gt;&lt;br&gt;Да, всё так. Только у книг есть авторы. Что в целом нестрашно - они, по моему опыту, во многих случаях не против, чтобы их книги выкладывали в открытый доступ. Но кроме авторов в уравнении, увы, пока что присутствуют издатели и прочие правообладатели. А вот они как раз обычно сильно против. По общему ощущению такая ситуация продлиться недолго - скоро всяким там &quot;собственникам&quot; в любом случае придёт конец. Так или иначе. Но это отдельный разговор)) Пока же особого смысла лишний раз дразнить гусей я не вижу. Просто удалят репозиторий и всё.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (ProfessorNavigator)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#58</link>
    <pubDate>Tue, 27 Feb 2024 15:29:41 GMT</pubDate>
    <description>&amp;gt; Ну можно еще:&lt;br&gt;&amp;gt; 1. Обложить try-except-ом и аккуратно все ловить и обрабатывать&lt;br&gt;&amp;gt; 2. Если оно в core dump-ит, то вынести в отдельный процесс эти рарчики, и следить за ним снаружи&lt;br&gt;&lt;br&gt;Там SIGILL вылазит. Можно сделать обработку сигнала, но она всё равно должна заканчиваться exit. По крайней мере, насколько я понял из чтения документации. Т.е. в лучшем случае можно перед носом пользователя подвесить на несколько секунд сообщение вида, &quot;Хьюстон, у нас проблема&quot;, но не более того. Игнорировать же такой сигнал я бы не стал - неизвестно, чем это может закончится.&lt;br&gt;&lt;br&gt;&amp;gt; параллельно всему этому, и вы его reset чтобы не разбираться и не заморачиваться с аккуратным параллельным программированием.&lt;br&gt;&lt;br&gt;Нет, просто банальная перестраховка. Так-то да, если там вылетит исключение, то bie по идее должен остаться nullptr, и reset действительно лишний. Уберу потом. &lt;br&gt;&lt;br&gt;&amp;gt; Стесняюсь спросить - а почему переписать с нуля это-вот-все оказалось проще, чем инкрементально развивать? Неужели сложность крышу проломила?&lt;br&gt;&lt;br&gt;Нет, просто пре</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (Аноним)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#57</link>
    <pubDate>Tue, 27 Feb 2024 12:56:48 GMT</pubDate>
    <description>&amp;gt; А для тестов программы в целом у меня отдельно лежит &lt;br&gt;&amp;gt; специальный набор книг и архивов, особо замороченных. Теперь к ним добавится &lt;br&gt;&amp;gt; ещё один.&lt;br&gt;&lt;br&gt;Воот - этот набор и есть ваши тесты. Это конечно e2e, но это _сильно_ лучше чем ничего. А на гитхабе - ничего. Грубо говоря, если я у вас багу найду и на своих книжках проверю, а на ваших оно сломается - мы потратим кучу времени на разборки что-да-как-да-почему. А так - вы тесты выложили, кто угодно их взял и проверил, что не то что есть не сломалось - и вам хорошо и проекту&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (Аноним)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#56</link>
    <pubDate>Tue, 27 Feb 2024 12:20:56 GMT</pubDate>
    <description>&amp;gt; На этом мои возможности заканчиваются.&lt;br&gt;&lt;br&gt;Ну можно еще:&lt;br&gt;1. Обложить try-except-ом и аккуратно все ловить и обрабатывать&lt;br&gt;2. Если оно в core dump-ит, то вынести в отдельный процесс эти рарчики, и следить за ним снаружи&lt;br&gt;&lt;br&gt;&amp;gt; Таки разберитесь, что это вообще такое, и всё станет сразу понятно.&lt;br&gt;&lt;br&gt;Да, стало&lt;br&gt;1. bie указатель на _экземпляр_ класса BookInfoEntry, который возвращает get_book_info.&lt;br&gt;2. Вы в 277-й строке bie.reset() вызываете, и забываете, что там раньше было&lt;br&gt;3. В 280-й строке ваш get_book_info может raise MLException, правильно? Но это должно произойти _до_ того, как ваш bie получит новое значение, правильно?&lt;br&gt;4. Однако, в 285-й строке вы зачем-то снова делаете bie.reset. Значит, одно из двух - либо это копипаста (и вот как раз такие штуки ловят нормальные ревьюверы и иногда - ИИшечка), либо ваш bie может откуда-то получить значение параллельно всему этому, и вы его reset чтобы не разбираться и не заморачиваться с аккуратным параллельным программированием.&lt;br&gt;&lt;br&gt;&amp;gt; Я стесняюсь спросить - а зачем они тут</description>
</item>

<item>
    <title>Выпуск каталогизатора домашней библиотеки MyLibrary 3.0 (kusb)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/132916.html#55</link>
    <pubDate>Mon, 26 Feb 2024 12:55:09 GMT</pubDate>
    <description>Можно было отрисовывать в sdl собственный интерфейс. Меньше зависимостей.&lt;br&gt;</description>
</item>

</channel>
</rss>
