シングスCGI
よくある質問
◆CGI (Perl) 一般
- CGIとは?
- Perlとは?
- SSIとは?
- Sendmailとは?
- テキストエディタとは?
- FTPとは?
- 文字コードとは?
- 改行コードとは?
- クッキーとは?
- パーミッションとは?
- サブルーチンとは?
- ライブラリとは?
- モジュールとは?
- jcode.plとは?
- Jcode.pmとは?
- mimew.plとは?
- gifcat.plとは?
- スタイルシートとは?
- テンプレートファイルとは?
- RSSとは?
CGIとは?
CGIとは「Common Gateway Interface」の略。インターネット上のホームページなどにおいて、掲示板やカウンターなどの機能を実現するための仕組みのことです。この仕組みを利用することでWebサーバーにある外部プログラムやデータベースと連携して、いろいろな機能を実現しています。ホームページでそのような機能をいろいろなサービスとして提供しています。そのなかでWebサーバー上で実行される外部プログラムとして使われるプログラム言語として「Perl」がよく使われています。
Perlとは?
プログラム言語のひとつ。Perlプログラムは、テキストで記述され、サーバーにPerlを実行できる環境があれば、そのまま実行できるシステムです。そのため、スクリプト言語とも呼ばれています。
Perlプログラムは、テキストエディタでプログラムを作成したり、既存のプログラムの設定や修正などが手軽にできます。また、レンタルサーバーなどにも利用できる環境が広まっています。その結果、CGIスクリプトとして「Perl」が幅広く使われています。
SSIとは?
SSIとは「Server Side Include」の略。WebサーバーがHTMLにあらかじめ組み込まれたコメントタグを解析してコマンドを実行し、テキストやプログラムの実行結果などをHTMLに挿入などの処理をして、処理済みのHTMLを要求元 (クライアント) に送る仕組みです。拡張子「.shtml」が付いていることが多い。
Sendmailとは?
電子メールサーバーソフトのこと。メールサーバーにおける代表的なソフトウェアのひとつ。
メール転送エージェント (Mail Transfer Agent) とも呼ばれ、インターネット上でのメール送受信や転送など電子メールの仕組みの基本的な役割を担っている。CGIシステムでは、フォームからメールを送信するために主に使われています。他に「qmail」「Postfix」という電子メールサーバーソフトもある。
テキストエディタとは?
おもに文字を編集するだけのソフトウエアのこと。ウィンドウズでは「メモ帳」もテキストエディタのひとつです。
FTPとは?
FTPとは「File Transfer Protocol」の略。ネットワークで接続されたコンピュータ間でファイルの転送するための約束ごとのこと。
ホームページ制作での実際のファイルの転送は、FTPソフトを使って行います。ホームページを公開する時に、FTPソフトを使い、Webサーバーに接続してファイルをアップロードやダウンロードをします。CGIスクリプトの設置の時にも使われます。
文字コードとは?
文字コードとは、コンピュータで文字などを扱うために、文字一つ一つ割り当てられた数字のこと。英語圏での英数字の文字コードは、1バイトで表現される「ASCII」がある。
日本語の文字コードでは、「JISコード」、「EUC」(UNIX)、「シフトJIS」(Windows、Mac OS) がある。多国語に対応した「Unicode」もある。
改行コードとは?
改行を意味する文字コードのこと。「CR (Carriage Return : 改行)」と「LF (Line Feed : 行頭復帰)」の2つある。Windowsでは「CR+LF」、UNIXでは「LF」、Mac OSでは「CR」が使用されている。
Webサーバーでは、使われるOSにUnixやLinuxなどUNIX系が多く、改行コードとして「LF」が使われる。CGIスクリプトでは、改行コードが違うと、エラーなどの不具合が起こることが多い。その場合、テキストエディタで改行コードを変更する必要がある。
クッキーとは?
クッキーとは、サーバーから送信されてブラウザにより少量のデータをコンピュータのハードディスクに保存させる仕組みのこと。コンピュータで閲覧したホームページに関する情報を識別したり、ログインやユーザの認証などで使われています。ほとんどのブラウザがクッキーの機能を備えている。
パーミッションとは?
ファイルやフォルダに対するアクセス権のこと。
特定のファイルやフォルダに対してアクセス権を設定 (パーミッションの設定) することで、ファイルの「読み取り」ができる権限や「書き込み」ができる権限、プログラムを「実行」できる権限をそれぞれの「対象 (自分、グループ、他人) 」に与えることができる。CGIスクリプトでは、プログラムを「実行」できる権限を「対象」に与えることで、ホームページで掲示板やカウンターなどの機能が実現する。
サブルーチンとは?
CGIスクリプトのなかには、同じようなプログラムの処理が出てくることがあります。
そのような場合に同じプログラムを記述するのではなく、プログラムの一連の処理をひとつの機能にまとめて定義 (ルーチン) して、実行中のプログラムで同じような処理が出てくるたびにルーチンを (再) 利用することができるもののこと。関数とも呼ばれる。サブルーチンを利用することでプログラムの簡素化や開発効率化、部品化などが図れるメリットがある。
ライブラリとは?
複数のサブルーチンをまとめてひとつのファイルに納めたもの。実行中のプログラムから外部にあるライブラリのサブルーチンを (再) 利用することができる。フリーソフトとして配布されているものも多い。それを利用することで、CGIスクリプトの開発の効率化が図れるメリットがある。
モジュールとは?
複数のサブルーチンをまとめてひとつのファイルに納めたもの。実行中のプログラムから外部にあるライブラリのサブルーチンを (再) 利用することができる。フリーソフトとして配布されているものも多い。それを利用することで、CGIスクリプトの開発の効率化が図れるメリットがある。
jcode.plとは?
日本語文字コードを変換するために「Perl」で使われるライブラリのこと。
文字コードの取得や文字コードの変換、全角半角の変換など日本語文字の処理を行う。CGIスクリプトを開発する時には、欠かせないライブラリで、歌代氏によって開発され、フリーソフトとして利用することができる。再配布、使用条件など詳細は下記のサイトから。
オフィシャルサイト : http://www.srekcah.org/jcode/
ダウンロード : ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/Perl/
Jcode.pmとは?
日本語文字コードを変換するために「Perl」で使われるモジュールのこと。
Unicode (UFT8、UCS2) への対応、MIME headerのサポート、オブジェクト指向の導入などの特徴がある。
小飼氏によって作成され、フリーソフトとして利用することができる。再配布、使用条件など詳細は下記のサイトから。
http://openlab.jp/Jcode/index-j.html
mimew.plとは?
MIMEエンコーダ、デコードのために「Perl」で使われるライブラリのこと。
生田氏によって作成され、フリーソフトとして利用することができる。再配布、使用条件など詳細は下記のサイトから。
http://www.cc.rim.or.jp/~ikuta/mime_pls/
gifcat.plとは?
gif画像を連結するために「Perl」で使われるライブラリのこと。
杜甫々氏によって作成され、フリーソフトとして利用することができる。再配布、使用条件など詳細は下記のサイトから。
http://www.tohoho-web.com/wwwsoft.htm
スタイルシートとは?
ホームページでのスタイルシートとは、ページのレイアウトや文字の大きさ、色など見栄えを定義することができる技術のこと。HTMLに使われ、スタイルシートを定義・指定することで、レイアウトなどの見栄えとHTMLの文書構造が分離され、見栄えに統一感を出すことができる。ホームページの運営、保守管理が効率的になるメリットもある。
テンプレートファイルとは?
シングスCGIでのテンプレートファイルとは、CGIスクリプトからの出力内容をデザインされたレイアウトに組み込んで表示するためにHTMLで組まれたファイルのこと。
シングスCGIでの特徴のひとつとして、CGIスクリプトにテンプレート方式を採用し、開発設計しています。イメージとしては、SSIの仕組みをPerlスクリプトで実現したものです。
テンプレートファイルを活用することで既存のホームページと同じ体裁・デザインを組み込んで統一感を出したり、自由にレイアウトした独自のデザインを組み込むことができます。従来のCGIスクリプト配布では、レイアウトとデザインなどがある程度決まっていて固定されていましたが、テンプレート方式を採用したシングスCGIでは、レイアウトとデザインの自由度を持たせました。テンプレートの設定も、出力内容を表示するために確保したレイアウトスペースに置換タグを挿入するだけの手軽さです。出力内容にも定義済みのスタイルシートを設定することで自由にデザインができる形に設計しています。
RSSとは?
ホームページの見出しやコンテンツの要約などを配信するためXMLで記述されたフォーマット。「RSS 1.0 (Rich Site Summary)」と「RSS 2.0 (Really Simple Syndication)」の2種類の仕様がある。RSSリーダーやRSS対応ブラウザなどへ更新情報などが提供できる。同様な技術に「Atom」もある。