Мой профиль...

Search This Blog

Friday, July 9, 2010

Выдача со сдвигом в Яндексе

7-го июля Яндекс запустил у себя выдачу со сдвигом.
Выглядит это так:


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



Как работает Гугл - How-google-works

Friday, June 4, 2010

Миграция на php 5.3.x

Переход на PHP 5.3.x.


Устаревшие функции в PHP 5.3.x. Deprecated функции:


• call_user_method() - используем теперь call_user_func()
• call_user_method_array() - используем теперь call_user_func_array()
• define_syslog_variables() - по умолчанию и далее выключен
• dl()
• ereg() - используем теперь preg_match()
• ereg_replace() - используем теперь preg_replace()
• eregi() - используем теперь preg_match() с модификатором 'i'
• eregi_replace() - используем теперь preg_replace() с модификатором 'i'
• set_magic_quotes_runtime() / magic_quotes_runtime() - будут ликвидированы
• session_register() - используем суперглобальный массив $_SESSION
• session_unregister() - используем суперглобальный массив $_SESSION
• session_is_registered() - используем суперглобальный массив $_SESSION
• set_socket_blocking() - впредь используйте stream_set_blocking()
• split() - используем теперь preg_split()
• spliti() - используем теперь preg_split() с модификатором 'i'
• sql_regcase()
• mysql_db_query() - впредь используйте mysql_select_db() и mysql_query()
• mysql_escape_string() - впредь используйте mysql_real_escape_string()

E_DEPRECATED в php.ini

Кроме того, ряд директив в PHP.INI постигла такая же участь, они будут теперь выбрасывать E_DEPRECATED предупреждения при активировании:
• define_syslog_variables
• register_globals
• register_long_arrays
• safe_mode
• magic_quotes_gpc
• magic_quotes_runtime
• magic_quotes_sybase

Отключенные возможности

Так же больше не используются следующие возможности:
• Передача в переменную параметра по ссылке в new
• Вызов call-time (функцииб методы классов) по ссылке
• Использование {} для указания смещения внутри строки. Обращайтесь к строке как к массиву, используя []

Зарезервированные слова

Следующие 2 слова теперь являются зарезервированными:
• GOTO
• NAMESPACE

Временная зона

В новой версии PHP обязательно необходимо указать в конфигурационном файле php.ini параметр date.timezone иначе интерпретатор будет отображать Вам предупреждения при работе с любой функцией даты или времени. Например, можно указать так:
date.timezone = Europe/Kiev

Публичные методы

Начиная с 5.3 методы указанные ниже не могут быть статичными и обязаны быть публичными:
• __get()
• __set()
• __isset()
• __unset()
• __call()

Monday, January 11, 2010

Как перехватывают управление доменом



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

Всем владельцам настоятельно советую, все таки перепроверить работоспособность ящиков, во избежание утраты контроля над доменами.

Здравый смысл. Проектирование интерфейсов - Common sense. Designing Interfaces.

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


"Everybody lies"


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


В одном из университетов США группа психологов-исследователей предложили студентам бесплатно поучаствовать в промо-акции одного из институтских событий. Половина студентов согласились, другая половина - нет. Обеим этим группам студентов задали вопрос: "как вы считаете, сколько людей поступит также как и вы". Результаты были одинаковыми: студенты обеих групп высказали мнение, что на их взгляд большинство (~85%) других студентов поступят также как они. Таким образом все студенты ошиблись.


Подобная убежденность в собственной правоте часто приводит к недопониманию, что особенно сильно проявляется в личностных отношениях. Это наталкивает на мысль, что наши собственные умозаключения при проектировании интерфейсов с высокой долей вероятности окажутся ошибочными.


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


Простота


Алан Купер в своей книге "Психбольница в руках пациентов" приводит замечательный пример. "Ученый-компьютерщик Алан Карп говорит: "Практически все мои патентные заявки были отвергнуты как очевидные".


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


Нужно понять, что упрощение не является очевидным и тривиальным действием. Деятельность по упрощению (чего бы то ни было) является задачей и, порой, не очень простой. Это справедливо для большинства случаев и связано с составом необходимых действий по свершению упрощения.


Итак, чтобы совершить какое-либо упрощение (предмета или процесса), необходимо:


  1. Выяснить какую задачу решает предмет или процесс;
  2. Разобраться как устроен предмет или процесс;
  3. Вычленить наиболее важные составляющие, определить несущественные;
  4. Избавиться по возможности от большего числа несущественных составляющих, не повредив при этом важные;
  5. Придумать (творческий процесс) новый способ решения той же задачи меньшим числом составляющих.

Теперь мы можем дать ответ на вопрос, почему "очевидные" упрощения на самом деле таковыми не являются. Просто потому, что большинство никогда и не задумывалось о том, как это устроено и как это упростить.


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


Здравый смысл


Третьим узким местом в восприятии процесса разработки интерфейса является оперирование понятием "здравого смысла". Как я писал выше, бытует мнение (да что там бытует, я ведь раньше и сам разделял это мнение), будто разработка интерфейса основывается на здравом смысле.


Существует несколько определений понятию "здравого смысла". Мне больше всего нравится определение, данное в Википедии:


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

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


Кроме того, надо заметить, что даже общепринятые представления о здравом смысле не так распространены, как это принято считать. Об этом хорошо пишет Гарри Беквит в книге "Продавая незримое", приводя в пример рекламу автомобилей, которая, согласно здравому смыслу, должна быть направлена к их потенциальным покупателям. Однако реклама направлена вовсе не на них, а на дилерские сети (см. книгу "Пока простаки грезят").


Здравого смысла действительно очень мало вокруг. Люди склонны действовать вопреки своему опыту и вопреки здравому смыслу. Вот несколько примеров, которые, надеюсь, раскроют картину происходящего:


  • Здравый смысл говорит нам не есть фаст-фуд, но неспроста сети быстрого питания появляются, как грибы после дождя.
  • Здравый смысл протестует против перехода дороги в неположенном месте и на красный свет. Здравый смысл говорит нам не пить алкоголь и уж тем более не садиться за руль после него. Сводки происшествий, тем не менее, удручают.
  • 1,4% населения России состоит на учете по факту алкоголизма.
  • 39% населения России курит.
  • Вчера, на ночь глядя, я съел пачку вкусного попкорна. Надо ли говорить, что я прекрасно осведомлен не только о вреде позднего питания, но и о вреде самого попкорна?

Попробуйте понаблюдать за людьми в их повседневной жизни, вы увидите очень много отклонений от того, что мы называем "здравым смыслом". Через какое-то время наблюдений вас ждет одно неприятное открытие: вы сами не лучше.  Это действительно не очень приятно признавать (лично мне было не очень приятно), но это так. Кстати, ещё один эксперимент неуемных психологов показывает, что большинство людей (~84% опрошенных) считают себя лучше "среднестатистического гражданина".


Заключение


  1. То, что очевидно для вас, может быть совершенно не очевидно для других. Именно поэтому нельзя опираться исключительно на собственный опыт.
  2. Простые вещи делать сложно. Нужно явно или неосознанно пройти минимум 5 шагов на пути упрощения чего-либо.
  3. Здравый смысл - лукавый помощник. Следует помнить, что люди часто действуют вопреки здравому смыслу.

p.s. Замечания в комментариях приветствуются.

Релевантные посты...

Related Posts with Thumbnails