cgi boy

cgiスクリプトは、アクセス解析に大変役立ちます!


   cgi boy

 cgi boyは、無料(フリー)でcgiを設置代行し、次の事ができます。

 (1)  超シンプル レスBBS

  「超シンプルBBS」に、レス(返信)をできるようにしたものです。

 (2) 日記帳|日記のススメ

  毎日気軽に更新できて画像もアップロードできる本格的ウェブ日記帳となっています。
 携帯電話より閲覧でき、書き込みも可能です。
  日記帳コミュニティーサイト「日記のススメ」への登録も可能になっています。

 (3) 超シンプルBBS

 「極端にシンプル」という操作性を追求した掲示板となっています。
 中央寄せ以外に左・右2方向に寄せた配置を設定できます。
 書き込み記事を管理人メールアドレスへ転送することも可能です。

 (4) 超カスタム掲示板

 デザインカスタマイズの柔軟性を追求した掲示板となっています。
 デザインの変更はスタイルシートの直接記述を用いる等、比較的HTMLの上級者向けです。

 (5) DXチャット

 携帯電話での使い勝手の良いwebチャットとなっています。
 PC・携帯電話共に更新された分のログのみを転送します。
 その結果、パケット量が大幅に減少し、軽快な体感速度で会話を楽むことが出来ます。

 (6) アクセス解析(Infoseek)
 
 リンク元URLや検索ワード別アクセス数などサイトの改善に無くてはならない機能です。
 初心者から上級者まで幅広い層での利用が可能なアクセス解析が可能です。



CGI BOY入門TOPへ
タグ:CGI
posted by Yy at 14:38 | Comment(0) | TrackBack(1) | cgi boy

cgiとは

cgiスクリプトは、掲示板に大変役立ちます!


cgiとは

cgiとは?

 Common Gateway Interfaceの略語で、サーバー上にあるプログラムとのデータの送受信方法を決めたものです。

 ここでのインターフェイスとは、ソフトウェア的にプログラム間でデータをやり取りする手順や形式のことです。

 現在、インターネットで普通に使用されています。

 cgiは、主に次の物に利用されています。

 (1) ゲーム (例えば、遊戯王 cgiが有名です)
 (2) メール フォーム
 (3) 掲示板
 (4) アンケート
 (5) 検索
 (6) ブログなどのアクセス解析
 (7) アクセスカウンター
 (8) ショッピングカート
 (9) 問い合わせに対する自動応答

 以上の事から、多く活用されていることが分かります。
  このことから cgi boyも機能が次第に増えていくものと思われます。

 一方、cgiを使用するため、レンタルサーバーを借りる人も多いです。
 レンタルサーバーでない場合、cgiを自由に使用できないからです。


 cgiを利用した動的ページの主な特徴は、次の通りです。
 (1)ユーザーと双方向の通信が即座にできます。
 (2)応答が即時でデータや情報のやり取りもスピーディーです。
 (3)コミュニケーションがリアルタイムとなります。

次の図でcgiを使用したデータのやり取りを示しました。
[ 1 ] ユーザーは、サーバーへブラウザを使用し、アクセスします。
[ 2 ] サーバーは、静的なページを要求された場合、アクセスされたページをユーザーへ返信します。
    以上が、通常利用されているインターネットの利用方法です。
[ 3 ] 一方、サーバーは、cgiを利用した動的なページの場合、プログラムを起動します。
[ 4 ] プログラムは、計算結果やデータベースのデータをサーバーで作成します。
[ 5 ] サーバーは、[ 4 ]の結果をページに組み込み、ユーザーへ送ります。
cgi



CGI BOY入門TOPへ
タグ:CGI
posted by Yy at 14:38 | Comment(0) | TrackBack(0) | cgiとは

cgiと言語

cgiスクリプトは、ショッピングカートに大変役立ちます!


cgiと言語

 cgiを実現するため、  主に次の言語が利用されています。

(1) perl
perlは、パール、と発音します。
パールとは、辞書には真珠と説明されています。
しかし、真珠という意味のパールのスペルはPearlで、Perlとは違います(Infoseek和英辞典より)。
真珠と違い、このパールは、プログラム言語のことです。

cgi boyは、主にこのperl言語を活用してサービスを行っています。

(2) PHP
 PHPは、テキストベースのインタープリター言語です。
Webサーバ上で情報を提供し表現する HTMLに埋め込むタイプのスクリプト言語となっています。

JavaScriptと同じように、プログラムのコンパイル(実行可能なバイナリファイル作成)をする必要がありません。
perlも同様にインタープリター言語です。しかし、perlは、コンパイルすることが出来ます。
したがって、処理速度を速めることができます。
 
では、なぜ今 PHPが注目されているのでしょうか?
上記の(1)で解説した Perlは、多くの Webアプリケーションで利用されてきました。
おそらくこれからもcgi boyなどに活用されて行くと思われます。
しかし、Perl は、言語的に難しくソースコードが汚くなりやすい欠点を持っています。

一方、PHPは、Perl と同様にテキストベースで構築できる手軽さがあります。
基本的には、HTMLファイルに埋め込む言語であるため、
簡単なテキストエディタがあれば、誰でも書くことができます。
また、Perlのcgiのようなサーバ負担も少なく、実行が速いという利点も持っています。
このことから、将来cgi boyにも、PHPを利用するかも知れません。

PHPが使用される主は理由は、次の通りです。
[ 1 ] 文法的にルーズ (Visual Basicより楽です)
[ 2 ] 初心者向き (Visual Basicより楽です)
[ 3 ] 習得が楽 です。
[ 4 ] Webアプリケーション開発が主な目的です。
[ 5 ] 日本語で説明書を利用可能です。
[ 6 ] テキストベースで編集が楽です。
[ 7 ] デバックが簡単 です。
[ 8 ] ラピッド(短期間)開発向きです。
[ 9 ] データベースを簡単に利用可能です。
[10 ] perl cgiの様な複数のプロセスが不要です。(ページ返信とプログラム起動プロセス)
Webサーバ上で情報を提供し表現する HTMLに埋め込むタイプのスクリプト言語のためです。
[11 ] フレームワークが利用可能
 フレームワークとは、開発環境のことです。
 perl用にもフレームワークが幾つか開発されています。

その他、主に、次の言語が利用されています。
(3) ruby
(4) java
(5) asp
(6) python
(7) C/C++



CGI BOY入門TOPへ
タグ:CGI Perl PHP
posted by Yy at 14:38 | Comment(0) | TrackBack(0) | cgiと言語

cgiとperl

cgiスクリプトは、自動応答に大変役立ちます!


cgiとperl

perlでのcgiは古くから活用されているため、解説が数多くあります。
したがって、ここでは、良く利用されるperlのモジュールを紹介しました。

(1)Data::Dumper
  Data::Dumperは、データ構造をわかりやすく、表示してくれるモジュールです。
  #!/usr/bin/perl
  use Data::Dumper;
  $ref = [1..3];
  print Dumper($ref);

  使用例を次に示しました。

  $VAR1 = [
          1,
          2,
        ];

(2)Template-ToolKit
  Perlのポピュラーなテンプレートエンジンフレームワークです。
  略してTT、あるいはTT2とも呼ばれています。
    テンプレートライブラリとして、変数の置換えは元より、
  ループ制御・分岐(if)・多分岐(swtchi)・例外(try)、
  プラグイン等々の機能を持っています。
 Template Toolkitを利用することで、
 プログラムにおける出力の見た目に関するコードとロジックを分離することができ、
 結果として保守性が高まります。

 使用方法の例として

 userオブジェクトのnameメソッドの結果は、テンプレートにより展開することができます。
 具体的に、perlテンプレートの中で、次のように使用します。

 

My name is [% user.name %].



 また、オブジェクトのメソッドと、ハッシュの値を同一の方法でアクセスすることができます。
 my $user = {
    name => 'pochi',
 };
  というハッシュも、上記の方法でアクセスすることができます。

 ループを回す場合は、
 

      [% FOREACH data IN datas %]
      
  • このdatasの title は [% data.title %].

  •   [% END %]
      

  としてアクセスできます。

  また、例えばHTMLエスケープ用フィルタは、
  [% user.name | html %]
  と書くことができます。
 上記は、何れもテンプレートを使用してページを作成するものでした。

(3)HTML::Template
 HTML::Templateとは、CGIスクリプトからHTMLテンプレートを使うためのPerlモジュールです。

最初にテンプレートを作ります。
例に示したように、 <TMPL_VAR> のような簡単な、特殊なタグが入った普通の HTML ファイルです。

例えば、 testx.tmpl として、次のファイルを作成します。

  <html>
  <head><title>Test of Template</title>
  </head>
  <body>
  My Home Dir. : <TMPL_VAR NAME=HOME>
  <br><br>
  My Path Name : <TMPL_VAR NAME=PATH>
  </body>
  </html>

 上記のHTMLファイルに対応するCGIプログラムを作成します。

  #!/usr/bin/perl -w
  use HTML::Template;

  # OPEN  html Template.
  my $template = HTML::Template->new(filename => 'testx.tmpl');

  # Parameters set.
  $template->param(HOME => $ENV{HOME});
  $template->param(PATH => $ENV{PATH});

  # Print the template output.
  print "Content-Type: text/html\n\n", $template->output;

 ●ブラウザを用い、作成したcgiにアクセスすると、以下のような表示となります。

  My Home Dir. : /home/directory

  My Path Name : /bin/usr

サンプルcgi実行


●●perlを使用した動きが分かったと思います。
[ 1 ] perlプログラムを起動させ、ページを作成する。
[ 2 ] 出来上がったページをユーザーへ送る。
この2段階を別々に分け、個別に実行するのがperlによる方式でした。




CGI BOY入門TOPへ
タグ:CGI Perl
posted by Yy at 14:38 | Comment(0) | TrackBack(0) | cgiとperl

cgiとPHP

cgiスクリプトは、アンケートに大変役立ちます!


cgiとPHP

 PHPの場合、 HTMLに埋め込むタイプのスクリプト言語のため、
[ 1 ] PHPプログラムを起動させ、ページを作成する。
[ 2 ] 出来上がったページをユーザーへ送る。
上記の2ステップを1度に実行できてしまいます。

次のphpファイルを見てください。
<html>
<head>
</head>
<body>
<h1>HTMLで見出しを出力します。</h1>
<?php
 echo "<h1>この見出しはPHPで出力する見出しです。</h1>";
?>
</body>
</html>

●<?php           ?>
上記の<?phpと   ?>との間が組み込まれたスクリプト、となっています。

このファイルは、ファイル識別子として.phpを付けて作成される必要があります。

echoとは、VsualBasicのプリント文(print XX)の機能を果たす命令です。

PHPサンプル


<< PHP言語には注意する必要があります>>
なぜでしょうか?
主な注意点を次に示しました。

(1) 関数スコープ
 変数は、同一の関数内の場合、中にIFブロックがあっても関数内のスコープとなってしまいます。

function func() {
     $i = 3;

     if (true){
               $i = 5;
      }
     $i = 6;
}

上記の変数 $i は、同じ関数の中にあるため、PC上で同じアドレスが使用されます。
つまり、PHPは、JavaやRubyのようにif ブロックを別のスコープとしません。

(2) 例外処理
PHPは、バージョン4と5とで例外処理が違います。
PHP4とPHP5とは別々に開発されて来たからです。

以上の点に注意し、PHP言語を使用しなければなりません。
処理結果が異なってしまうからです。



CGI BOY入門TOPへ
タグ:CGI PHP
posted by Yy at 14:38 | Comment(0) | TrackBack(0) | cgiとPHP
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。