Pull to refresh
72
0
Vasiliy Sorokin @Vass

C++ Developer

Send message

Qt Developer Conferences

Reading time 1 min
Views 1.3K
С радостью спешу поделится новостью, что не зависимо от того, спохватится Nokia или нет, в Европе и в США пройдут мероприятия, сопоставимые по масштабу и формату с Qt Developer Days.

А Именно, в Европе компания KDAB в середине ноября в Берлине проведет Европейскую Qt Developer Conference



И в США в Кремниевой Долине компания Integrated Computer Solutions Inc. 5-7 декабря проведет Северо-Американскую Qt Developer Conference



Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Comments 17

Релиз GCC-4.7

Reading time 1 min
Views 4.7K
Сегодня ночью вышел долгожданный GCC 4.7, выпуск которого приурочен к 25-летию проекта.

Долгожданным этот выпуск является прежде всего для программистов C++, так как несет с собой обширную поддержку нового стандарта С++11.
Наиболее заметные нововведения
Total votes 66: ↑61 and ↓5 +56
Comments 33

Создаем DatePicker аналогичный стандартному в Harmattan

Reading time 10 min
Views 7.4K
Некоторое время назад в рамках конкурса на лучшую статью о Qt, я разработал компонент TimePicker и написал о нем статью. Мало того, в комментариях, я говорил о том, что следующим компонентом будет DatePicker. Несколько дней назад я закончил его.

Для тех кто не читал предыдущую статью поясняю: не все компоненты используемые Nokia в своих приложениях на Harmattan свободны, некоторые из них не включены в Qt Components для MeeGo, а некоторые заменены суррогатами, картинка слева — оригинал, картинка справа — предлагаемый разработчикам суррогат компонента DatePicker.
Описание процесса разработки
Total votes 35: ↑33 and ↓2 +31
Comments 3

Создаем TimePicker аналогичный стандартному в Harmattan

Reading time 5 min
Views 3.6K
Этот пост участвует в конкурсе „Умные телефоны за умные посты


Слева на картинке вы можете увидеть, как выглядит TimePicker (компонент настройки времени) в стандартных приложениях MeeGo Harmattan от Nokia. А справа TimePicker из MeeGo Qt Components (Extras), который предлагается разработчикам для использования. Различия на лицо.

Определенно, становится ясно, что существует некая несправедливость, потому что используемый Nokia компонент недоступен разработчикам сторонних приложений, несмотря на то, что он более красив и функционален. Честно говоря, на мой взгляд, это лучший вариант TimePicker'а, который я видел.

Итак, ниже я покажу, как реализовать такой компонент самому, и вы убедитесь, что все относительно просто.
Читать дальше →
Total votes 54: ↑42 and ↓12 +30
Comments 4

Читаем и пишем NFC Tag на MeeGo Harmattan

Reading time 14 min
Views 13K
Этот пост участвует в конкурсе „Умные телефоны за умные посты

Введение


Что такое NFC?

Если верить Википедии, NFC(Near Field Communication) — это технология беспроводной высокочастотной связи малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии около 10 сантиметров.

Существует три наиболее популярных варианта использования NFC технологии в мобильных телефонах:
эмуляция карт — телефон прикидывается картой, например пропуском или платежной картой;
режим считывания — телефон считывает пассивную метку (Tag), например для интерактивной рекламы;
режим P2P — два телефона связываются и обмениваются информацией.

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

О чем рассказ?

Я буду рассказывать не только о методах работы с NFC, но и о пользовательском интерфейсе разработанной мной специально для этой статьи программы. То есть в процессе чтения вы пройдете полный путь создания приложения для работы с NFC Tag для MeeGo Harmattan.

Оглавление




Qt Ambassador
UPDATE: Сегодня, 20.12.2011, пришло письмо, что приложение приняли в Qt Ambassador
UPDATE: Прошла ночь и проект был опубликован в программе: Qt Ambassador Showcase

Очень много текста и кода
Total votes 44: ↑33 and ↓11 +22
Comments 6

Qt Developer Days 2011, Munich

Reading time 1 min
Views 608
QtDD2011На прошлой неделе в Мюнхене прошло главное событие года для всех, кто работает с Qt Framework. Это мероприятие дает возможность разработчикам со всего мира встретиться в одном месте и получить самую свежую информацию о новых возможностях и векторе развития фреймворка, а также повысить свою квалификацию, благодаря непосредственному общению с разработчиками. Я составил краткий отчет о моем посещении этой конференции. Прочитать его можно в моем блоге: Qt Developers Day 2011. Munich. К сожалению администрация хабра напрочь выпилила возможность создавать топики-ссылки, так что я рискую нарваться на неприятности, ну и пофиг :) Читайте кому интересно.
Total votes 29: ↑26 and ↓3 +23
Comments 2

Новое имя среди мобильных платформ: Tizen

Reading time 1 min
Views 2K
Сегодня было объявлено об объединении двух известных но не добившихся популярности мобильных linux-based платформ: LiMo и MeeGo

Новый проект будет называться Tizen. Платформа будет находится под крылом Linux Foundation, как всегда сообщается, что платформа будет полностью открытой… но мы то знаем…

На данный момент известно, что основной платформой для разработки приложений будет HTML5. Однако будет предоставлен NDK для native девелоперов, что оставляет надежду на поддержку Qt Framework в этой новой системе.

Также известно что Intel AppUp будет принимать приложения для новой платформы.

Чтож, король умер — да здравствует король!
Будем наблюдать, что из этого получится.
Total votes 59: ↑55 and ↓4 +51
Comments 73

QtCreator TODO Plugin. Продолжение

Reading time 5 min
Views 5.4K
TODO Plugin

Некоторое время назад я писал о разработанном мною плагине отображающем список все TODO, FIXME и т. д. комментариев в текущем открытом документе. Вчера я выпустил новую версию этого плагина, в которой получилось довольно много изменений, вот ключевые из них:
  • Появились настройки
  • Теперь можно добавлять свои ключевые слова для поиска и задавать цвет и иконку их вывода.
  • Можно выбирать куда выводить информацию: в стандартное окно «Build issues» или в отдельное «TODO Output».
  • Можно выбирать: попрежнему выводить информацию только о текущем открытом файле или собирать информацию со всего текущего проекта.
  • Комментарии на языках отличных от английского теперь отображаются корректно.

Во время разработки удалось накопать несколько интересных вещей, которые могут пригодится другим разработчикам плагинов, чем и поделюсь под катом.
Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Comments 14

TODO Plugin для QtCreator

Reading time 9 min
Views 8.9K
Итак, уже давно уважаемый Евгений писал нам о хаках QtCreator, а также указывал в своем блоге документ с подробной инструкцией по созданию плагина. И вот на этих выходных, будучи на даче, оторванным от цивилизации и интернета, я решил попробовать написать свой плагин. Плагин достаточно прост, он выводит список все TODO, FIXME и т. д. комментариев в текущем открытом документе. Ниже я расскажу про то, как написан этот плагин, и вообще про написание плагинов для QtCreator.
TODO Plugin

Узнать как написать свой плагин
Total votes 43: ↑40 and ↓3 +37
Comments 30

История одного бага или как я ZIP паролил

Reading time 4 min
Views 7.2K
Это история личного опыта, опыта поиска бага в чужом, старом, неподдерживаемом коде.
Все начиналось как обычно, передо мной стояла простая на первый взгляд задача: сделать упаковку файлов в текущей папке в ZIP архив с определенным паролем на C++/Qt, казалось бы что может быть проще?
Естественно, первый помощник это Google, он и подсказал что существует две Qt библиотеки для работы с ZIP архивами:
QuaZIP и OSDab ZIP, помимо всего, сам Qt поддерживает методы qCompress и qDecompress для упаковки.
Мною было выяснено что методы мне мало подходят, потому что они умеют лишь жать поток, все заголовки и шифрование на совести разработчика. Этот путь был слишком долог и от него я отказался сразу и обратил свое внимание на библиотеки.
OSDaB ZIP пришлось отбросить сразу, не смотря на то, что это отличная библиотека, ее код распространяется только под лицензией GPL, мне же нужно было встроить функционал в проприетарное приложение. К счастью QuaZIP оказался с двумя лицензиями GPL и LGPL. На нем я и остановился. Особо не вникая в его устройство, я набросал простейший класс для работы ним и начал тестировать.

узнать продолжение истории
Total votes 134: ↑127 and ↓7 +120
Comments 34

Qt Developer Network

Reading time 1 min
Views 1.6K
image
Не многие знают, да и на Хабре это еще не освещалось, что Nokia готовит новый сервис для Qt-разработчиков, называется он Qt Developer Network. Сейчас он находится в стадии закрытой беты, там мало что есть на данный момент, но все же ниже я немного расскажу про него.
Читать дальше →
Total votes 53: ↑49 and ↓4 +45
Comments 30

Тренинг по MAEMO. День 1

Reading time 7 min
Views 1.5K
23 марта прошел первый день тренинга по MAEMO, который состоялся в здании НИВЦ МГУ им. Ломоносова в Москве.
В этот день были рассмотрены следующие темы:
  • Введение в MAEMO. Обзор устройств и версий.
  • Рабочее окружение. Обзор IDE.
  • Введение в GTK
  • Введение в Hildon

Предисловие


Сначала расскажу об организации тренинга.
На входе традиционно всем выдали бейджи. А также диск с необходимым ПО, документацией и презентациями.
Были перерывы на кофе-брейк. Кофе хоть и растворимый, но один из лучших. Также чай, минералка и традиционные печеньки.
Обед в программу тренинга не входит, впрочем про обед расскажу позже, это отдельная тема.
Тренинг проходил по следующей схеме, первые две вводные темы, потом GTK, потом Hildon и задание на самостоятельное выполнение, далее снова про некоторые особенности Hildon и MAEMO и опять задание.

А теперь по пунктам
Total votes 29: ↑18 and ↓11 +7
Comments 16

Qt 4.7.0 Tech preview & QtCreator 2.0 alpha

Reading time 2 min
Views 975
Сегодня вышел Qt 4.7.0 Tech preview, предварительная версия для людей желающих как можно скорее ознакомиться с новшествами Qt (такими как Qt Quick), Окончательный же релиз Qt 4.7.0 планируется на середину этого года.
Основные нововведения
Total votes 45: ↑39 and ↓6 +33
Comments 9

Авторизация по протоколу OAuth на примере Desktop Twitter-клиента

Reading time 6 min
Views 25K
Потребовалось мне тут написать некий кроссплатформенный Twitter-клиент с закрытым исходным кодом, не спрашивайте зачем мне это надо, работа у меня такая, деньги я за это получаю. Что логично, языком разработки был выбран С++ с использованием Qt.
Сам API Twitter'a прост как кирзовый сапог. Но! Есть такая важная штука как авторизация, и тут есть два пути, старый — аутентификация посредством HTTP Headers и новый — использование протокола OAuth. Старый метод прост, также как и само API, но, к сожалению, он не безопасен, и самое главное команда Twitter'a предупреждает, что откажется от него в конце июня сего года. Поэтому остается второй метод OAuth. Надо сказать, что данный протокол используется не только в Twitter, но поскольку я писал Twitter-клиент, и рассматривать мы будем на примере Twitter'a.
и как же это сделать?
Total votes 43: ↑36 and ↓7 +29
Comments 33

Разработка собственной Файловой модели (вместо QDirModel и QFileSystemModel)

Reading time 8 min
Views 8.5K
В этой статье я расскажу о создании собственной файл модели в Qt. Сразу скажу что модель создавалась под конкретную задачу и не планировалось для широкого использования, так что в ней может и не быть того что вам хочется. Еще хочется добавить что опыт программирования на С++/Qt у меня не столь велик, поэтому вполне готов к комментариям типа: «Ваш код г%вно».

Теперь о том, а зачем собственно...


Известно что в Qt 4 есть две встроенных модели работы с файлами:
QDirModel и
QFileSystemModel.

Однако, эти модели очень медленно работают с большим количеством файлов.
QDirModel так вообще безобразно, у второй дела получше, но даже если сравнивать с виндовым проводником, то все равно отвратительно. Как показало исследование профайлером, при каждом запросе к содержимому папки идет очень долгое ожидание мутекса.

Поэтому было принято решение написать собственную файл модель с блекджеком и шлюхами избавленную от всего лишнего и максимально быстро работающую.
Желающим читать далее...
Total votes 17: ↑15 and ↓2 +13
Comments 8

Разбор опций командной строки в UNIX-подобных системах

Reading time 7 min
Views 38K

Введение


Одной из важных задач любой программы, будь она консольной или графической является интерпретация аргументов командной строки. Формально аргументами называются все слова в командной строке(в том числе и имя самой команды) разбитые разделителем (как правило, это пробел и табуляция), кавычки же позволяют включать разделители в аргументы.
Аргументы можно подразделить на опции и операнды. Опции изменяют поведение программы или предоставляют ей дополнительную информацию. У опции могут быть свои аргументы, которые являются информацией необходимой только для этой опции.
Продолжим здесь
Total votes 82: ↑74 and ↓8 +66
Comments 34

Information

Rating
Does not participate
Location
Ярославская обл., Россия
Date of birth
Registered
Activity