Как стать автором
Обновить

Комментарии 27

Осталось в графе персонализация вставить графу с адресом, телефоном и время работы
— гениально!
Реально программа красивая, простая, нужная! Одобряю все, кроме 6 лет разработки !)
Версия для Linux вообще может использовать любую комбинация версий

Для решения проблем зоопарка версий пакетов не поможет ли virtualenv?
И соответственно pip freeze > requirements.txt для фиксации версий библиотек, pip install -r requirements.txt для установки?

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


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

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

Писать оптимизированный, лаконичный и не жрущий память код на js ещё сложнее. Так как нет явного инструмента работы со ссылками. Некоторые даже не задумываются о том что замыкания и другие переменные необходимо подчищать за собой, чтоб сборщик мусора мог освободить память. И это тоже в IDE не видно, разработчик js приложения должен об этом знать и учитывать.

Как итог значительная часть электрон приложений жрут ресурсы не меньше хрома.

Место JS — браузер.
Есть простейшие средства профилирования памяти — например, в Хромовских dev tools можно построить таблицу, на что расходуется память (малопонятную, если честно). Как я понимаю, это приложение из статьи запускается не на долго, не работает постоянно и не обрабатывает большие объемы данных, значит производительности хватит. Я видел, как работает VS Code на не новом компе — очень впечатляет и даже не верится, что это
HTML.

В общем, рекомендую вам получше присмотреться к JS и отбросить предрассудки.
Я в этом JS уже больше десяти лет плаваю, не по наслышке знаком.
VS Code бегает именно благодаря тому, что его делают опытные и разбирающиеся в вопросах оптимизации люди.
В мире JS это большая редкость.

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


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

PyQt является более лучшим решением, чем DOM в JS.

Язык программирования, это инструмент, и выбирать его нужно разумно. В данном случае JS не является подходящим выбором. Особенно на фоне уже реализованного.
Если речь про работу в браузере, то у меня есть PWA-версия как раз на JS. Производительность работы с БД сильно страдает. Есть ли альтернатива SQLite.js чтобы добиться производительности сравнимой с реализацией движка на С/С++?

Ещё такой вопрос. У вас там используются


pyfirebirdsql 0.9.12 (for importing from Numizmat 2.1)
pyodbc 3.0.10 (for importing from Cabinet 2.0.2.0, 2011 and CoinManage 2011)
DBISAM ODBC-TRIAL 4.3 (for importing from Cabinet 2.0.2.0, 2011)
Visual FoxPro ODBC Driver, Microsoft Access Database Engine, Microsoft Access or any other
software with ODBC {Microsoft Access Driver (*.mdb)} (for importing from CoinManage 2011)

Они точно необходимы, с учётом того, что в основной программе уже используется QSqlDatabase, который содержит некоторое количество драйверов? Или это не так всё просто, как пишут в документации к Qt?

Не понимаю в чем плюс таких программ если есть Numista и Colnect. Единственный плюс, это то, что она оффлайновая, но давайте посмотрим правде в глаза, в наше время интернет есть везде.
А у онлайн каталога плюсов куда больше:
1) Все данный хранятся в облаке, не надо с собой таскать свою БД. С любого девайса который имеет доступ в интернет можно получить доступ к своей коллекции.
2) При добавлении новой монеты не надо вбивать всю инфу, нужно лишь найти монету в каталоге и поставить галочки.
3) Там же есть куча дополнительных плюшек для коллекционеров: обмены, обсуждения, статистика, много дополнительной инфы о монете, которую вы возможно сами не знаете и т.д. В общем много всего в одном месте.
Я далек от нумизматики как от балета… Но да, вынужден признать что в онлайн и облачные хранилища сейчас уходит почти все, кроме может совсем тяжелых приложений типа CAD, а уж табличку-то вывести вообще проблем нет.
Мне кажется некоторых людей напрягает, что сервис в любой момент может закрыться и результат их работы тю-тю
Этот момент я упомянул, но все же надо было раскрыть поподробнее. Недостатки Numista и Colnect в следующем:
1) у меня на даче и у людей «на копе» интернета почти нет, хотя тут и программа не очень нужна
2) в этих каталогах нет и, скорее всего, не будет античных монет и чешуи
3) информация о монете представлена не всегда корректно или не в том виде, сложно добавить свою, чтобы было возможно с ней работать
Античных монет это вроде таких? en.numista.com/catalogue/egypt-ancient-1.html
Посмотрите на их список древних стран, там много монет имеется: en.numista.com/catalogue/pays.php

Не скажу за Colnect, но на Numista нет никаких проблем отредактировать инфу монеты, если есть неточность. Модераторы довольно быстро все «апрувят».
Про Египет не скажу, но найти сходу отечественную денгу не смог (https://auction.conros.ru/lot/2230587/702/0/).
А можно на Numista получить весь интерфейс и описания на русском? А можно вывести только медную чешую, отсортировать по весу и распечатать? А с какого потолка берутся цены? А можно использовать для разновидностей штемпелей?
Представление в виде таблицы несет в себе массу возможностей, поэтому Excel так популярен.
Ну и как Вы сами упомянули, онлайновость несет в себе определенные риски.

Спасибо, прочитал с интересом.


Не уверен, но в статье не увидел ссылок на исходники или хотя-бы на сайт, пришлось искать самому:


OpenNumismat


source


Первое что бросилось в глаза — readMe в txt формате. Перевести в md будет совсем не сложно, а визуально станет намного лучше.


Пару вопросов:


Почему выбрали GPL-3.0 лицензию?
Чем обоснован выбор языка программирования?

Спасибо за интересный опыт.
Так же приходят письма от создателей нумизматических сайтов и электронных каталогов, которые пытаются произвести революцию, но заметных подвижек пока нет.
Можно раскрыть подробнее про революцию?
Например, CORPUS NUMMORUM — объединение официальных каталогов, архива аукционов, сайтов вроде Numista.
Так же есть работы по распознаванию фотографий монет и прочего антиквариата.
Автору, расскажите лучше как вы получали бинарник для установки пользователями? Python, matplotlib и пр. хорошо работают из консоли или на сервере, а когда надо получить exe-файл чтобы отдать клиенту — насколько это надежно и стабильно, и каков размер дистрибутива получается? (как я понимаю, в exe упаковывается весь интерпретатор питона целиком?)

Я писал бесплатный софт под Linux, но там все проще, пользователи устанавливают пакеты сами (git clone, pip и пр), способ не совсем для массового юзера :)

В ридми написано такое:


Deploying:
Run python setup.py build_exe
Compile setup*.iss with Inno Setup
Я использую cx_Freeze для создания .exe и сопутствующих файлов. Иногда ему нужно подкрутить конфиг при задействовании какой-нибудь большой библиотеки.
Для инсталляции — Inno Setup. Результат выглядит не отличимо от любого коммерческого софта.
Под Linux так же cx_Freeze и его результат упаковываю в deb-пакет.
Сколько времени ушло на разработку приложения?
Чистое время подсчитать не возможно, а разработку начал в 2011.
У меня отец коллекционирует монеты, но у него только Андроид-планшет и эта программа не подойдёт. Хотелось бы ещё, чтобы можно было камерой навести на монету и приложение определяло есть ли эта монета уже в коллекции или ещё нет. Но это наверное нереально сложно сделать.
Спасибо за статью, как раз искал нечто подобное. Может сообщество подскажет подобный софт
с подобным функционалом, но с более гибкой настройкой параметров коллекции. Дело в том, что я бы хотел упорядочить свою коллекцию, но это не коллекция монет.
Что может быть гибче софта с открытым кодом?
Можно посмотреть на Collection Studio. Но вообще OpenNumismat подходит даже для фиалок, и я сам собираю не монеты.
У всех этих приложений нет главного: автоматического ввода. Сфоткал монету или иной предмет коллекции, она автоматом распозналась, определилась её ценность и при необходимости была внесена в каталог. Думаю с таким приложением не расставались бы работницы касс метрополитена и прочие монетоводы.
Не сработает. Я, например, помню, что 2 рубля 1999 года редки и стоят денег. Сколько займет времени взглянуть на монету и узнать ее и сколько займет времени сфотографировать ее? Те кто этим занимаются хорошо знают что именно надо искать и просматривают монеты мгновенно без технических ухищрений.
Это не говоря о том, что в результате получится «пионерская» коллекция малой эстетической и финансовой стоимости.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории