17 ноября 2019 г. 9:07

MySQL

QIBASE, mysql, драйвер, MariaDB

Доброго времени суток!

Установлено:
Windows 10 x64
Qt 5.13.0 установлен в с:\Qt\
Сервер БД работает на ОС Linux.
mysql Ver 15.1 Distrib 10.3.18-MariaDB, for Linux (x86_64) using readline 5.1

9 ноября 2019 г. 5:52

PyQt5

QTableWidget, PyQt5

Это будет небольшое обновление урока по использованию QTableWidget в PyQt5

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

Приложение будет выглядеть следующим образом

9 ноября 2019 г. 2:42

QML

Custom Button QML, QML, Custom

По просьбе одного из пользователей обновляю один из первых уроков в соответствии с актуальным состоянием Qt. А именно, новый урок будет написан с использованием Qt Quick Controls 2.

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

6 ноября 2019 г. 5:36

Qt

Qt, allocator, thread, performance

В первой части этой серии статей рассматривался аллокатор пула, оптимизированный для небольших выделений. Разработчики рассказали, что многое делают в Qt, выделяя экземпляры QEvent или QObject, и специализированный аллокатор может быть полезен и для их приложений. Пока что решения разработчиков Qt будут распределять целые страницы памяти по мере необходимости и раздавать фрагменты данных фиксированного размера, который указывается во время компиляции через параметр шаблона. Он поддерживает различные модели потоков, с различными компромиссами в отношении производительности, эффективности памяти и параллелизма. Разработчики получили очень многообещающие результаты, превзойдя аллокаторы общего назначения в 3-10 раз в многопоточных тестах.

Однако, с помощью аллокатора, который может обрабатывать только один размер блока и никогда не возвращает память обратно операционной системе, у разработчиков все еще есть путь, прежде чем они смогут реально поддерживать сценарии использования QEvent и QObject в Qt. Невозможно просто израсходовать библиотеку впустую и забрать память, или попросить разработчиков приложений реализовать оператор new/delete, чтобы иметь возможность выделять экземпляры своих больших подклассов.

Но прежде, чем задуматься о том, чтобы добавить больше сложности, разработчикам нужно подумать о тестировании. Об этом и будет эта статья.

4 ноября 2019 г. 5:15

QML

Qt, QML, Signal, Slot, cpp

Данная статья является наиболее полным описанием сигналов и слотов в QML по сравнению со всеми предыдущими статьями на этом сайте.

В этой статье я попытаюсь объяснить следующее при работе с Qt/QML + Qt/C++:

  • способы объявления сигналов и слотов, также вызываемых методов в C++ классе, который будет зарегистрирован в QML слое
  • способы подключения к сигналам классов объявленных в C++ в качестве контекста
  • работу с Q_PROPERTY, который также требует наличия сигналов и слотов
  • способы соединения сигналов и слотов в QML
  • и т.д.
3 ноября 2019 г. 4:03

Django

ESNF-C, Django, model_cached_property, EVILEG

Для ускорения работы сайта помимо оптимизации запросов к базе данных можно использовать и кэширование.

Django позволяет выполнять кэширование:

  • отдельных view , как Class Based View , так и обычных функций view
  • целых шаблонов или их частей
  • целых QuerySet
  • а также свойств объектов моделей с помощью cached_property

Меня интересовала возможность кэширования отдельных свойств объектов моделей для тяжёлых вычислений или тяжёлых запросов к базе данных.
Таким фукционалом обладает декоратор cached_property , но недостаток для меня заключался в том, что кэширование происходило лишь на период жизни объекта.
Тогда как мне требуется кэширование на больший период времени, чем существование объекта при запросе страницы. А также мне требовалось кэширование свойств в зависимости от входных аргументов. Данный декоратор на сайте кэширует количество лайков и дислайков, а также информацию о том, лайкнул ли текущий пользователь тот или иной объект контента.

Таким образом был написан декоратор model_cached_property

27 октября 2019 г. 4:56

Django

Google, reCAPTCHA, EVILEG, CORE, ESNF-C

Это будет первая статья по использованию набора устоявшихся утилит, которые присутствуют в ядре сайта EVILEG. Эта часть программного кода сайта находится в open source, поэтому хочу рассказать о том, какой функционал присутствует в данной батарейке и как его использовать.

Начну с использования Google reCAPTCHA , и что требуется, чтобы быстро внедрить данный функционал.

27 октября 2019 г. 4:55

EVILEG

ECNF-C, Django, EVILEG, Releases, Python

Представляю новый выпуск EVILEG-CORE 0.0.5.

22 октября 2019 г. 5:06

Qt

Qt, thread, performance, allocator

Код, на котором основана эта статья, находится в стадии разработки, с различными коммитами на рассмотрении в теме «Аллокатор». Обратите внимание, что в коде используются различные функции C++17.

Несколько месяцев назад разработчики Qt Company работали над исправлением того, как QHostInfo отправляет результаты вызывающей стороне, что привело к небольшой оптимизации того, как выделяется память для аргументов в QMetaCallEvent. Разработчики используют объекты этого типа в соединениях сигнал/слот с очередями, и некоторое время, проведенное в этом коде, напомнило, что в Qt есть схема размещения довольно маленьких, недолговечных объектов в куче, а также в производительности критического пути кода.

Поэтому они стали задаваться вопросом, можно ли разместить экземпляры QEvent из выделенного пула памяти, используя специальный аллокатор.

22 октября 2019 г. 1:39

Django

django-silk, performance, Django

Последнее время я посвятил много времени оптимизации сайта и теперь хотелось бы рассказать об этом.
В данной статье будет объяснено использование методов select_related и prefetch_related в QuerySet, а также их различие. Также постараюсь объяснить почему Django считают медленным, и почему это всё-таки не так. Конечно Django по многим статьям медленнее, чем тот же Flask, но в тоже время в большинстве проектов проблема заключается не в самом Django, а скорее а в отсутствии опттимизации запросов к базе данных.

Поэтому давайте оптимизируем страницу форума сайта EVILEG . А поможет нам в этом батарейка Django Silk, которая служит для измерения количества запросов к базе данных, а также измерения их длительности.

Donate

Здравствуйте, уважаемые пользователи EVILEG !!!

Если сайт вам помог, то поддержите разработку сайта финансово, пожалуйста.

Вы можете сделать это следующими способами:

Спасибо, Евгений Легоцкой

P
19 ноября 2019 г. 14:23
Pan

C++ - Тест 001. Первая программа и типы данных

  • Результат:100баллов,
  • Очки рейтинга10
P
19 ноября 2019 г. 14:20
Pan

C++ - Тест 001. Первая программа и типы данных

  • Результат:66баллов,
  • Очки рейтинга-1
О
18 ноября 2019 г. 15:54
Оксана

C++ - Тест 005. Структуры и Классы

  • Результат:66баллов,
  • Очки рейтинга-1
Последние комментарии
D
19 ноября 2019 г. 16:00
Django_lover

Привет! Пытаюсь освоить создание чата по вашей статье, сделал все как написано. Пока что результат такой (см. на прикрепленные скрины). Подскажите, пожалуйста, почему такой внешний вид и вдруг м…
P
19 ноября 2019 г. 14:10
Pan

Здравствуйте. Спасибо за статью. Сделал перевод программы. Все работает. Только я делал не динамический, но это пока и не надо. Но с одной проблемой все же столкнулся. В прог…
v
19 ноября 2019 г. 11:26
vintorez10

Разобрался!!! Надо было не архив качать а exe файл и его уже распаковывать в нужную папку)))
v
19 ноября 2019 г. 10:19
vintorez10

Ребята а что если папки "Source" в архиве opencv нет? Скачал три варианта библиотеки ни в одном нет этой папки.
c
18 ноября 2019 г. 6:27
cyberaxe77

Моих знаний пока явно недостаточно, чтобы писать статьи. Так...небольшие заметки "на полях"))).
Сейчас обсуждают на форуме
19 ноября 2019 г. 8:10
Intruder

Михаил, добрый день. Без разницы в дизайнере создается форма или не в дизайнере. Как вы добавляете в QTabWidget? Нашел видеоурок и по нему все сделал. Все получилось. QtabWidg…
19 ноября 2019 г. 7:22
Евгений Легоцкой

Ну тогда создайте, пожалуйста, потом новую тему на форуме с тем кодом, а то мы с вами в оффтоп ушли, здесь немного не о том было обсуждение.
19 ноября 2019 г. 6:18
BlinCT

Спасибо за идею. Сейчас попробою.
19 ноября 2019 г. 2:36
BlinCT

Всем привет. Если кто дебажил qml часть подскажиет пожалуйста, какие настрйоки требуются в Qt Creator? Я собирал 5.12.5 из исходников, в Настройкс в debugger у меня выставлен путь к со…
EVILEG
О нас
Услуги
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB