Архив за 14 апреля 2013

Доброго времени суток, дорогой читатель! Я хочу рассказать, как интегрировать программу на новомодном языке QML с веб-ресурсами.

Сам по себе, QML — это декларативный JavaScript-подобный язык программирования, который входит в фреймворк Qt. Разработчики Qt настроены серьезно и продвигают его как основной инструмент создания интерфейсов. Более того, достаточно много вещей можно сделать не прибегая вообще к C++, в том числе и возможность работы с веб-серверами.

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

Учитывая, что в Qt 5.1, альфа версия которой вышла на этой неделе, включена начальная поддержка Android и iOS, эта тема может быть особенно интересна тем, кто присматривается к Qt или активно ее осваивает. В этой статье я расскажу, как можно организовать работу с веб-ресурсами из приложения на QML на примере API ВКонтакте.

На всякий случай отмечу, что я рассматриваю последнюю стабильную версию Qt 5.0.2. В более ранних версиях каких-то возможностей может не быть.
Читать полностью »

Из всех файловых менеджеров ДИСКо Командир мне нравится больше всего. Вопрос «почему?» к данному посту не имеет отношения, так что останавливаться на этом я не буду. К сожалению, у этого файлового менеджера отсутствует некоторая функциональность, которая бы мне очень не помешала. Например, он не умеет подсвечивать файлы разных типов разными цветами. Попробуем это исправить!

Раскрашиваем файлы в ДИСКо Командире

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

Project Unity: 15 игровых консолей в одной или играем в «теплые ламповые игры»
Эта вот громадина — объединенная система из 15 игровых приставок.

Некоторые умельцы разрабатывают весьма практичные устройства или дорабатывают существующие гаджеты, представляя обновленные проекты. Другие создают нечто почти невероятное, но не очень практичное. Ко второму типу мастеров-моддеров относится умелец с ником Bacteria. Этот человек потратил 3 года и 3500 человеко-часов на создание своего проекта объединенной игровой консоли.

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

Во время проведения пекинского Форума Intel для разработчиков компания Intel продемонстрировала свою флагманскую системную плату для процессоров Haswell, DZ87KL-75K, об этом мы уже писали. Однако ассортимент материнских плат на базе чипсетов восьмой серии только ею не ограничивается — Intel предложит потребителям также модели DH87RL, DH87MC, DH85FL и DQ87PG. Спецификации этих изделий уже появились в Сети.

НАСА разработало систему навигации для межзвёздных перелётов

Около двухсот лет (до изобретения радионавигации) мореплаватели измеряли высоту Солнца и Луны с помощью секстанта. Информации от двух объектов достаточно для вычисления точных координат в пространстве.

Сейчас специалисты НАСА применили тот же принцип для разработки системы глобального позиционирования в космосе. Вместо Солнца и Луны космический модуль NICER/SEXTANT будет определять направление на нейтронные звёзды, координаты и траектории которых известны довольно точно. У каждого из 2000 известных пульсаров — своя частота вращения и напряжённость магнитного поля, что и позволяет создать космический аналог системы GPS.
Читать полностью »

Так случилось, что в короткие сроки появилась необходимость перевезти 70 человек с аналоговыми телефонами из одного бизнес центра в другой. Ситуация усугублялась тем, что в новом офисе у владельца не было аналоговых портов в АТС, а АТС в старом принадлежала телефонной компании. Пришлось в короткие сроки внедрять IP телефонию с переносом всех аналоговых городских линий на Asterisk. Поставка оборудования была назначена на день предшествующий дню переезда, что означало — времени на развертывание телефонии будет очень мало.

Что из этого вышло под катом.
Материала много, так что не пугайтесь.
Читать полностью »

Светомузыкальный подарок любимой своими руками

Речь пойдет об устройстве очень простом в изготовлении (даже для начинающего электронщика-любителя), но при этом крайне интересном и полезном — электронной «музыкальной шкатулке». Также, в качестве примера, я покажу и расскажу об одном из возможных воплощений и применений этого девайса — про последний сделанный на его основе подарок своей девушке.
Читать полностью »

В данном небольшом посте я бы хотел поделиться своими мыслями насчёт скорости работы скриптов/программ, которые мы с вами пишем каждый день и обратить внимание на то, сколько «невидимой» работы совершается при выполнении привычных действий.

Выполнение SQL-запросов

Все знают, что работа с SQL обычно является одной из самых медленных компонентов любого сайта. Есть ли какие-то объективные причины для этого? Действительно ли базы данных такие медленные и срочно нужно переходить на NoSQL :)? Давайте посмотрим.

Создадим тестовую табличку в MySQL и наполним её 1 млн записей:

Код на PHP!

<?php
mysql_connect(...) or die("Cannot connectn");
mysql_select_db(...) or die("Cannot select DBn");

mysql_query('CREATE TABLE IF NOT EXISTS `one_million` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `one` int(11) NOT NULL,
  `two` int(11) NOT NULL,
  `three` int(11) NOT NULL,
  `four` int(11) NOT NULL,
  `five` int(11) NOT NULL,
  `six` int(11) NOT NULL,
  `seven` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB') or die("Cannot create tablen");

for ($i = 0; $i < 1000000; $i++) {
if ($i % 1000 === 999) echo "Done $in";
mysql_query('INSERT INTO one_million VALUES(NULL, ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ', ' . rand() . ')');
}

// Да, код не использует batch insert, а также использует устаревшее, но до сих пор работающее расширение mysql

Давайте теперь выполним какой-нибудь простенький запрос, который прочитает нам 1 млн записей:

SELECT COUNT(*) FROM one_million WHERE three = 333

На моем компьютере запрос выполнился за 200 мс! Таким образом, можно заключить, что InnoDB в состоянии просмотреть около 5 млн записей за 1 секунду! Давайте подумаем, где же на веб-сайтах может потребоваться просматривать столько записей на одну страницу :)? На моей прошлой работе я принудительно выставил ограничение в 20 000 просмотренных строк на все SQL-запросы, и после вычищения всех «тормозных» мест время открытия страницы упало в 5 раз!
Читать полностью »

Понятие PostPC ввел в обиход Лу Герстнер в конце девяностых годов прошлого века, но тогда о наступлении новой эры говорили лишь немногие специалисты и компьютерные фанаты (любители истории могут почитать старые публикации). Идея заменить настольные машины мобильными устройствами проникла в массовое сознание позже, с легкой руки Стива Джобса.

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

Пара слов о книге «Professional TDD with C#»

Хотел бы сказать пару слов о книге Professional Test Driven Development with C#. Выбрать книгу по популярным технологиям и техникам программирования не так сложно. На каждом форуме написано, что если хочешь познать .NET – не обойтись без Рихтера. Сложнее с менее популярными темами. Итак, TDD…

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