Архив

Архив раздела ‘Статьи’

KVM

14 Декабрь 2010

Сбейте меня палками: до меня только что дошло, что KVM,- это аббревиатура Keyboard, Video, Mouse

Qt4: декомпиляция файла ресурсов rcc

13 Декабрь 2010

Некоторое время ковырял файл ресурсов, получаемого с помощью компилятора ресурсов rcc (Qt4). При помощи исходников компилятора удалось восстановил для себя структуру файла, может быть кому-то понадобится.

Читать далее...

, ,

Анимированный GIF для Ajax

25 Ноябрь 2010

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

  • AjaxLoad.info. Простенький, но шустрый сервис, для выбора есть пара десятковразличных индикаторов и возможность настройки цвета
  • loadInfo.net. Ещё одна вариация на тему, красивый, хотя и мрачноватый сайт, выбор тоже небольшой, есть возможность настройки цветов и выбор размеров (16x16, 24x24, 48x48).
  • preLoaders.net. Самый функциональный сайт, несколько типов картинок (горизонтальные, круговые, трёхмерные), есть возможность настройки цвета, настройки скорости анимации. Размеры рисунка можно выбирать произвольные. Сделано в России.

Пользуйтесь на здоровье!

,

ef bb bf – ползёт разметка в Django

10 Ноябрь 2010

Столкнулся с необъяснимым на первый взгляд явлением,- на одной из страниц Django'вского приложения необъяснимо разваливалась разметка страницы. Только на одной. Смотрю исходник страницы,- на первый взгляд всё в порядке, только какая-то чёрточка странная и посторонняя в самом начале HTML кода. Причём эта самая необъяснимая чёрточка видна далеко не во всех редакторах. В попытке вяснить причину добрался аж до просмотра в HEX,- оказалось, что там целые 3 байта EF BB BF, а не чёрточка. Остальное дело техники: эти байты,- признак ByteOrderMark. Осталось просмотреть все шаблоны, из которых генерируется страница, поскольку BOM может быть в любом из файлов, даже вложенном. У меня оказалось, что BOM присутствует в файле шаблона аж на третьем уровне вложенности шаблонов. Не забывайте проверять, в каком формате сохраняете файлы

, , , ,

RSS устарел?

26 Октябрь 2010

Всё чаще и чаще в последнее время вижу и слышу предложения "следить за новостями в твиттере". RSS, толком не успев набрать сок, умирает. От него просто все отвернулись,- устарел и перестал быть нужным. Читать далее...

, , ,

Как Skype зарабатывает деньги

27 Сентябрь 2010

Проверив импорт контактов из Outlook в Skype, обнаружил одну маленькую, но неприятную особенность,- импортированные из Outlook контакты невозможно удалить. То есть, все эти контакты с мобильными и городскими номерами будут болтаться у меня в списке вечно. Будут деньги на счету,- можно будет позвонить. Не будет,- будут мешаться. А удалить не могу. Вот так,- заработок денег в ущерб юзабилити.

,

Внешние скрипты для проекта Django

21 Сентябрь 2010

Несколько раз сталкивался с ситуацией, когда удобнее использовать скрипт вне методов проекта models-views. При этом хочется использовать объявленные в models классы. При написании такого скрипта "в лоб", пытливый программисткий ум обычно лицезреет ошибку:

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

Простой и не всегда удобный вариант,- добавить DJANGO_SETTINGS_MODULE в переменные окружения командной строки (умолчания для cmd.exe,- если в Windows или export в Linux\Unix). Ещё более короткий и переносимый способ,- сделать всё необходимое непосредственно в скрипте:

 
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
 

Имя myapp.settings,- это если скрипт лежит в папке на уровень выше, чем myapp/settings. Если в той-же папке,- то будет просто settings

, , ,

Отголоски чужой рекламы

23 Август 2010

На прошлой неделе началась реклама Мультифона по телевизору,- на сайте резко скакнула вверх посещаемость.
Большинство посетителей пришли из поисковиков по запросу "мультифон скачать". Надо сказать, что ролик у Мегафона получился вполне достойный:

А скачать Мультифон можно на официальном сайте www.multifon.ru на странице "Скачать"

, ,

Метод как свойство объекта в Python

18 Август 2010

Всё-таки Python красивый язык. Свойство объекта может быть определено как специальный метод экземпляра объекта. Практически это позволяет обращаться к свойству как по имени, так и с помощью метода (getter или setter, или и то и другое в зависимости от операции). Кроме того, такие обращения к методу позволяют при получении и установке свойств выполнять дополнительные операции, например изменять счётчик обращений к свойству объекта.

  1. class MyClass(object):
  2.    def get_a(self):
  3.       return self._a + 1
  4.    def set_a(self, value):
  5.       self._a = value - 1
  6.    a = property(get_a, set_a, doc="Off by one a")
  7.  
  8. # Python 2.6 style
  9. class MyClass(object):
  10.    @property
  11.    def a(self):
  12.       return self._a + 1
  13.    @a.setter #makes the property writeable
  14.    def a(self, value):
  15.       self._a = value - 1

,

API к Я.ру

4 Август 2010

Сначала вКонтакте открывает XMPP, теперь вот Яндекс запустил бету API к Я.ру. Гораздо интереснее не сама новость, а рассказ Ивана Сагалаева о том, как всё это делалось и устроено внутри. API сделано в соответствии с идеологией REST. Помимо собственно API сделан также сервис OAuth-авторизации для этого и других API Яндекса. В блоге яндекса есть даже пример кода на Python, реализующий смену настроения пользователя.

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

, , ,