airmax: (Default)
[personal profile] airmax
вот и я сделал свой первый блог. точнее, первый синдикатор - берем данные с blogger.com и показываем на сайте.

технология:
делаем блог на blogger.com
в настройках блога проставлено "показывать на индексной странице посты за последние 365 дней"
по крону раз в полчаса считывается blogspot.com/.../atom.xml,
из него выцепляются все посты,
парсятся на предмет замены ссылок вида blogspot.com/.../2005_08_....html на ссылки относительно локального домена,
аналогично для картинок, сами картинки скидываются в отдельный каталог, плюс после скачивания на них навешивается с помощью GD копирайт - постоянная ссылка на моём сайте.
отпарсенный текст скидывается в .txt по месяцам: out/2005/07/post1.txt
/08/...
так же по месяцам скидываются/обновляются индексные файлы index.txt - unserialize() и получим Map дат постов на названия файлов.

по обновленным файлам генерируются, по шаблонам дизайна, html для вставки на страницы сайта
+html для index.php по месяцам, за весь год и "главная страница" - последние 3 поста в полном стиле. +sidebar - последние 5 постов в сокращенном стиле

постоянные урлы генерятся с помощью mod_rewrite, регвыры разбирают урл на параметры к мега-скрипту main.php (FrontController)

Сырцы на php примерно 8 кил + библиотека magpie rss ещё 69
Вот и всё, дешево и сердито.
Два дня на написание, включая дизайн, (впрочем, как обычно, две недели в низкоприоритетных потоках сознания думал, планировал и собирался с силами %-) )

А как бы вы решили такую задачу (повесить блог на сайт, добавление комментариев и просмотр userinfo в тз отсутствуют).

Date: 2005-08-15 04:02 pm (UTC)
From: [identity profile] no-user.livejournal.com
А как бы вы решили такую задачу (повесить блог на сайт, добавление комментариев и просмотр userinfo в тз отсутствуют).
идём на hotscripts.com, выбираем готовый блог и прикручиваем к сайту

ИМХО

Date: 2005-08-16 06:15 pm (UTC)
From: [identity profile] http://users.livejournal.com/_tsukasa/
отпарсенный текст скидывается в .txt по месяцам: out/2005/07/post1.txt
/08/...
так же по месяцам скидываются/обновляются индексные файлы index.txt - unserialize() и получим Map дат постов на названия файлов.


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

разве что индекс

Date: 2005-08-17 05:17 am (UTC)
From: [identity profile] airmax.livejournal.com
кроме него нет никакой разницы откуда поднимать данные из базы или из файла через unserialize. если учитывать загруженность сервера, то из файла даже быстрее.

Re: разве что индекс

Date: 2005-08-17 06:52 am (UTC)
From: [identity profile] http://users.livejournal.com/_tsukasa/
Насколько мне кажется, при сохранении всех постов в виде записи базы необходимость в отдельном их индексе отпадает, да и сами данные не "рассыпаются" на бешеное количество файлов. Безусловно, в данном случае это лишь вопрос вкуса, однако применительно к более сложным проектам такой подход может быть неудачным.

Re: разве что индекс

Date: 2005-08-18 08:18 am (UTC)
From: [identity profile] no-user.livejournal.com
не факт. нужно учитывать количество файлов и глубину каталожеств. Иногда это бывает очень критичным. Впрочем, для данной задачи это, скорее всего, не тормоз. А так, могу тебе рассказать как-нибудь потом историю про мальчика Джимми, который очень любил текстовые файлы (и какой геморрой заработали себе некоторые его клиенты).

Profile

airmax: (Default)
airmax

April 2011

S M T W T F S
      12
345 6 7 89
10 11 12 131415 16
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 6th, 2026 03:46 pm
Powered by Dreamwidth Studios