В одну бессонную ночь мне хотелось почитать на хабре интересных постов, но лазить по хабам и публикациям не было настроения, поэтому я решил написать расширение, которое будет за меня выбирать интересный людям (а соответственно и мне) пост. Если вас заинтересовало моё расширение — добро пожаловать под кат.
Было решено начать с разработки сервера, который должен отдавать псевдослучайный пост по определенным параметрам.
Первоначальная загрузка постов с хабра была сделана с помощью регулярных выражений и csv файла.
На выгрузке вышло около тысячи постов из публикаций "Лучшее за всё время", "Лучшее за месяц", "Лучшее за неделю" и "Лучшее за день".
Характеристики сервера
Сервер ничем не примечательный, на самом дешёвом тарифе.
ОС — Linux
Версия ядра — 2.6.18
Разрядность — x86_64
HTTP сервер — Apache 2.0
Версия PHP — 5.2.17
ОЗУ и прочие характеристики мне, к сожалению, неизвестны, так как
Что делает сервер?
Сервер выполняет единственную, пока, функцию. Отдает ID псевдослучайного поста из заранее выбранных.
Все посты хранятся в таблице и, например, для поста
«129533 — Ubuntu в техническом вузе»
таблица выглядит так:
ID в базе данных | Количество просмотров | Добавило в избранное | ID поста |
---|---|---|---|
(int)412 | (int)11650 | (int)196 | (int)129533 |
То есть в базе хранятся только основные параметры постов.
Когда расширение посылает запрос, сервер генерирует псевдослучайное число от 1 до текущего количества постов и отдает результатом ID поста.
Ничего сложного, но это только первая версия.
В следующих версиях я планирую расширение функционала.
Характеристики расширения
Расширение построено на основе таких продуктов как JavaScript библиотека jQuery и front-end фреймворк Boostrap.
Логотип изображения пришёл в голову сам собой, как и собственно название расширения: HabraRandom, сокращенно HR
На данный момент у расширения две функции:
— Получать ID псевдослучайного поста;
— Открывать пост с указанным ID в отдельной или текущей вкладке.
Что планируется добавить в расширение?
— Во первых, я думаю над увеличением базы постов, так как одна тысяча это слишком мало для такого ресурса, здесь гораздо больше нужных и интересных постов;
— Во вторых, добавления критерия отбора постов, по рейтингу, по избранному, по просмотрам или по количеству запятых;
— В третьих, конечно-же перевод приложения и распространение на другие платформы, не все любят хром.
Спасибо за внимание, буду рад обоснованной критике и пожеланиям.
Скачать расширение можно в интернет-магазине Chrome.