понедельник, 15 февраля 2010 г.

Странности JavaScript. Или это всё-таки JS особенности?

Сегодня набрёл на отличную подборку не сразу объяснимых странностей JavaScript. Например:

//1.
Number.MIN_VALUE > 0; // true or false?
//2.
typeof null; // what type?
null === Object; // true or false?
//3.
NaN === NaN; // true or false?
//4.
typeof NaN; // what type?


Как думаете, что каждая из строчек вернёт, хорошенько подумайте. А потом проверьте себя:

  1. true 
  2. object и false
  3. false
  4. number

На самом деле если подумать над этим, то есть вполне логическое объяснение на каждый из пунктов, но не все так сразу очевидно. Например, необычное поведение NaN — требование IEEE 754, общее для всех языков программирования. Необходимо чтобы типу Number можно было присвоить NaN, но при этом не был равен ничему другому. Так же, с логической точки зрения можно объяснить все вышеприведенные пункты, все были при здравом уме и памяти, когда разработчики закладывали такое поведение JS.

Кому интересно продолжение, есть целый сайт, посвящённый "странностям" JS - wtfjs.com

понедельник, 1 февраля 2010 г.

Google Reader научился отслеживать изменения на сайте без RSS-потоков

Как стало известно, Google Reader, веб-сервис от гугла, для управления RSS-потоками, научился отслеживать изменения даже на тех сайтах, которые лишены RSS-каналов.

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

Сейчас поддерживается только англоязычный контент в HTML-формате, обновление содержимого фреймов не распознается, понятное дело.

Если вы не хотите, чтобы агрегатор Google Reader мог "сканировать" вашу страницу таким образом, а только через существующие RSS-каналы, то вы можете поставить в заголовке страницы следующий текст:

<meta name="googlebot" content="noarchive">

Гугл рулит, всё лучше и лучше их сервисы, скоро станут монополистами во всех отраслях web-сервисов.

Рекоммендую

Попробуйте надёжный хостинг от Scala Hosting