トップ 一覧 検索 ヘルプ RSS ログイン

Programming_getnewsの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!ニュース取得システムのページ
MSN/NHKのニュースと電車の運行状況を取得して表示するプログラム。研究室の本棚の上の入り口よりのディスプレイに出力している。本体は研究室のサーバーのinternal_onlyにある。
フィードの取得はPerlのcgi、表示にはAjaxをしている。
フィードの取得はPerlのcgi、表示にはAjaxを使用している。

!!構成
*使用言語
**Perl
**JavaScript
**Html

*構成ファイル
**feed.css
**feed.js
**feedProxy.cgi
**getTrainInfo.cgi
**index.html
**ObjTree.js
**prototype.js
**その他画像ファイル

!!運用
*サーバー側
*表示側
研究室サーバの/internal_only/trafic_info/index.html にブラウザでアクセスして放っておく。
!!改造

!!個々の動作
feedProxy.cgi と getTrainInfo.cgi が外部サイトのフィードを取得し、feed.js が定期的にこの2つのcgiから取得情報を読み取って画面を更新する。

!feed.css
!feed.js
中核的な存在。パース/描画の呼び出しを定期的に行っている。フィード自体の取得とパースはそれぞれfeedProxy.cgiとgetTrainInfo.cgiが担当する。定期的にページを切り替えるスレッドが動いている。
*設定用パラメータ
,変数名,用途
,page_switch_interval,ページの切り替え周期
,channel_switch_interval,取得してあるフィードの中から、表示する情報を切り替える周期。
,reload_interval,外部情報の再取得を行う周期。
,area height_max,名前のとおり。
:主な関数:
*load_feed 
フィードの読み込み、ページ切り替えスレッドの生成を行っている。channel_switch_intervalごとに呼ばれている。読み込みはローカルの各種cgiに対して行っており、外部サイトのフィードの取得を行っている訳ではない。
*reload_site
外部サイトのフィードの再取得を行っていると思われる。reload_intervalごとに呼ばれる。
*switch_panel
定期的に呼び出される描画用情報の更新スレッド。画面に表示するパネルの情報を設定する。各表示要素(筆者がjsを理解しきっていないので、ここは補足求む)に非表示ならnone,表示するならblock属性を割り当てる。
!feedProxy.cgi
MSN,NHKからニュース情報を取得するcgi。同時にfeed.jsに取得したxmlを渡す役割も兼ねている。なぜか接続の際、ユーザエージェントをPS3にして接続している。
!getTrainInfo.cgi
電車情報を取得するcgi。feedProxy.cgiと同様に、取得したxmlをfeed.jsに渡す役割を兼ねている。
!index.html
!ObjTree.js
?
!prototype.js
Ajaxのライブラリ。