Хаброметр (Habrometr)

Текущая версия — Habrometr 2.0
Автор — Валера Леонтьев (feedbee).

Хаброметр — система сбора и визуализации значений кармы и хабрасилы пользователей социальной сети Хабрахабр.

Задать вопросы, выразить благодарность автору или негодование по поводу работы сервиса можно по e-mail или через jabber: feedbee@gmail.com. Проект базируется на открытом исходном коде. Если вы хотите помочь сделать сервис лучше, или просто добавить новый размер информера — сливайте код с GitHub и пишите автору на почту.

Сбор информации

Сбор хабрапоказателей ведется системой через API Хабрахабра в соответствии с Правилами, установленными Администрацией ресурса (ранее они были опубликованы на странице справки, но сейчас эта страница пропала).

Запрос показателей по списку пользователей проводится 1 раз в сутки (запуск в 0:00) с IP 95.213.252.221 (server.valera.ws). Запрос отправляется на сервер habrahabr.ru по адресу вида http://www.habrahabr.ru/api/profile/%username%/. Каждый профиль запрашивается 1 раз в сутки. В случае ошибки повторный запрос на сервер не проводится. Один запрос проводится во время регистрации пользователя.

В заголовке User-Agent HTTP-запроса передается следующая информация:

sprintf("PHP/%s (Habrometr/%s; feedbee@gmail.com; http://habrometr.ru/)", PHP_VERSION, self::VERSION),

где PHP_VERSION — константа, устанавливаемая PHP Engine, self::VERSION — идентификатор версии Хаброметра, включающий номер версии и номер подверсии (например, 0.2).

Как пользоваться?

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

После отправки формы статистика по указанной учетной записи будет собираться ежесуточно. Для каждого пользователя создается страница, на которой отображается динамика изменения показателей за последние 90 дней. Там же есть ссылка на получение HTML-кодов Хаброметров пользователя. Найти свою страничку можно в списке всех зарегистрированных пользователей.

Новости

30 сентября 2012 Хаброметр обновлен до версии 2.0. Полностью обновлен дизайн сайта, улучшен его функционал. Усовершенствован алгоритм получения хабра-значений с сервера Хабрахабра. Исправлены ошибки в коде. Отдельные фрагменты кода отрефакторены. Исходный код перенесен из svn в git и с Google Code на GitHub.

В последнее время сервис работал неисправно. Прежде всего это было связано с тем, что количество пользователей в базе значительно превышало предполагаемые в начале (почти 4 года назад) масштабы. Для решения возникших проблем пришлось применить кардинальные меры: удалить большую часть базы зарегистрированных пользователей и внедрить captcha при регистрации. Об отборе пользователей для удаления я рассказал в своем блоге. На данный момент в базе примерно 20 000 пользователей (из более чем 50 000 до «зачистки»).

30 марта 2012 Хабрапользователь silvansky создал для Хаброметра виджет на dashboard Mac OS X. Подробнее на Хабрахабре.

Лог новостей

10 марта 2012 Так как база пользователей превысила 20 000, пришлось изменить график обновлений данных. Теперь обновления проводятся 1 раз в сутки. Запуск обновления происходит в 0:00 в порядке регистрации пользователей. Так как сервис основан на получении информации с внешнего ресурса, по которому действуют количественные ограничения, процесс обновления занимает длительное время.

4 декабря 2010 у нас зарегистрировался 1000-й пользователь.

4 октября 2009 исправлены баги, до/переделаны некоторые компоненты системы. Период тестирования закончен и объявляется о выходе версии 1.0.

13 марта 2009 исправлены пару багов в работе сервиса, в том числе баг с ошибкой регистрации без ввода e-mail'а.

16 февраля 2009 поправил еще пару ошибок в коде и рассказал Хабралюдям про сервис.

8 февраля 2009 добавлены новые размеры Хаброметров: 88х31, 31х31 и 350х20. Кроме того, изменена подача истории на странице пользователя.

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

31 января 2009 доработан код, исправлена пара мелких ошибок. Тестируем версию 0.5. Следующие шаги — окончательная дороботка и оформление кода, небольшая переработка страницы пользователя, добавление информеров других размеров, опубликование исходников.

25 января 2009 наконец-то доведены до конца работы по серверу, установлено и настроено все необходимое ПО, а так же свершен официальный переезд на домен habrometr.ru. + Сдано 2 экзамена в универе. Выходные прошли успешно :) Сейчас сервер работает на nginx (фронт-энд), apache (бэкэнд), PHP (+Curl, +IMagick, +eaccelerator), MySQL, memcached и кэшируется все, что можно закэшировать :)

24 января 2009 на сервере установлен фронт-энд прокси nginx, который поможет справиться с нагрузкой, когда про Хаброметр узнает все Хабрасообщество. Если в связи с этим появились какие-то баги, огромная просьба отписывать на e-mail.

Примеры Хаброметров

Хаброметр feedbee Хаброметр feedbee Хаброметр feedbee

Хаброметр feedbee Хаброметр feedbee