среда, 26 сентября 2007 г.

Социальный веб: “Мы уже на Марсе”.

Вслед за изобретением распределенных методов аутентификации, таких как OpenID сообщество закономерно озаботилось также и возможностью этих пользователей связывать разные свои ипостаси воедино, со всеми причитающимися хвостами типа списка френдов. Идея уже давно летает в воздухе, и даже реализована много раз, правда пока не в глобальных масштабах, а в рамках отдельных сервисов. Теперь сообщество, точнее было бы сказать "Те Же Лица", дошло до того чтобы собрать все эти наработки и выкатить стандарт.

среда, 29 августа 2007 г.

javascript.options.strict в Firefox

Дин Эдвардс написал о странных тормозах у некоторых пользователей, открывающих его сайт в Firefox, что лечилось отключением Firebug.
Причина была в установке опции javascript.options.strict в конфигурации Firefox (about:config).

Если эта опция включена, Firefox кроме серьезных ошибок в скриптах будет сообщать о возможных ошибках. Если при этом в консоли Firebug включена опция Show JavaScript Warnings, то эти сообщения вываливаются в консоль, что и порождает описанные тормоза.

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

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

пятница, 11 мая 2007 г.

Итерирование по свойствам объекта в JavaScript.

Любой объект в JavaScript может быть расширен в рантайме. Более того, прототип (свойство prototype) любого объекта может быть также расширен, что влечет за собой изменение свойств всех объектов, унаследованных от измененного. Все добавленные в объект либо в прототип объекта-предка свойства и методы будут видны при использовании for (name in obj) {...}.

четверг, 3 мая 2007 г.

JSON validation: the Schema By Example.

[lang_en]Есть по-русски
There are a lot of JSON data currently around, and virtually no standard means to validate it against a schema, the way everybody accustomed to in the XML world.

A fair number of proposals for a schema language occurred recently, and I'm going to add my 5 cents. The idea is that the schema should be expressed as JSON (no need to invent languages), and represent an example of a valid data structure of the data to be validated against. I call this "Schema By Example".[/lang_en]
[lang_ru]English version available
Формат JSON стал очень популярен в сфере обмена данными, но до сих пор пока не существует стандартных механизмов валидации, таких как схема, к каким люди уже давно привыкли, если имеют дело с XML.

Немало хороших предложений языка схемы для валидации JSON возникло в последнее время, и я хочу добавить к ним еще кое-что от себя. Моя идея в том, что схема должна быть описана в том же формате JSON (нет нужды изобретать новые языки), и представлять собой пример правильной структуры данных. По этому примеру и следует проверять действительность полученных данных. Назовем это "Схема по примеру".[/lang_ru]

вторник, 24 апреля 2007 г.

Интерфейс Python для Flickr API.

Некоторое время назад нужно было использовать Flickr API. Конечно, есть и готовые Python API для Flickr, но тут сработал синдром NIH и захотелось чего-то своего, понятного и простого. Публикую как иллюстрацию развития идеи от простого к усложнению, но не слишком сложному :) Опять же, как у меня часто получается, тут скорее не про Flickr, а про Python.

вторник, 17 апреля 2007 г.

Удаленная отладка приложений на Python в Eclipse с Pydev Extensions

Тем кто до сих пор не определился с тем, какой IDE для Python лучше всех, скажу, что лучший IDE — это Eclipse с плагином Pydev. Функции и вкусности перечислять не буду, скажу только что всё чего вам скорее всего захочется, в нем есть, и можно органично использовать все остальные прелести Eclipse, например интеграцию с системой контроля версий. Можете со мной спорить, но это мой блог, что хочу то и пишу :)

К базовому бесплатному Pydev также существует расширение Pydev Extensions, которое, кроме того что все-таки уже стоит денег — $42,5, на которые финансируется разработка "бесплатного" Pydev — хотя, по правде говоря, позволяет работать и бесплатно, только настойчиво напоминая о том, что хочет денег. Pydev Extensions дополняет базовый пакет некоторыми приятными возможностями, среди которых — возможность удаленной отладки. Под удаленной я имею в виду отладку во внешнем по отношению к Eclipse процессе. Он может работать как на той же машине, на которой работает Eclipse, так и на удаленной, "разговаривая" с Eclipse по TCP/IP. Простая отладка возможна и без использования Pydev Extensions.

пятница, 23 марта 2007 г.

ctypes: использование произвольных функций из библиотек на C из Python

Часто бывает, что хочется использовать функции из библиотеки на C, но для нее не написан модуль-обертка для Python, либо по какой-то причине нам не хочется использовать то что написано. Что ж, выход есть. Модуль ctypes (который включен в стандартную библиотеку Python начиная с версии 2.5, а до этого доступен в качестве стороннего модуля) позволяет нам вызывать практически что угодно откуда угодно.

понедельник, 22 января 2007 г.

OpenID & phishing, продолжение

Идею, описанную во вчерашнем посте, подхватил Дмитрий Шехтман.
Он значительно упростил ее, также добавив некоторые аспекты, о которых я до этого не подумал. Разберу его замечания, и добавлю кое-что от себя.

воскресенье, 21 января 2007 г.

OpenID & phishing

Если вы не в курсе, спецификация OpenID версии 2.0 уже в финальной стадии. Учитывая усиливающийся buzz, касающийся OpenID, мы скоро увидим очень много мест, где эту валюту принимают (я сам тоже собираюсь приложить к этому руку :).
Если вы не в курсе о чем речь, то дальнейшее будет довольно сложно понять :)

Постоянные читатели