xSkyFoXx, а как же генерация документации Swagger? Вообще, вероятно вы правы, потому что я пока плохо знаком с разработкой подобных систем. В конце-концов, мне действительно необходимо просто принимать данные от аутентифицированных пользователей и отдавать данные согласно уровню авторизации. Как я себе это представляю на данный момент:
-Запускается клиент
-Передаются данные о пользователе
-Делается запрос информации в формате JSON
-Заполняется модель
-Отображается информация на клиенте
Со стороны сервера:
-При аутентификации генерируется токен
-При запросе проверяется уровень доступа пользователя к информации (рассматриваю Flask-RBAC)
-Если все в порядке, производится выборка из базы нужной информации (вот тут я как раз и думаю, что нужно использовать сериализацию Marshmallow, что бы преобразовать выбранные из базы данные в формат JSON и присобачить туда гипермедиа) и отсылка её пользователю
Михаил Кобзарев, По поводу того, что написано в приведенной вами статье WordPress — это просто? Что за ...? С каких это пор сложность, это признак "хорошего" фреймворка? "Что проще выучить 100 методов или 1000 методов?" Это что, нормально, по вашему? Статья, в которой фигурируют подобные высказывания, с явным окрашиванием усложненности WP в положительный оттенок, это бред! Хорошо то, что ПРОСТО! Если для того, чтоб покрыть функционал, у вас существует 1000 методов, а у конкурента - 100, это значит только одно, у вас ГОВНО, а не архитектура. Я ничего не имею против WP, но то, что вы "Рекомендуете" подобные сблевы, у меня вызывает просто дикое горение...
Terras, Так-то официально Qt объявили недавно, что сделают Python версию. Так что в неопределенном будущем - не порт, а официальная версия. Это раз, два, если хочется быстро и красиво, то не нужны никакие Электроны - протоны, есть QML. Хочешь шустрой работы - пиши бэк на плюсах, не хочешь, обрабатывай все в JS, в чем проблема? При этом построение интерфейсов на QML - просто сказка. У вас, как мне кажется, синдром утенка (хотя и обратного я не исключаю).
PMoysak, Вообще, у Qt просто божественная документация. Вот тут ПОЛНОСТЬЮ описан класс QSqlDatabase Все что тебе нужно тут есть, просто почитай. Туториалы, это, конечно, хорошая штука, но не такая как доки.
PMoysak,
Смотри, в правом файле, я коннекчусь к базе SQLite3, в левой - MySQL. Тут надо понимать разницу в этих базах. SQLite - просто файл валяющийся на диске, а вот MySQL - демон, который крутится в системе и слушает определенный порт. Если для доступа к SQLite (Не шифрованного), при подключении надо указать только путь к файлу, то для MySQL необходимо указать ряд параметров подключения, таких как IP адресс, имя схемы в БД и т.п. Так вот, смотри на код на скриншоте, видишь строчку db = QSqlDatabase::addDatabase ("QSQLITE", DATABASE_HOSTNAME); ? Я создаю новое подключение к базе, первый параметр - тип базы, второй - имя твоего подключения, оно может быть любым, в моем случае это строка - "LocalDB", потом, по этому имени можно удалить соединение или обратиться к нему из других мест кода, но задать ты его можешь хоть "AZAZALALKA". Посмотри на левый участок кода - там я сначала задаю параметры для подключения к MySQL, а потом только делаю db.open(), в правом же, просто проверяю наличие файла базы и потом указываю путь к нему в db.setDatabaseName (path), затем db.open().
Посмотри в примерах. Там есть для подключения к SQLite3. Вообще, обычно так определяются макросы. В данном случае, в DATABASE_HOSTNAME просто строка с нужным тебе параметром. Вообще, как по мне, так плохая привычка из Си.
sim3x, серверная часть для обслуживания клиентской части =) Я описал задачи в ответе ниже, не хочу дублировать информацию, посмотри пожалуйста там. Вообще, проектирую для прохождения предприятием сертификации, а там как пойдет, может на продажу поставят, но тут уже не моего ума дело=)
Если же плести паутину вокруг фреймворка, то какой будет предпочтительнее использовать и по каким причинам? (Да, я понимаю, что все зависит от целей. Цель - принимать даные от клиента по HTTP/WS, затем их обрабатывать и после верификации запроса производить некоторые действия с БД. Так же, веротяно, придется для оповещений и чата применять UDP Broadcast'инг, хотя, как я понимаю, можно держать соединение открытым и просто инициировать передачу данных от сервера-клиенту, ведь так?)
Скинул dll'ку установленной на сервере MySQL 5.7x64 - заработало... Хотя у меня работает с MySQL 5.5x32... чудеса... Дело, верно, в том, что версия драйверов тоже x64 и компилю MSVC17x64... Ладно, спасибо вам
Вообще, если нужна точность, придется переписывать метод fitInView(), иначе искажения гарантированны. Я так промучился несколько дней... Реализовывал аналог PixelGrid из Photoshop... В итоге удалось сделать, но только на высоких ( 768+) разрешениях.
Running Windows Runtime device detection.
No winrtrunner.exe found.
Cannot read /qtsqldrivers-config.pri: No such file or directory
Project ERROR: Library 'mysql' is not defined.
-Запускается клиент
-Передаются данные о пользователе
-Делается запрос информации в формате JSON
-Заполняется модель
-Отображается информация на клиенте
Со стороны сервера:
-При аутентификации генерируется токен
-При запросе проверяется уровень доступа пользователя к информации (рассматриваю Flask-RBAC)
-Если все в порядке, производится выборка из базы нужной информации (вот тут я как раз и думаю, что нужно использовать сериализацию Marshmallow, что бы преобразовать выбранные из базы данные в формат JSON и присобачить туда гипермедиа) и отсылка её пользователю