Бегун - красавчик, может запихнуть мою объяву в тройку РСЯ.

Экспериментировал только что с объявлениями в бегуне. Естественно, цену поставил минимальную. Система предложила мне повысить ставку, чтобы объявление было повыше.

n1.JPG
Нажав на ссылку “Пример размещения”, в том самом Апорт-поиск я увидел объявления Яндекс Директ.

n4.JPG

Так вот гонят люди.

Сначала бегун меня удивил тем, что никто из его разработчиков не догадался протестить код объявлений на страницах с jquery, теперь они не в курсе поведения своих партнеров. Странная контора.

Jquery comet да и просто comet

November 9, 2007 Web разработка

Comet - это архитектура веб-приложений, в которой сервер посылает данные клиенту (обычно браузеру) асинхронно. При использовании comet клиент не должен периодически опрашивать сервер для проверки наличия обновлений. Таким образом экономится трафик и уменьшается нагрузка на сервер (не нужно выдавать клиенту пустые ответы о том, что обновлений нет). При классическом подходе для уменьшения нагрузки обычно увеличивают таймаут между опросами сервера, но тогда возникает другая проблема - клиент получает данные с задержкой. В архтектуре comet данные клиенту посылаются сразу, как только они обновились.

Теоретически, comet - это лишь идея, которая не подразумевает конкретных способов реализации. Я приведу примеры двух способов, которые взяты отсюда, но переписаны с prototype’а на jquery.

1. Скрытый iframe. (forever-frame)

Смысл: на странице создается невидимый iframe, в котором в бесконечном цикле выводятся методы обновляющие данные на странице.

Пример был взят элементарный: клиенту передается текущее время на сервере:

В iframe выводится:

while(1) {echo '<script type="text/javascript">';
 
echo 'comet.printServerTime('.time().');';
 
echo '</script>';
 
flush(); //шлем
 
sleep(1); //процессор отдыхает
 
}

Скачать пример

Естественно, при таком использовании в крупных проектах возникает немало проблем, одна из которых - огромное число открытых одновременно соединений. Популярные http серверы были написаны с расчетом на класическую архитектуру web (от которой ajax в плане нагрузки на сервер в общем-то не сильно отличается), потому в крупных comet проектах обычно используются другие серверы. Например Caplin Liberator, который работает с финансовыми приложениями и способен держать на соединении 10,000 пользователей, посылая им до 4,000,000 сообщений в секунду.

Другая проблема: фаерволы и прокси. Многие прокси буферизируют сообщения так, что они передаются клиенту тогда когда набирают определенный объем. Фаерволы часто настроены так, что обрывают слишком длительные соединения.

2. Jquery Comet. (long-polling)

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

while ($currentmodif <= $lastmodif) // check if the data file has been modified
 
{
 
sleep(1); //разгружаем процессор
 
clearstatcache();
 
$currentmodif = filemtime($filename);
 
}
 
send_data_to_client();

Пример - простенький чат (немного глючненький, простите), который общается с сервером по типу comet.

Такой вариант - более жизненный чем предыдущий (iframe). При более-менее частом обновлении данных серьезных проблем он не создает, в тоже время снижая количество запросов и трафик сервера. Выводы полезности такого подхода и графики латентности запросов описаны в этой статье.

Скачать 2й пример

Статья о comet на википедии
Comet Daily

Jaiku, JaW, About, Smarty, TinyMCE 3, Google Phone

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

Потому исполню солянку в несколько партий:

1. У меня есть инвайты jaiku и yandex webmasters. Не свежо, но может надо кому, пишите.

2. Вот все говорят, что раздел about me на блоге - первая необходимость.. че правда?

Стоит ли мне заполнить страницу About?

  • Да (62%, 23 Votes)
  • Мне пофиг (30%, 11 Votes)
  • Нет (8%, 3 Votes)

Total Voters: 37

Loading ... Loading …

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

4. Вышла alpha TinyMCE 3 с множеством полезных изменений.

5. Молва идет, типа сегодня гугл исполнит что-то о google phone’е. Ы. Не верю.

Свадьба

У меня завтра мама с отчимом женятся. Захотелось им, и все тут.

Они вместе уже года два и вот решились.

По этому поводу я сегодня подстригся! А стригла меня девочка у которой размер груди - шестой или седьмой (я не шарю сколько это, но они были просто огромные). Такие себе СИСИ. Они настолько никуда не помещались, что она постоянно терлась ими об меня.

К чему я это?

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

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

Клацать надо на ромбики слева, а не на самом поле. Такой алгоритм.

Получится только в фаерфоксе.

Посвежее