Рубрика «qt»

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

Preview документов в программе на Python - 1

Почему-то естественным решением подобных задач обычно считают запуск MSWord с именем файла в командной строке. Но этот способ, мягко говоря, не слишком безопасен — в doc-е могут быть макросы, или это может быть вообще не doc, а специально приготовленный взломщиком файл. Поэтому лучше использовать специальный объект просмотра, реализованный в Офисе. Он более защищен, так как ничего другого, кроме просмотра документа, делать не умеет.

А если мы не будем ограничиваться одним форматом doc, тогда в качестве бонуса получим возможность просмотра вложенных документов в других форматах, для которых в Windows зарегистрированы стандартные просмотрщики.

Забегая вперед — всё получилось с помощью PyWin32. Правда, неожиданно в процессе пришлось скомпилировать свой пакет для поддержки нужного COM-интерфейса, но обошлось без жертв.
Читать полностью »

Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS. В данной статье речь пойдет об использовании датчиков устройства под управлением Sailfish OS.
Читать полностью »

Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS.  В этот раз речь пойдет о разработке приложения для отсчета дней до события (например, до выпускного, Нового Года или Дня Рождения), выбранного пользователем. К каждому событию пользователь может добавить описание и записать аудиозаметку. Начнем статью с описания пользовательского интерфейса, а затем разберем работу приложения.
Читать полностью »

В рамках одного из своих проектов я решил сделать сделать асинхронное шифрование.

Вся работа была разбита не несколько этапов:

  1. Генерация ключей
  2. Чтение и загрузка ключей
  3. Шифрование одной строки
  4. Расшифровывания одной строки
  5. Шифрование текста произвольной длинны
  6. Расшифровывание данных произвольной длинны

image
Читать полностью »

Продолжаем анализ архитектуры мобильных кроссплатформенных инструментов. Сегодня на повестке дня фреймворки Xamarin и Qt. Напомним, что в первой части мы рассмотрели общие архитектурные паттерны кроссплатформенных фреймворков, а также архитектуры PhoneGap и ReactNative.

Архитектуры ReactNative, Xamarin, PhoneGap и Qt. Часть 2 - 1
Читать полностью »

Дорогой друг, если ты готов узнать больше про архитектуры популярных кроссплатформенных мобильных фреймворков, именно в этой статье мы проведем их сравнение и определим, для какого класса задач или команд подходит тот или иной инструмент. В первой части рассмотрим общие архитектурные паттерны кроссплатформенных фреймворков, а также архитектуры PhoneGap и ReactNative. Во второй части — фреймворки Xamarin и Qt.

Архитектуры ReactNative, Xamarin, PhoneGap и Qt. Часть 1 - 1
Читать полностью »

В предыдущей серии я пытался сделать из мухи разумное существо. Коротко — не вышло. Муха упорно не хотела учиться.

Цветы, муха и хорошо отрепетированное случайное машинное обучение - 1

Мухой была маленькая простая нейронная сеть, основанная на умножении матриц, сигмоиде и обратном распространении ошибки. Её учение состояло в распознавании фотографий с цветами.

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

Обучение проходило кое-как, результата не было. Затем, оставив попытки обучения по уважительным причинам (как то — вечер субботы, ночь и утро воскресенья), я все же думал, что делать дальше. Какие-то возможные решения были намечены в конце первой статьи, с них и продолжил.
Читать полностью »

В качестве программы выходного дня мне захотелось поиграться с как бы «нейронной» сетью (спойлер — в ней нет нейронов). А чтобы потом не было мучительно больно за бесцельно прожитые годы часы, я подумал, что зря мы его кормим, пусть пользу приносит — пусть заодно эта сетка разберет домашний фотоархив и хотя бы разложит фотографии цветов в отдельную папку.
Как отличать птиц от цветов. Или цветы от птиц - 1

Самая простая сеть

Самая простая сеть нашлась в статье "Нейросеть в 11 строчек на Python" (это перевод от SLY_G статьи "A Neural Network in 11 lines of Python (Part 1)", вообще у автора есть еще продолжение "A Neural Network in 13 lines of Python (Part 2 — Gradient Descent)", но здесь достаточно первой статьи).

Краткое описание сетки — в этой сети есть ровно одна зависимость — NumPy.
Множество входов рассматривается как матрица $X$, множество выходов — как вектор $y$. В оригинальной статье сеть умножает входную матрицу, размерностью (4 x 3), на матрицу весов входов $syn0$ (3 x 4), к произведению применяет передаточную функцию, и получает матрицу слоя $l1$ (4 x 4).
Читать полностью »

Ранее мы уже писали как устроено тестирование КОМПАС-3D и про автоматизацию тестирования интерфейса КОМПАС-3D, сегодня расскажем про тестирование BIM-системы Renga.

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

Что такое Renga

Renga Architecture — архитектурно-строительная BIM-система, разработанная Renga Software (совместное предприятие компаний АСКОН и 1С), для создания внешнего облика здания, информационной модели, быстрой компоновки чертежей. Ее пользователями являются архитекторы, проектировщики и конструкторы.

Как устроено тестирование BIM-системы Renga - 1

Подробнее о семействе продуктов Renga (Осторожно маркетинг!)

Renga Architecture – система для архитектурно-строительного проектирования. Программа создана для максимальной помощи проектировщику в решении его задач: создание архитектурного облика здания, информационной модели и быстрая компоновка чертежей согласно стандартам СПДС и многое другое.

Renga Structure — cистема для проектирования конструктивной части зданий/сооружений. Программа для инженеров-конструкторов и проектировщиков по созданию информационной модели здания или сооружения и получению чертежей марок КР/КЖ/КЖИ/КМ/АС.

Семейство продуктов Renga предназначено для проектирования по технологии BIM. Высокая производительность систем позволяет работать с большими проектами без видимого снижения качества работы с 3D-моделью:Читать полностью »

В последнее время на программистских форумах развернулись неслабые дискуссии (для примера см. здесь, здесь и здесь, и эта сегодняшняя) об Electron и его влиянии на сферу разработки десктопных приложений.

Если вы не знаете Electron, то это по сути веб-браузер (Chromium) в котором работает только ваше веб-приложение… словно настоящая десктопная программа (нет, это не шутка)… это даёт возможность использовать веб-стек и разрабатывать кросс-платформенные десктопные приложения.

Самые новые, хипстерские десктопные приложения в наше время сделаны на Electron, в том числе Slack, VS Code, Atom и GitHub Desktop. Необычайный успех.

Мы писали десктопные программы десятилетиями. С другой стороны, веб только начал развиваться менее 20 лет назад, и на протяжении почти всего этого времени он служил только для доставки документов и анимированных «гифок». Никто не использовал его для создания полноценных приложений, даже самых простых!
Читать полностью »