Perl/CGI研究室 'PERL-LABO'

Perl/CGI研究室 'PERL-LABO' TOPへ
戻る(History.Back)

配布に向けての改良

研究内容

アクセスカウンターと同様に、設定を別ファイルで行えるようにするなどの 修正を行い、CGIプログラムを配布できるようにします!

詳細

配布を念頭に

ページビューカウンターもなかなかいい出来になってきました。 配布してもいいレベルなんじゃないかと思えてきました。 ですので、配布を念頭に、設定を分かりやすくするために設定ファイルを別ファイルにするっていうのと、 その他、いくつか改良を行いたいと思います。

ただ、足りない機能も

あと足りない機能は、URLの代わりにページタイトルを画面に表示するっていう機能。 単純にこれを実現するだけなら、URLとページタイトルの対応表を別ファイルで用意しておいて それを読み込んで…という感じでそれほど難しくないのですが、 深く考えていくと、こういう、設定がたびたび必要になるようなものは ブラウザ上で編集できるようにした方がいいですよね。 いわゆる管理モードというやつです。管理者パスワードを入れて…という。 これに挑戦しようかと思ったのですが、これはもう少し後回しにしようと思います。 というのは、まだ他にもトライしたいものがあるからなんです。 いつか、管理モードを加えたいと思いますが、それはお楽しみにとっておきます。

結果

1. 設定ファイルを別ファイルにする

これはアクセスカウンターでやりましたので今回も。 こうする理由などは、アクセスカウンターのときと同じです。 特に新しい知識は必要ありませんでした。

2. ページにタイトルを付ける

細かい修正ですが。 トップページへのリンクも表示します。

3. カウント履歴の表示にパスワードをかけられるように

アクセスカウンターに付けた機能なんですが、 ということにはこちらにも付けなくちゃ。 なんというか、なんでもかんでもパスワードをかけられるようにするというのは 当サイトのCGIプログラムの特色でしょうか?(^^;

4. メインルーチンもライブラリにしちゃう

アクセスカウンターもそうなんですが、 メインルーチンをライブラリの中に入れてしまいます。 CGIプログラム本体からは、たった1個の関数を呼ぶだけです。 こんな感じになります。

#!/usr/bin/perl

require 'setting.cgi';
require 'pvcounter.pl';

plab::exec_pvcounter();

本体は、たったこれだけです! なんでわざわざこんなことをするのかっていうと、 実は、既に作ったアクセスカウンターと、 このページビューカウンターの両方の全ての機能をもつ 「アクセス/ページビューカウンター」の作成のためなんです。 アクセスカウンターも、上のプログラムと似た感じで、 1個の関数を呼ぶだけの状態にしてあります。 ですから、この状態なら、「アクセス/ページビューカウンター」の作成はそんなに難しくないはず! これこそ、究極の再利用。 このように1つの関数にしちゃったのは、 CGIプログラムそのものを他のCGIプログラムの中で利用できるようにするためなんです。

話はこれだじゃ終わりません。さらに、「アクセス元解析」「検索ワード解析」 「総合アクセス解析」みたいなCGIプログラムにトライしたいなと思っているんですが、 このようにCGIプログラムを1個の関数にまとめておけば、あとでこれらが完成したときに、 これらを組み合わせて、「超高機能アクセス解析付きカウンター」が作れちゃうっていう寸法です! 壮大な計画ですよ〜。いつか、複数のCGIプログラムを結合して1つのCGIプログラムにしちゃう 研究っていうのもしますから、お楽しみに!

5. plファイルを1つにまとめる

配布するときには、plファイルを1つにまとめます。 でも、実際に、ファイルの数を減らしたら実行時間が短く、サーバーへの負荷が小さくなるのか、 今度ちゃんと検証しないといけませんね。

以上!

アクセスカウンターのときは、配布前にたくさんの修正を行いましたが、こちらはそれほど でもありませんでした。 まだ、「URLでなくページタイトルを表示する」 「それをブラウザで設定できるようにする、管理モードの追加」という大きなテーマが残っていますが、 ひとまず、配布できる状態にはなったと思います。 「URLでなくページタイトルを表示する」という機能がないと、訪問者さんに見せられるような ページにはなりませんが、もともとの目的である、どのページがたくさん見られているのかという 情報をサイト運営に役立てるという意味では、充分な機能のCGIプログラムが作れたと思います。 アクセスカウンターに続いて、配布可能レベルのCGIプログラム第2弾は ページビューカウンターでした (^^

Perl/CGI研究室 'PERL-LABO' TOPへ
戻る(History.Back)

Copyright (c) 'PERL-LABO' All Rights Reserved.  リンクフリーです。