当方HTMLとCSSの初歩レベル。
なにか良い方法はないでしょうか?
独学で具体的に教えてください。
CGI入門みたいなホームページをいくつか検索して、自分に合いそうな、分かりそうなサイトを1つ決め、何度も復習しながら読む。
自分はとほほでそれをやりました。
1つのCGIが動かせるようになったら
フリーサンプルをいじりながら
勉強する。
CGIに限らず、この方法をお勧めします。
:: KENT WEB - CGIスクリプト ::
私はド素人からはじめて仕事にしちゃった
口なんですが
フリー配布のCGIや解説本に付録のCGIを
いじりまくりました。
ほかにに用語辞典も用意して、
判らないことがあったら確かめる、と。
いじって自分好みに改造しようと努力するうちに
覚えるんじゃないでしょうか。
体系立て、順序だてて覚えようとしても、
実際動かさないと頭に入るもんでもないですし。
ただ、自分のPCにアパッチなどのサーバソフトをインストールしておいて、ローカルで動作確認することを心掛けてください。
ありきたりで申し訳ないですが、以下が僕がCGIを学ぶとした場合の
流れです。(必要ないので、実際にはCGIは勉強してませんが^-^;)
CGIの入門書を読む。
↓
実際に入門書に従ってパソコン上で動作させる。
↓
インターネットを回り、公開されているCGIのサンプルソースを
参考にして応用したCGIプログラムを作る。
入門書に関しては本じゃなくてホームページでも構わないと
思うのですが本の方が細かい部分も良く書かれていて良いです。
ホームページだと時間と根気が必要になってくると思います。
あとCGIを今から始めるなら言語はPHPがお勧めです。
CGI RESCUE - ネットサーフレスキューWeb裏技
昔からここを使っていました。出来合いのものもダウンロードできますし、チャレンジCGIで勉強もできます。
http://www.amazon.co.jp/exec/obidos/ASIN/4797321261/hatena-q-22
Amazon.co.jp: 結城浩のPerlクイズ: 結城 浩: 本
メールマガジン『Perlクイズ』
CGIをとりあえず動かすということなら、前の方が書かれている通りかと思います。そこから進んで、他人のプログラムの改変だけでなく自分でPerlの文法を理解して書けるようにする上で役立つかと・・・新しい、そして有効な学習方法と言えると思います。URLを3つ書いていますが、全て同じ情報です(著者である結城さんのページ/結城さんのメールマガジンのバックナンバー/メールマガジンからできた本の紹介)
http://www.hakusa.net/computer/cgi/activeperl.html
AnHTTPD+ActivePerl+GDインストール法
CGIを学ぶには、3つのことを並行して学ばないといけません。
まず、プログラミング言語の基礎知識。
多くのCGIがperlで書かれていますが、
CでもPHPでもRubyでもCGIは書くことができます。
よく「CGI」という言葉と「perl」という言葉を
ごっちゃにして使っている人がいますが、
CGIというのはCommon Gateway Interfaceの略で、
クライアントからの要求に応じて
プログラムを起動するための仕組みをこう呼ぶんですよね。
そのためのプログラミング言語としてperlがよく使われるので、
perlが分かるとCGIがわかる、
CGIが分かるとperlが分かると思いがちなんですが、
これはなかなかそういうわけにいかないんです。
市販のperl本を見てもなんかCGIと違う、
CGI本を見てもいまいちperlそのものがよくわからない、
なんていうことがよく起こるのは、そういう事情です。
そんなわけで、まずはperlならperlの文法をおぼえちゃう。
とりあえずCGI作りの前にザッと一通り。
既出回答にある「とほほ」さんのサイトなどで、
基本的な定数や変数や配列のこと、
if文やwhile文などのプログラム制御、
命令語の種類や使い方、
正規表現の使い方などのノリを掴んでください。
続いてはCGIの作法。
CGIにはCGI特有の作法がありますから、
実際のプログラムをいくつも読んで、
その中の共通する部分を探してください。
これがわかるくらい読み込めれば
言語に関する理解は十分です。
普通のPC上で動かすプログラムと違って、
CGIは通信から入力をもらって、
通信に出力していきます。
動作の途中でCGIが再起動されることもあります。
たとえば掲示板で書き込みを行う時などには、
CGIはまず書き込みデータをPOSTまたはGETメソッドで自分に向けて出力し、
自分を再起動しながらそれを受け取ります。
こういうデータの受け渡しも、
PC上だけで動くプログラムとの大きな違いです。
このへんがどう扱われているのかがわかれば、
CGIに関する理解も十分です。
あとはコーディングの技術です。
このへんは優れたプログラムをたくさん読んで、
分からない部分をその都度調べて解明し、
自分の物にしていくしかありません。
優れたプログラムには色んなアイデアが盛り込まれていますから、
それをたくさん自分の知識に取り込んでいくわけです。
ま、そんなこんなでなかなかにややこしいんですが、
要は習うより慣れろです。
やっているうちに、最初は海の物とも山の物ともつかなかったことが
突然分かってきたりするものですから、
まずは自分のPCの中にperlによるCGI開発環境を作ってしまいましょう。
既回答のKENTさんのページと共に、
ご紹介したページも参考にしてください。
ANHTTPD、ActivePerl、そしてエディタとブラウザ。
これだけあればperlによるCGIは
ローカルで実行させることができます。
失敗しようが何しようが自由です。
思いっきり実験を繰り返してください。
ご健闘をお祈りします!!
いつもいつも在りがたいお言葉、ありがとう
ございます。