Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 6, 2017 04:03:14

rick
Зарегистрирован: 2017-06-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

py.user.next
Займись лучше чем-нибудь полезным для себя самого.
Скажем так, это и есть хобби. Взялся я за этот проект, но видимо не ожидал, что он окажется на столько сложным, хотя по сути-делов то. Логин форма, форма работы с БД и шаблоны заполняемые из БД.
doza_and
А html это полный цикл. Сервер + генерация отчетов + javascript для проверки полей + СУБД для хранения данных. Наверное для новичка это перебор.
С подобным я работал несколько раз и это мне кажется почему то муторным.

В общем время идет, пора бы уже решиться в каком направлении копать…



Находчивый питон проглотил двух разнополых кроликов.

Офлайн

#2 Июнь 7, 2017 02:26:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

rick
Взялся я за этот проект, но видимо не ожидал, что он окажется на столько сложным, хотя по сути-делов то. Логин форма, форма работы с БД и шаблоны заполняемые из БД.
Если Skype возьмёшь какой-нибудь, он тоже просто выглядит для пользователя, буквально старушки могут им пользоваться, но внутри-то там всё сложно, куча оптимизаций для передачи звука и видео при слабом интернет-соединении, что и сделало его популярным во всём мире (до него было много подобных программ, но все они требовали скоростного интернет-соединения).

rick
Логин форма
Это просто интерфейс для ввода текста, она ничего не проверяет сама. Её функция - взять текст и передать его аутентификатору, который дальше работает в невидимом режиме. И вот он уже соединяется с базой учётных записей, анализирует пару логин-пароль и возвращает результат. А результат уже передаётся авторизатору, который знает, как повысить права пользователя (перевести клиента в состояние “пользователь вошёл”). И то, даже это обычно разделяется по MVC модели, которая обеспечивает инкапсуляцию компонентов, чтобы можно было их менять в любое время независимо друг от друга. Если тебе нужно полностью поменять способ аутентификации, то авторизация после успешной аутентификации никак не затрагивается и, наоборот, если тебе нужно полностью поменять способ авторизации, аутентификация остаётся незатронутой и работает, как прежде.

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

Просто запусти
watch ping -c1 yandex.ru
Я больше десяти лет на лине, а про программку watch узнал недавно, когда смотрел ролик вроде бы ни про что сисадмина одного. Он просто использовал её где-то в конце, чтобы что-то посмотреть.

man watch
AUTHORS
The original watch was written by Tony Rems ⟨rembo@unisoft.com⟩ in
1991, with mods and corrections by Francois Pinard. It was reworked
and new features added by Mike Coleman ⟨mkc@acm.org⟩ in 1999.

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

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



Отредактировано py.user.next (Июнь 7, 2017 02:52:47)

Офлайн

#3 Июнь 7, 2017 11:47:38

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2842
Репутация: +  186  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

> Но у нас контингент не немолодые тетеньки, а немолодые дяденьки, привыкшие километрами листинги программ читать .

Во… а ты попробуй тётю предпенсионного возраста заставить в редакторе csv вбивать.

> Пример использования latex

Вот только эта pdf-ка кривой получается. Открыл их пример в окуляре и Evince везде формы работают неадекватно. К тому же такой подход проблему не решает. Я должен сказать - “заполни форму для контрагента Вася Пупкин” и он кроме ФИО должен поставить все данные из СУБД.

> Займись лучше чем-нибудь полезным для себя самого.

ИХМО эта задача не такая и сложная.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Июнь 7, 2017 12:31:46)

Офлайн

#4 Июнь 7, 2017 14:02:24

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

Rodegast
ИХМО эта задача не такая и сложная.
Для нас-то не сложная, но он-то не знает ни Python, ни PyQt, ни SQLite и, самое главное, он не знает, что надо алгоритм построить, что без алгоритма ничего само не напишется и не свяжется воедино (обычные мысли новичков в программировании вообще). И на это всё накладывается отсутствие мотивации, потому что самому ему эта программа нафиг не нужна, он делает её не для себя, а для каких-то тётенек, которые всю эту работу всё равно не оценят. Они ему ещё скажут потом “ты нам там много чего не дописал, а должен был, если уж взялся”. Я через эту хрень проходил в студенчестве, когда одногруппнице практически бесплатно сделал работу несколько часовую, а она потом ещё претензии предъявляла к качеству, не понимая, что если бы она это заказала в специальной фирме, которая такими вещами занимается, у неё бы просто денег не хватило это оплатить даже в перспективе. Получил урок, теперь считаю, что тётеньки должны работать как лошади, чтобы ценить как труд, так и зарплату за него.

Так что он собрался без реальной мотивации писать программу, не зная четырёх компонентов, которые необходимо знать (Python, PyQt, БД, построение алгоритмов). Да даже больше, ещё надо будет изучить Git :) - пятый компонент, который за три дня не изучишь, чтобы более или менее использовать его.



Отредактировано py.user.next (Июнь 7, 2017 14:09:22)

Офлайн

#5 Июнь 7, 2017 14:26:14

rick
Зарегистрирован: 2017-06-03
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

py.user.next

py.user.next
но он-то не знает ни Python, ни PyQt, ни SQLite
с языком до этого работал только в консоли, а графическое приложение впервые строю. С Sqlite работаю впервые, но какие с ней могут быть проблемы, там просто указывать что куда писать и вытаскивать.
py.user.next
И на это всё накладывается отсутствие мотивации, потому что самому ему эта программа нафиг не нужна, он делает её не для себя, а для каких-то тётенек
Можно сказать, что это все моя инициатива, т.к. мне предложили делать все это в Делфи, инструмент конечно хороший, но мне он кажется страшным. Провел небольшой анализ предметной области и решил делать на осваиваемом языке Python.
Я взялся за этот проект, потому что самому интересно и надеюсь, что если у меня вознинут вопросы, то смогу рассчитывать на Вашу помощь.
py.user.next
Да даже больше, ещё надо будет изучить Git
И зачем мне может пригодиться Git? я ведь один этим занимаюсь.



Находчивый питон проглотил двух разнополых кроликов.

Отредактировано rick (Июнь 7, 2017 14:28:56)

Офлайн

#6 Июнь 7, 2017 14:43:33

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2842
Репутация: +  186  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

> но он-то не знает ни Python, ни PyQt, ни SQLite и, самое главное, он не знает, что надо алгоритм построить, что без алгоритма ничего само не напишется и не свяжется воедино

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



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Июнь 7, 2017 14:47:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

rick
Я взялся за этот проект, потому что самому интересно
Тебе самому зачем эта программа? Низачем. Вот и всё, вот и вся мотивация. Ты понимаешь, что придётся сидеть над каким-нибудь неважным окном целую неделю? Оно не будет получаться, но нужно будет его сделать, потому что без него никуда, хоть оно и мелкое какое-то. На третьем таком окне ты задашься вопросом “а нафиг я это делаю? ненужные окна ненужной программы”. Мы это всё проходили просто уже давным-давно. Ты думаешь, почему так много говнокода в сети (не только программы, но и сайты всякие, слепленные на коленке под ключ) - как раз потому, что жалко тратить время на проработку деталей, которые всё равно никто не воспримет, так как смотрят на внешнюю оболочку. И доработка потом такого кода, добавление фич к нему потом не работает, потому что некачественный код стопорит всё и отбивает всякое желание в нём ковыряться.

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

rick
И зачем мне может пригодиться Git? я ведь один этим занимаюсь.
Ну, ты решил что-то написать в программе и думаешь “а вдруг оно не получится?”, так вот чтобы копию программы целиком не складывать рядом для отката в случае чего, используется система контроля версий, в которой можно вернуться в любой момент разработки, а новые фичи или исправления багов делаются в новой ветке, которую можно удалить потом, если она не получилась. Обычно, конечно, она не удаляется, а оставляется, пока с неё некоторые полезные коммиты всё-таки не будут черрипикнуты или перенесены через diff и применение патча. Через месяц разработки программы ты уже забудешь, что там планировалось в начале, что там когда делалось, вот для этого и нужна история. А складывать копии не получится, потому что они будут не только место занимать, но и перемешаются в итоге, ты не сможешь потом помнить, что нового сохранено в такой-то копии относительно предыдущей копии. А в Git'е ты можешь разницу между версиями просто запросить через диапазон коммитов одной командой.


Rodegast
На мой взгляд не плохая тренировочная задача
Не, он её всерьёз собрался писать с получением обратной связи от тётенек. А обратная связь будет такая, что он не напишет и весь его затраченный труд учтён не будет, будут просто говорить, что он нифига не умеет. :) Ну, будет для него опытом и новым старым правилом “не берись за разработку чего-то, если не знаешь нужных технологий”.



Отредактировано py.user.next (Июнь 7, 2017 14:58:01)

Офлайн

#8 Июнь 7, 2017 16:40:33

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

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

Офлайн

#9 Июнь 7, 2017 23:02:56

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Разработка приложения средствами Python и PyQt с использованием СУБД sqlite.

rick
а графическое приложение впервые строю
Не факт что это графическое приложение. Если данные забиваете в exel а отчеты делаете в pdf то тут QUI особо и не нужен.
rick
С Sqlite работаю впервые, но какие с ней могут быть проблемы
:):):) Определитесь с требованиями. Сколько у вас будет данных сколько форм сколько пользователей. Какие типы запросов к данным, какая техника будет использоваться. Если требования невысокие то я обычно вообще не советую базами данных пользоваться (бывают задачи которые хорошо ложаться на запросы к СУБД но не всегда, даже скорее обычно плохо субд подходит).



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version