войти зарегистрироваться

Кто ты — человек с Хабра?

Привет, Хабр!

Нашим коллективным умом давно завладела хабрастатистика и эти выходные были проведены в прелюбопытнейшем изучении интересов хабрапользователей. Обо всём в одном посте рассказать трудно, но для тех, кому интересно, вот небольшая выжимка:

интересы пользователей Хабра
UPD Добавлена статистика использования социальных сервисов и messenger-ов

«Профиль внимания» и «Любимые авторы» (часть 2)

Буду краток:
  1. Теперь алгоритм учитывает «избранное» пользователя (спасибо MKrivosheev за идею)
  2. Немного снизили порог попадания тегов в профиль внимания
P.S. Кто не в теме — пост является продолжением этого. Нововведения о которых идёт речь можно увидеть в профиле пользователя (в том числе в вашем собственном профиле).

«Профиль внимания» и «Любимые авторы»

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

image
Одновременно с этой замечательной штуковиной претерпел изменения блок «Профиль внимания». Помимо укороченного названия (раньше оно было столь длинно, что я его даже не смог запомнить) был усовершенствован алгоритм построения.

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

Свершилось — Jevix 1.0


Jevix — система автоматического применения правил набора текстов (типографика) разработанная в ТМ™ для собственных проектов (Хабр, Кадабра, Дрибблер), с открытым исходным кодом, наделённая способностью унифицировать разметку HTML/XML документов, контролировать перечень допустимых тегов и атрибутов и предотвращать возможные XSS-атаки в коде документов.

В связи с катастрофической нехваткой времени, не смотря на мои обещания, код версии 1.0 выложен только сегодня. Но зато он всё же вышел! Причём вместе с исправлением вчерашнего хабрабага с перечёркиванием текста.

Теперь Jevix доступен на google code. Я не поссорился с Juks — автором perl-версии (если кто что подумал) — просто с google code мне работать проще.

Кнопки навигации по постам

Однажды я разбирал код Хабрахабра и обнаружил одну интересную вещь: по постам можно перемещаться используя клавиатуру.

Доступные кнопки


j — следующий пост.

k — предыдущий пост.

h — переход к началу страницы.

Работают эти кнопки на страницах с лентами постов.

Благодарности


Благодарим имперского веб-технолога Виктора Вяльчина и Лялю.

Типограф и вставка кода

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

Плавный переезд

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

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

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

Рассказ рассчитан на подготовленную аудиторию и не является точным пошаговым руководством к действию.

Баланс

До недавних пор база данных нашего ресурса обслуживалась на пару двумя серверами: Bonnie и Clyde. Clyde — основной сервер проекта, отвечающий на все запросы, Bonnie — сервер, поддерживающий базы других проектов и слейв-клиент базы суперхабра.

Clyde хорошо справляется со своим делом, была проведена большая работа по оптимизации базы, так что он вполне перемалывал все обращения при генерации миллиона с лишним документов в сутки. Однако, в моменты непредсказуемых пиковых скачков нагрузка время от времени переваливала за допустимые пределы.

Учитывая постоянно растущий объём данных и нагрузку, настала пора предпринять шаг в сторону масштабирования аппаратных ресурсов базы данных.