Как стать автором
Обновить
22
0
Егор Егоров @egorF

Программист

Отправить сообщение

QtWebApp — пошаговый разжёванный пример с подробными комментариями

Время на прочтение13 мин
Количество просмотров27K


В процессе разработки приложения на Qt, может понадобиться добавить в данное приложение веб-интерфейс, что особенно может быть актуально при разработке встраиваемых систем с использованием Qt. Для решения данной задачи можно либо написать собственное решение, либо воспользоваться готовыми решениями. Например, библиотекой QtWebApp, которая предоставляет необходимый функционал для создания web-интерфейса.

К достоинствам данной библиотеки можно отнести:
  1. формирование страниц с динамическим содержанием по шаблонам;
  2. формирование полностью динамических страниц;
  3. работу с Cookie, что позволит добавить авторизацию на приложении;
  4. работу со статическими файлами, например, style.css или изображения;
  5. реализацию загрузки файлов.

Предлагаю подробно рассмотреть один из вариантов запуска небольшого приложения на Qt, которое будет иметь несколько web-страниц, работающих с применением библиотеки QtWebApp.

На момент написания статьи изначально использовалась библиотека QtWebApp 1.6.3 и Qt 5.6. Проект успешно был запущен с комплектами сборки MSVC2013 и MinGW. В процессе отладки был замечен баг в классе Template библиотеки QtWebApp. После исправления бага и связи с разработчиком версия библиотеки была повышена до 1.6.4. Исходя из этого, можно отметить также плюс библиотеки, что разработчик ответил в течение суток на информацию о баге, и в тот же день версия библиотеки была повышена. Окончательный вариант примера приложения был подготовлен на версии 1.6.4.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии7

Фильтр Калмана — Введение

Время на прочтение5 мин
Количество просмотров259K
Фильтр Калмана — это, наверное, самый популярный алгоритм фильтрации, используемый во многих областях науки и техники. Благодаря своей простоте и эффективности его можно встретить в GPS-приемниках, обработчиках показаний датчиков, при реализации систем управления и т.д.

Про фильтр Калмана в интернете есть очень много статей и книг (в основном на английском), но у этих статей довольно большой порог вхождения, остается много туманных мест, хотя на самом деле это очень ясный и прозрачный алгоритм. Я попробую рассказать о нем простым языком, с постепенным нарастанием сложности.
Читать дальше →
Всего голосов 157: ↑151 и ↓6+145
Комментарии50

Захват видео с USB камер на устройствах под управлением Linux

Время на прочтение7 мин
Количество просмотров37K

Предыстория


Некоторое время назад я загорелся желанием “улучшить” танк из известного набора “Танковый бой”, добавив возможность играть, как «если бы я был водителем танка». Идея появилась после прочтения нескольких статей на Хабре (например здесь: geektimes.ru/post/257528), в них же я нашел, как это можно сделать имея маленький WiFi-роутер и USB-камеру. Решение выглядело подкупающе простым: роутер прошивается специальной прошивкой, к нему подключается камера, танк управляется родным пультом, а видео смотрится в браузере. Быстро собрав прототип, я обнаружил, что видео захватывается в отвратительном качестве. Это было либо 320х240х30, либо 640х480х30. При включении режима 1280х720 в лучшем случае было рваное видео с артефактами, в худшем — его не было вообще. Режим 1920х1080 не работал в принципе. Меня это сильно расстроило, так как на PC камера поддерживала режимы вплоть до 1920х1080х30 и имела аппаратное MJPG сжатие. Моя интуиция подсказывала, что реализация далека от совершенства.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии12

OEM-активация Windows Vista/7/8/8.1 под гипервизором QEMU

Время на прочтение6 мин
Количество просмотров196K
OEM-версии ОС от Microsoft, начиная с Vista, используют проверку подлинности, основанную на сличении трех компонентов:

  • OEM-сертификата, вшитого в дистрибутив ОС
  • бинарного ключа, вшитого в BIOS, а конкретно — в таблицу ACPI SLIC
  • лицензионного 25-значного ключа производителя, вшитого в дистрибутив ОС

При успешном сличении трех этих компонентов происходит оффлайн-активация ОС. На корпусе ПК в этом случае имеется наклейка, содержащая лицензионный ключ конкретного экземпляра ОС (а не производителя), которым можно произвести онлайн-активацию ОС в случае ее установки не с образа, предоставляемого производителем ПК, а с «чистого» (MSDN) OEM-образа от Microsoft.

Кроме того, лицензионный ключ конкретного экземпляра ОС может быть вшит в текстовом виде в BIOS, в таблицу ACPI MSDM. В этом случае, при установке ОС ключ будет извлечен из BIOS и вшит в конкретный экземпляр ОС. OEM-наклейка на корпусе ноутбука в этом случае может уже не содержать лицензионный ключ. Такой способ используется для активации Windows 8/8.1
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии22

MS-DOS, который мы никогда не видели

Время на прочтение10 мин
Количество просмотров228K
Порой встречаются такие артефакты природы, что начинаешь невольно задумывать о разных конспирологических теориях и альтернативной истории. Сегодня я хотел бы поговорить о разных малоизвестных и не очень аспектах операционной системы MS-DOS. Историй про дос на хабре было огромное множество: краткие очерки, подробная хронология, мемуары ностальгирующих, но никто ни разу не отмечал про MS-DOS 4.0 от 1985 года. Я считаю это очень важным звеном развития операционных систем для IBM PC, но удивительно мало информации о таком важном переходном этапе. Это буквально утерянная ветка доса и найти про нее информацию большая проблема. Что бы вы подумали если бы услышали о поддержке в DOS вытесняющей многозадачности, виртуальной памяти, свопа, семафоров и IPC. Фантастика?
Читать дальше →
Всего голосов 197: ↑192 и ↓5+187
Комментарии73

Пилотируемая посадка космического аппарата

Время на прочтение4 мин
Количество просмотров55K
Всем доброго времени суток, насыщенным у нас выдался прошлый месяц. Сначала старт корабля «Союз ТМА-11М», потом спуск «Союза ТМА-09М», и на десерт, старт корабля «Прогресс М-21М» по 4-х суточной схеме стыковки со сближением с МКС на 2-ые сутки полета на очень небольшое расстояние. Так как основная моя работа это обеспечение спусков космических аппаратов, в этой статье я расскажу об особенностях организации завершения пилотируемых программ на примере крайней посадки (“олимпийского” Союза ТМА-09М).
Читать дальше →
Всего голосов 103: ↑101 и ↓2+99
Комментарии64

Почему балансирует бухгалтерский баланс?

Время на прочтение7 мин
Количество просмотров28K
image

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

Сейчас я коротко и по возможности доступно объясню, что бухгалтерский баланс такое и с какой стати ему балансировать.
Читать дальше →
Всего голосов 62: ↑50 и ↓12+38
Комментарии60

Коррекция духовности интернет-трафика

Время на прочтение3 мин
Количество просмотров67K
За десятки тысяч лет существования, человечество сформировало великое множество религиозных, философских и мировоззренческих учений. Однако с бурным развитем естественных наук в последнюю сотню лет, в обществе появилась и укрепилась тенденция все наблюдаемые явления пытаться описать в материалистических терминах, не принимая во внимание духовную сторону вопроса.

В мире IT не принято относиться всерьез к нематериальному, но всем известна шутка про сисадминов, настраивающих сервер при помощи нло или шаманского бубна. И очень многим, кто имел дело с достаточно большими и сложными системами, встречалась ситуация, когда некие явления невозможно объяснить в терминах физических процессов.

дальше - интереснее..
Всего голосов 143: ↑118 и ↓25+93
Комментарии43

Веб-патология: Сайт для себя, а не для клиентов

Время на прочтение2 мин
Количество просмотров1.9K
Довольно часто в консультациях по UX дизайну приходиться повторять одно и тоже многим клиентам и меня это слегка нервирует. Поэтому я решил периодически кратко публиковать наиболее популярные темы, в наивной надежде, что люди их прочитают и эти темы не будут возникать так часто. Что-то вроде Лебедевского “Ководства”. В моём случае это получается какое-то UX-водство, что по русски забавно читается как “уховодство”. Логически верное название этой предполагаемой серии статей — “Частые патологии UX дизайна”, что можно сократить до “Веб-патологии”. Не бойтесь страшного слова “патология”, оно означает всего лишь систематическое отклонение от нормального развития и в целом безвредно.

Многие компании относятся к созданию собственного сайта, как к обустройству собственной квартиры. Скрупулёзно подбирают рисунок обоев, цвет паркета, ткань для штор, форму люстры, расставляют иконки, развешивают картины охоты и портреты глав семейств с пойманным лососем. Русский стиль на кухне, арт-деко в гостиной, супрематизм в спальне. Заботливо приоткрывают страницы семейных альбомов на серванте и протирают от пыли все три тысячи томов романистов прошлого века (чтобы гостям было что почитать). После того как всё готово, происходит открытие сайта и первые посетители банковского сайта тихо сползают по стенке…
Читать дальше →
Всего голосов 98: ↑57 и ↓41+16
Комментарии48

Разработка привлекательных реалистичных пользовательских интерфейсов

Время на прочтение4 мин
Количество просмотров15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →
Всего голосов 212: ↑205 и ↓7+198
Комментарии49

Добавляем рекламные баннеры iAd в ваши приложения для iPhone

Время на прочтение7 мин
Количество просмотров35K
В апреле этого года во время презентации новой операционной системы iOS 4 (бывшая iPhone OS) Стив Джобс также представил и новую платформу компании Apple для мобильной рекламы – iAd. По заверению Apple, их главная задача — дать возможность заработать разработчикам бесплатных и недорогих приложений за счет размещения в последних рекламных баннеров. Оплата будет идти как за показ рекламного баннера, так и за клики по нему. Во втором случае оплата будет существенно выше.

Основная идея iAd – соединение интерактивности, которую дает использование смартфона или планшета, с эмоциональностью рекламного объявления, в котором задействованы и аудио, и видео. Для этих целей при создании рекламы используются Java Script, HTML5, CSS3 и мультитач. Все это позволяет создавать интересные и привлекающие внимание рекламные ролики-приложения. Примеры таких реклам мы могли видеть на презентации новой операционной системы (на английском языке).

Основной проблемой мобильной рекламы сегодня, по мнению Apple, является то, что кликая по рекламному баннеру, пользователь покидает приложение – переходя, чаще всего, на сайт рекламодателя. С помощью iAd мы можем обойти эту неприятность. После клика по баннеру рекламное объявление появляется поверх вашего приложения. Пользователь может в любой момент закрыть его и вернуться в ваше приложение точно в тот момент, в котором он его покинул.

На основе iAd Programming Guide и видео с WWDC 2010 я набросал краткий обзор-перевод этой новой технологии. Речь пойдет не о создании самих красочных рекламок, а именно о размещении таковых в ваших приложениях.

Читать дальше →
Всего голосов 66: ↑41 и ↓25+16
Комментарии23

Ebay. Украина. О таможне и пересылках

Время на прочтение5 мин
Количество просмотров65K
О работе с Ebay написано много. Зачастую русскоязычные ресурсы описывают российские реалии и большая часть написанного применима к Украине, однако есть нюансы, на которые стоит обратить внимание.
Читать дальше →
Всего голосов 126: ↑119 и ↓7+112
Комментарии135

WebMoney Keeper Mini Extension

Время на прочтение1 мин
Количество просмотров2.3K
image
В связи с постоянно растущей популярностью браузера Google Chrome, а также для многочисленных пользователей WebMoney, хочу представить почитателям этого браузера полезное расширение для WebMoney Keeper Mini. Судя по счетчику загрузок на странице установки, о нем еще знают единицы…

Читать дальше →
Всего голосов 42: ↑28 и ↓14+14
Комментарии29

NSA публикует историю компьютеров, используемых в агентстве до 1964 года

Время на прочтение1 мин
Количество просмотров1.6K
image
Одно из самых закрытых американских секретных агенств NSA (National Security Agency) раскрыло книгу об истории самого раннего использования компьютеров внутри агентства до 1964 года. То есть там рассказывает о том, как создавались и использовались ATLAS, ранние машины от IBM и UNIVAC.
Ссылка на материал: http://www.governmentattic.org/3docs/NSA-HGPEDC_1964.pdf
Текст довольно крупный (чуть больше 100 страниц), но очень полный и интересный. Советую.
PS: Например интересно почитать как была устроена память у машины ABNER: на акустических волнах в ртути.
Всего голосов 37: ↑34 и ↓3+31
Комментарии22

Я разрежу тебя на тайлы. Часть первая

Время на прочтение5 мин
Количество просмотров11K
image Несмотря на все мои попытки к исправление ситуации с технологиями загрузки данных на карту, люди все продолжают и продолжают работать по старинке, загружая либо все данные вьюпорта при малейшем движении карты, либо просто загружая все данные вообще.
Покуда метры направления растеризует маркеры в картинки, строят супер системы группировок и кластеризаций и дрожат над каждым лишним килобайтом в скриптах, давайте я расскажу самый простой, стабильны, и банальный способ сделать жизнь свою, своих пользователей, своих карт и своего сервера чуть прекрасней.
Как будет сказано чуть позже покорение карт состоит из 5ти шагов.
Первый из них это загрузка карты( не все так просто как думается ), а вот второй — это загрузка на эти самые карты данных.
Он то нам и интересен.
Читать дальше →
Всего голосов 60: ↑43 и ↓17+26
Комментарии11

Год с Roomba

Время на прочтение6 мин
Количество просмотров198K

Около года назад мне довелось стать счастливым обладателем iRobot Roomba 564 pet, с тех пор он исправно несёт боевое дежурство на просторах нашей 4-х комнатной квартиры по схеме: 4 раза в неделю (минимум). Намедни, мои руки наконец добрались и до него, я решил досконально почистить «борца за чистоту», а заодно провести фотосессию и рассказать Хабру о некоторых особенностях обслуживания сего зверя.
Надеюсь, что топик поможет вам выбрать оптимальный для себя робот-пылесос, а я приложу максимум усилий, что бы поведать — какие подводные камни ожидают Вас в пылесосах Roomba.

Осторожно!
Под катом много фото разобранного пылесоса, шерсти и чуть-чуть плавленой пластмассы.

Читать дальше →
Всего голосов 177: ↑170 и ↓7+163
Комментарии177

Освобождаем свободное место на жестком диске: WIMBoot

Время на прочтение12 мин
Количество просмотров72K
Сегодня стационарные компьютеры начинают медленно уходить на задний план. Их место прочно занимают ноутбуки, а затем идут и планшетные компьютеры. Сочетание мобильности, высокой производительности и высокой скорости получения информации – все это является несомненным плюсом планшетов. Однако, и своя ложка дегтя у планшетов есть: это малый размер жестких дисков. Если диск 16, 32 и даже 64 ГБ, вовсе не хочется разбрасываться ценным пространством на установочные файлы. С выходом Windows 8.1 Update появилось решение этой проблемы – WIMBoot – новый способ установки ОС, обеспечивающий большее свободное пространство для пользователя.


Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии19

Один крутой Gist: whiteboardCleaner

Время на прочтение1 мин
Количество просмотров30K
Доброго времени суток уважаемые хабравчане. На просторах интернета мне повстречался один миниатюрный и очень интересный Bash скрипт. С помощью ImageMagick он потрясающим образом обрабатывает фотографии белой учебной доски, очищая «содержимое» от всего лишнего:

#!/bin/bash
convert $1 -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 $2


До:


image

После:


image
Читать дальше →
Всего голосов 137: ↑122 и ↓15+107
Комментарии42

Автоматизируем щелчки мышкой в Linux: xdotool

Время на прочтение4 мин
Количество просмотров48K
Эта очень короткая заметка на примере активации ключей в Steam описывает процесс автоматизации операций, выполняемых при помощи мыши и клавиатуры.

Допустим, вы купили несколько наборов игр Humble Bundle. Теперь у вас есть, например, 5 ключей для активации в Steam. А может быть 15 или даже 25. Вы очень не хотите активировать их вручную, потому что это слишком муторно: в клиенте Steam нужно каждый раз наводить курсор на меню «Games», щёлкать, потом наводить курсор на пункт меню «Activate a Product on Steam…», опять щёлкать, потом нажимать Enter, потом ещё раз Enter, и только затем наконец-то вводить ключ (а потом нужно подождать, ещё раз нажать Enter, затем Escape). А потом повторять то же самое для каждого последующего ключа. Как писал Леонид Каганов, стоило ли вообще ради такого «прогресса» спускаться с пальмы и брать в руки каменный топор?

В общем, вы решили этот процесс автоматизировать — тем более, что задача-то, на самом деле, очень простая. Для её решения нам потребуются консольные утилиты xdotool и xclip — убедитесь, что они установлены у вас в системе.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии15
1

Информация

В рейтинге
Не участвует
Откуда
Warszawa, Mazowieckie, Польша
Дата рождения
Зарегистрирован
Активность