Сигналы и слоты — подход, используемый в некоторых языках программирования и библиотеках (например, Boost и Qt) который позволяет реализовать шаблон «наблюдатель», минимизируя написание повторяющегося кода. Концепция заключается в том, что компонент (часто виджет) может посылать сигналы, содержащие информацию о событии (например: был выделен текст «слово», была открыта вторая вкладка). В свою очередь другие компоненты могут принимать эти сигналы посредством специальных функций — слотов. Система сигналов и слотов хорошо подходит для описания Графического интерфейса пользователя. Также механизм сигналов/слотов может быть применён для асинхронного ввода-вывода (включая сокеты, pipe, устройства с последовательным интерфейсом, др.) или уведомления о событиях. В библиотеке Qt благодаря Метаобъектному компилятору (англ.)русск. отпадает необходимость писать код регистрации/дерегистрации/вызова, так как эти шаблонные участки кода генерируются автоматически.
Наверное, каждый веб разработчик сталкивался с необходимостью в реализации поиска на сайте. Довольно распространенное решение — Apache Solr. В мире Drupal разработки это не исключение. Для интеграции Solr с Drupal и реализации фасетного поиска существуют модули search_api, search_api_solr и facetapi. Но в большинстве случаев нам бы хотелось, чтобы результаты поиска и фасетные фильтры обновлялись без перезагрузки страницы, то есть ajax'ом. И, как обычно в мире Drupal, на d.org найдется какой-нибудь проверенный временем и пользователями модуль (а может и не проверенный, как повезет), который делает то, что нам нужно. В данном случае это ajax_facets.
Не помню что и почему я искал в интернете несколько дней назад, но я наткнулся на интересную статью с необычными фотографиями. А позже на еще одну статью, где описывалась реализация алгоритма создания таких фотографий на python. После прочтения меня заинтересовала эта тема и я решил провести вечера майских праздников с пользой для себя, а именно реализовать алгоритм «конвертирования» видео в щелевое фото. Правда, не на питоне, но подручными средствами на bash'е. Но обо всем по порядку.
Некоторое время назад на Хабре была новость о Spritz — программной реализации техники скорочтения, основанной на быстрой смене слов в виджете с определенным центрированием самого слова внутри виджета, а чуть позже и другая новость. Так как тема довольно актуальная я, недолго думая, решил реализовать нечто подобное и универсальное, с возможностью встраивания такого виджета для скорочтения в программы на различных платформах (win, linux, mac, android). Исходя из этого условия был выбран Qt фрейморк с его широкой поддержкой различных платформ.
То, что получилось и как с этим работать описано ниже. Кому интересно, добро пожаловать.
Здравствуйте! Рад сообщить, что проект MouseTrack не канул в лету, а продолжает свое развитие. Кто не понял о чем речь: Статья №1 и Статья №2.
Со времени публикации проекта на code.google.com было сделано немногое (основное время — это учеба, предстоящая сессия, да и здоровье не позволяло много времени проводить за компьютером), а именно написана библиотека MouseTrackAPI.dll.
Летом этого года я опубликовал статью «Mouse Track — виртуальность становится реальнее (Статья №1)». Для тех, кому лень идти по ссылке и вникать: это перчатка-мышь, которую можно использовать вместо мышки. Водите рукой в пространстве — перемещается курсор на экране. Сгибаете пальцы/наклоняете кисть — выполняются команды, «повешенные» на каждый палец и наклон кисти.
Дело было в конце лета и дело шло к универу. Поэтому изготовление новой перчатки заняло приличный отрезок времени. Но все-таки я готов представить свой проект в завершенном состоянии и в открытом виде.
Здесь Вы можете узнать подробнее о проекте, из каких составляющих он состоит и вообще более детальную информацию.
Что нового?
Уменьшена плата перчатки
Дизайн перчатки существенно изменен
Доработана программа MouseTrack (добавлены «горячие клавиши» клавиатуры — быстрое вкл/выкл акселерометра, светодиода и клавиш перчатки + небольшие косметические изменения)
Жду от вас замечания и объективную критику.
Все пожелания и баги по работе программы и прошивки сообщайте на багтрекере проекта.
Данная статья не претендует на толкование как единственно возможного метода отображения и прокрутки информации на светодиодной матрице. Я с удовольствием выслушаю ваши замечания и предложения по улучшению метода/функций. Данная статья – изложение личного опыта и описание результата, которого я добился.
Немного теории
В данной светодиодной матрице находится 64 красных светодиода. Если выводить контакты каждого светодиода отдельно, то понадобится 64 контакта на корпусе матрицы и микроконтроллер с 65 цифровыми портами ввода/вывода. Это нецелесообразно и невыгодно. Поэтому на заводе-изготовителе светодиоды объединяют в матрицы различных размеров (в нашем случае 8х8), то есть в 8 групп по строкам и столбцам следующим образом:
Здравствуйте. Я расскажу о такой интересной программе как FreeTrack — программа для хэд трэкинга в компьютерных играх. Но сначала небольшая предистория.
Как-то просматривая видео на всем известном ресурсе YouTube наткнулся на интересный ролик. В нем мужчина с неизвестным девайсом на голове играл в авиасимулятор. Вроде бы ничего особенного, но я заметил, что поворачивая голову по сторонам взгляд в игре поворачивался в ту же сторону, что и голова. Немного полазив по интернету понял, что люди сами делают такие девайсы применяя специальную программу. Суть ее такова: имеется веб-камера и три (либо четыре светодиода), расположенные на рамке на некотором расстоянии друг от друга. Программа оценивает видео поток с камеры и в зависимости от положения точек в пространстве «двигает взгляд» в компьютерных играх. Тогда я подумал, что эту программу народ тоже сам пишет, прикинул КАК это сложно (особенно с моим начальным уровнем познания языков программирования) и забил как-то.
Здравствуйте. Сегодня я хочу поделиться с вами своим, не побоюсь этого слова, достижением. Я сделал необычную мышь. Это манипулятор в виде перчатки, имеющий 5 клавиш и акселерометр. Но обо всем по порядку. Сначала небольшая предыстория.