CGIプログラム製作記

日記風独り言のページのプログラム製作顛末記      初稿:2003/10/07
キッカケ
 ホームページをなるべく頻繁に更新したいと考えて、日記形式をとることにしました。 日記形式といっても、必ずしも私の日記を掲載するということではなく、そうしたWeb日記のページでよく使われているプログラムを使用して、ホームページを更新しようと思ったのです。
(日記なんて強制的に書かされた小学校の時だって三日も続かず、提出前にまとめて書いていたのに、大それたことを・・・とも思いましたが、会社で昼休みに Webを閲覧するついでに、気付いたことを自分のページに記入出来たら防備録的に便利かな?と思ったのが始まりです。その後、普通のサラリーマン生活からも足を洗い、<サンデー毎日>のような生活で、記入方法の選択肢は広がったものの、そして矢張り<日記>というより 週記〜月記の間を行ったり来たりしながらも私としては珍しく長続きしています)
名付け
e日記は「えにっき」とも 「イーにっき」とも 「いいにっき」とも読みます。写真があるときは「絵日記」無い時は「e(イー)日記」、役立つ内容なら「良い日記」とその時々で、都合のよい解釈をできるように間口を広げておいた方が楽だろうと言うラフな性格のなせる技?です。
仕組み
 通常のHPは、PC上でHTMLファイルを作成してから、それを FTPプロトコル(FFFTPなどのツール)でアップロードします。しかし、このFTP転送という方法はセキュリティ上普通の会社などのファイヤウォールの中からは許可されていない場合が殆どです。(実はそれでも方法がないわけではありませんが、優等生がやらないような方法ですので、ここではちょっと・・・と言いつつ、会社の昼休みに自分のホームページを更新しているのはどうなんでしょう?)
 そうした場合、CGI(Common Gateway Interface)という Web Saver上で動くプログラムが使える場合は、そのプログラムをサーバー上に置くことにより Internet ExplorerやNetscape等の Web Browserソフトを使って Web上のHTMLファイルに直接書き込むことでこうした問題が回避されます。例えば掲示板や IDとパスワードでログインするページなどで、Browserからデータの入力が可能になっているページや、ユーザがアクセスする度にカウンタがカウントアップするアクセスカウンタなどもこうしたプログラムによって実行されています。但し、当然プログラムが実行されるということはサーバーにとってはそれなりに負荷になり、オンラインゲームのような処理量の多いプログラムを実行したり、多くのユーザーが一辺にこのプログラムを実行したりするとサーバーは応答できなくなってダウンしてしまいます。こうした理由で OCNやSonet等の大手のプロバイダーがサービスで貸してくれるWebスペースでは、ユーザが勝手に作ったプログラムを使わせてくれることは稀で、プロバイダが予め用意したCGIプログラムしか使えないというのが相場です。しかしながら私が最近契約したサーバーは、この自作CGIプログラムをサーバー上に置くことが可能なことを基準に選びましたので、当然この自作CGIプログラムが使えます。
 このCGIソフトは、フリーのものがWeb上にいっぱいありますので、それを利用すると比較的簡単にこうしたことが実現できます。しかしそこはそこ、どうせなら自分の考えた機能なりを追加したい、見栄えもちょっと手を加えたいと思うのが私の性で、基本部分から自分なりの変更を加えて見ました。このプログラムは、Perl という非常に面白いプログラム言語で作成されることが多いので、私もWeb上で解説ページを参照して、にわか Perlプログラマになりました。ほんの少しだけかじっただけですが、それでも他の日記ページとは違った特徴があります。
普通の日記ページのURLの最後は大体、 *.cgi というページ名になっていますが、皆さんのご覧になる私のページはこの変更のお陰で普通の *.htmlというファイル形式でご覧いただけるようになりました。タネ明かしをすれば皆さんには見えない *.cgi というページにCGIプログラムを置いておき、私が記入したり更新したりするときだけそのプログラムにアクセスして、そのプログラムを実行することで皆さんに見える pdiary.html というページを追加したり、更新したりします。
 そうそう、時々「役立ちそうだからこのページ保存しておこう」と思って、Browserのファイルメニューから「名前を付けて保存」を選んでも保存できないページは、この CGIプログラムが動いていたりします。 URL欄に "http ://www .・・・・/***.cgi" とか出てくるページがそれです。(私のページが役立つから保存可能にしたと言う訳ではありません!)

今後、是非ご注目ください。 My Diary Page is here !
謝辞:このプログラム作成に当たっては CGI Station の My Memory - version0.32b を参照させていただきました。


NAME.gif Ftop button.gif      次ページへ総アクセス数