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

Search This Blog

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. Замечания в комментариях приветствуются.

Monday, December 21, 2009

Что такое ЧПУ? - HOWTO User Friendly URL?

Что такое ЧПУ?

ЧПУ (англ. User Friendly URL) — веб-адреса, удобные для восприятия человеком (а также систем и методов построения таких адресов). Является аббревиатурой от словосочетания «человекопонятный урл» (где «урл» — жаргонное обозначение URL).

Классический подход

Обычно параметры запроса (например, ID нужной страницы) передают сайту через GET-запрос, то есть указывая в URL после вопросительного знака в виде:

* /acticles.php?tag=summer&action=list — просмотр списка статей с меткой summer (лето).
* /news.php?topic=4&year=2003&month=10&sort=1 — отсортированные новости по теме 4 за октябрь 2003.
* /catalogue.php?sect=11&kind=6&manuf=63 — товары производителя 63 типа 6 в отделе 11.

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

Также адреса часто становятся привязанными к технической реализации, так как, например, в «чистом» PHP часть URL до вопросительного знака указывает на файл скрипта.

Концепция ЧПУ

Концепция ЧПУ предполагает максимально лаконичные и интуитивно понятные адреса, которые показывают естественную для человека логическую структуру данных на сервере, а не её программный интерфейс с модулями и параметрами. Структуру обычно представляют в виде иерархии как в обычной файловой системе, к которой привык пользователь.

Те же самые примеры, но с ЧПУ будут выглядеть уже так:

* /articles/tags/summer/ — статьи по меткам, метка «лето».
* /news/sport/2003/10/ — новости спорта, 2003 год, октябрь.
* /catalogue/light/bulbs/GE/ — каталог товаров, отдел «Свет», лампочки, производитель GE.

Или, даже так:

* /статьи/метки/лето/ — статьи по меткам, метка «лето».
* /новости/спорт/2003/10/ — новости спорта, 2003 год, октябрь.
* /каталог/свет/лампочки/GE/ — каталог товаров, отдел «Свет», лампочки, производитель GE.

Достоинства для посетителя очевидны:

* подобные адреса очень легко запомнить;
* можно продиктовать URL по телефону;
* чтобы перейти на уровень вверх достаточно стереть нужную часть пути;
* если человек уже был на вашем сайте и набирает адрес вручную, то он сразу может обратиться к нужному ему документу глядя на URL’ы предыдущих запросов.

Недостатки:

* увеличение затрат ресурсов сервера для большинства реализаций;
* усложнение настройки сайта в связи с необходимостью вмешиваться в конфигурационные файлы веб-сервера.

Реализация

Apache

Для веб-сервера Apache существует мощный модуль mod_rewrite, который включается в стандартный дистрибутив. Он обладает массой возможностей интерпретации URL перед обработкой необходимым модулем.

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

RewriteEngine on
RewriteRule ^article/([0-9]+)/? article.php?id=$1 [L]

Первая строчка включает mod_rewrite. Во второй указывается, что веб-сервер при запросе URL вида /article/450/ должен обратиться к /article.php?id=450 .

Обработка URL в собственном скрипте

Разработчик может вручную обработать URL и на основе него вызвать какую-то функцию. Для этого, чаще всего, нужно с помощью mod_rewrite направить все запросы одному скрипту для обработки. Для этого нужно добавить в файл .htaccess следующее содержимое:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

Скрипт index.php уже будет брать URL из переменной REQUEST_URI (в PHP из $_SERVER['REQUEST_URI']) и на основе каких-то настроек запускать необходимый код.

Случаи, когда введение ЧПУ не оправдано

* В случаях когда адрес не виден пользователю (например, AJAX), так как ресурсы сервера будут тратиться на разбор URL зря.
* Если страница предусмотрена для просмотра ограниченным количеством пользователей (например, страницы администрирования, C-панели) и не предусматривается посещение страницы поисковыми ботами.
* Если посещение страницы предполагает обязательное использование введенных параметров (например, формы регистрации, данные для вычисления скриптом и т.п.)

Friday, December 4, 2009

Долгосрочная эффективная стратегия продвижения сайта

Траст сайта - миф или нет

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

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

Этапность

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

Первый месяц продвижения сайта

  • размещаем 5 – 10 постовых на авторитетных блогах
  • прикупаем в sape тематических ссылок с такими показателями:

PR 2-4, ТИЦ от 10, ВС 10, цена до 0.60 центов, наличие в Dmoz – да, индексация в Google да в Яндекс не обязательно, ЯК не обязательно, возраст домена от 100 дней – этот вариант для поисковой системы Google

PR 1-3, ТИЦ от 100, ВС 10, цена до 0.80, наличие в ЯК – да, индексация в Яндекс да, в Google не важно, возраст домена от 150 дней – этот вариант для поисковой системы Яндекс

Прикупаем примерно 30-50 таких ссылок, можно и больше, но все будет зависеть от тематики

  • размещаем 10 – 15 тематических статей (биржи Miralinks, Liex, Seozavr)

Делаем отчет по позициям, смотри на изменения и продолжаем дальше

Второй месяц продвижения сайта

  • продолжаем прикупать ссылки в sape только немного под другими фильтрами:

PR 1-2, ТИЦ 10, ВС 10, цена до 0.25 центов, наличие в Dmoz и ЯК неважно, индексация в Google и Яндекс - да.

Только уже прикупаем примерно по 100 ссылок в неделю, то есть примерно 300-450 ссылок в месяц

  • размещаем статьи навсегда, желательно тематические , что бы разбавить ссылочное на сайт.

Размещаем 10 – 25 статей (по 2-5 ключевых слов в статье)

  • прикупаем, постовые для самых основных запросов, я это делаю для ВЧ

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

Зачастую многие запросы в конце второго месяца уже будут в топ 10-30, опять же все будет зависеть от тематики сайта. Анализируем и продолжаем работу дальше.

Третий месяц продвижения

Если запросы еще далеко от нужного топа мы можем в третьем месяце увеличить прирост ссылочного на 25-35%.

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

Купить ноутбук с доставкой, ноутбуки в Киеве

На выделенное слово ставится ссылка, этот вариант для поисковой системы Google

Продажа ноутбуков, купить качественные ноутбуки в Москве распродажа

Для поисковой системы Яндекс

Различие между продвижением в Яндексе и Гугле это непрямые вхождения для поисковой системы Яндекс и прямые вхождения для Гугл.

  • размещаем статьи навсегда (биржи Miralinks, Liex, Seozavr)

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

  • 50% биржи ссылок
  • 25% статьи навсегда
  • 15% постовые
  • 10% контент

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

25% для статей навсегда, потому что через время например 6 месяцев после начала продвижения сайта бюджет не будет расти, а только снижаться, чем больше ссылок навсегда тем меньше затрат на перспективу.

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

Продвигаем СЧ и НЧ запросы с помощью блога

На сайте должен быть блог и постоянно обновляемый контент, на это я закладываю 10% от бюджета на продвижение, в некоторых случаях и до 30%.

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

Для этого нужен уникальный контент, его перелинковка, и постоянство.

Saturday, November 28, 2009

Google URL translate table - Таблица транслитерации УРЛов для Гугла и Яднекса

Советские и российские стандартыБуквыЗарубежные стандарты
ГОСТ 16876-71СЭВ 1362-78МВД РФрусского алфавитаLCBGNBSI
AAAАAAA
BBBБBBB
VVVВVVV
GGGГGGG
DDDДDDD
EEEЕEE, YEE
JOJOYE,E,YOЁEE, YEE
ZHZHZHЖZHZHZH
ZZZЗZZZ
III, YIИIII
JJJYЙIYI
KKKКKKK
LLLЛLLL
MMMМMMM
NNNНNNN
OOOОOOO
PPPПPPP
RRRРRRR
SSSСSSS
TTTТTTT
UUUУUUU
FFFФFFF
KHKHKHХKHKHKH
CCTSЦTSTSTS
CHCHCHЧCHCHCH
SHSHSHШSHSHSH
SHHSHHSHCHЩSHCHSHCHSHCH
""'Ъ"""
YYYЫYYY
'''Ь'''
EHEHEЭEEE
JUJUYUЮIUYUYU
JAJAYAЯIAYAYA


Для Гугла используем систему BGN. Минимальная выгода - подсветка УРЛа. Максимальная - сами додумайтесь :)

Friday, November 27, 2009

Google Moderator - Анализ сайта специалистами от Гугл

http://moderator.appspot.com/#0



Имеем сообщество "Клиника сайтов Google, 26 ноября 2009" http://moderator.appspot.com/#16/e=f2352

Если я правильно понял, тут можно задавать вопросы по сайту и специалисты из Гугла дадут грамотный ответ что не так и как исправить.

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

Related Posts with Thumbnails