- ベストアンサー
cgiを習いたいのですが
cgiを勉強したいと思っています。 詳しくは、楽天のページのような買い物をできるようなページを作りたいのですが、 どんな勉強からはじめたらよいでしょうか。 また難易度はどのくらいですか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
10年近く Web 系のエンジニアをやっています。 まずは、どの言語から習得するかを決めるところからじゃないでしょうか。 CGI と言っても、Perl/PHP/Ruby/Python/C/JAVA/SH など様々な言語があります。CGI はあくまでもインターフェイスですので。 趣味で始めたいのか、生業にするために始めたいかによって、お勧めの言語は変わります。 既出のオープンソースのソフトである、ZenCart や、XOOPS など、流行っているソフトの殆どは PHP で書かれていますし、未経験者が取り組むには一番とっつきやすい言語だと思います。ただ、同時に、セキュリティホールを作ることがたやすい言語でもありますので、セキュリティについて十分に理解したうえで実運用する必要もあります。PHP で書かれた、オープンソースで大流行してるソフトも中を覗けば酷い状態になっているものも珍しくありません。 Ruby や ActionScript プログラマは、これからの Web 制作業界でニーズが上がってくると思います。とくに、受託業務がメインの会社では。RoR も盛り上がってきています。 Perl も再燃してますよね。私は PHP を見限って Perl に戻りました。Ruby にもそろそろ手を出そうかなとも思っています。 どの言語を勉強するにしても、まずは、お使いの PC に、その言語をインストールし、オフィシャルのリファレンスマニュアルを第一章から順番に、実際にプログラミングしながら、読み進めていくことです。 どの言語のリファレンスも探せば無料で読めます。
その他の回答 (4)
- uki629
- ベストアンサー率23% (40/172)
>いわゆるパソコンを二台用意しましょう。 >片方をサーバ(linux系)、もう片方をクライアント(windows)とすれば擬似webの出来上がりです。 >質問者様はおそらくwindowsはあると思うので、あとはlinuxをインストールしたマシンを用意し、LANでつないで各種アプリをインストール、そのうえでCGIの勉強をすると良いです。 Windows一台でも十分できる。 WindowsにWindows用のApache+Perl+PHPを入れればいいだけ。 楽したいならXAMPP(Apache+PHP+MySQL)+Perlプラグインかな。 勉強用ならこれで十分。 (パーミッションやファイルロック機能がつかえないけどね。) 仕事ではeclipse(+PHPEclipse)+XAMPPで十分開発環境になります。 どうしてもUNIX系のシステムがほしいなら仮想PCでもいいし LinuxのみになるけどcoLinuxを利用する方法もある。 >片方をサーバ(linux系)、もう片方をクライアント(windows)とすれば擬似webの出来上がりです。 擬似もなにもこういうのをイントラネットといいWeb技術の利用のひとつです。 ついでにPerlもPHPもモジュールとして動かしてせばCGIではありません。 PHPはモジュールで動かされるのが多いですね。 そもそも >php (linuxで主流、最近はWindowでも、高速で高機能なインタプリタ言語) >Servlet(一部商用で使用されてる?Javascript言語のサーバ版) >perl(一昔前までは主流だった言語) >asp(Windows それもIIS専用の言語、VBScriptがベース) >c言語(やっぱり最速、高機能、出来ない処理はない) そもそもシステムと言語がごちゃ混ぜ? PHP,Perl,C言語は言語 Servlet,ASPはシステム(CGIと同列なもの) ServletはJavaを使う。 ついでにASPだけど最近はASP.NETに移行している。 ただしASPとASP.NETは使われる言語が別。
お礼
難しいですね。専門の方はやはり違いますね・・・ ありがとうございました。
- wp_
- ベストアンサー率54% (132/242)
No2.の方の書き込みが殆ど全てですが、少し補足をば。 >どんな勉強からはじめたらよいでしょうか。 最終目標が何かにもよりますが、まず「環境の構築」をすると良いです。 いわゆるパソコンを二台用意しましょう。 片方をサーバ(linux系)、もう片方をクライアント(windows)とすれば擬似webの出来上がりです。 質問者様はおそらくwindowsはあると思うので、あとはlinuxをインストールしたマシンを用意し、LANでつないで各種アプリをインストール、そのうえでCGIの勉強をすると良いです。 http://www.amazon.co.jp/o/ASIN/4844319558/249-4831307-9525946?SubscriptionId=1KRYNGAFRTS188K9Y7G2/ref=nosim linuxの導入については当方はこの本のシリーズを薦めておきます。現在の最新ははFedora8です。 よく「フリーのレンタルサーバでいいじゃん」と言う愚かな人がいますが、それでは本物の知識が得られません。 本当の意味で一番最初の入り口の場合や、営業マンのようにうわべの知識だけ欲しいということならそれもありですが、日曜プログラマにしても本職にしても深い知識を得てこそ娯楽としての味が出てきますので。 それとコスト面でも差が出ます。飽きっぽい人で一年もやらない人なら良いですが、5年10年プログラムと付き合うのであれば費用は馬鹿になりません。 サーバ用マシンを新規に組むにしても、送料込み5万あれば十二分の性能のものが買えます。ついでにルータなど含めて購入しても10万は超えないです。(モニタいりませんし) 質問者様が学生だったとしても手が出ない額ではないでしょうし、仲間内での共同購入と言う手段もあります。 ただ、常時起動していると逆にコストが高くなるのでそれは注意です。 そこまで手間暇と金を掛けたくない、と言うのであればプログラミングの道は諦めた方が良いでしょう。 >Servlet(一部商用で使用されてる?Javascript言語のサーバ版) 比喩ではなくマジで茶を吹いた^^;
お礼
pc2台あるのでやってみます。 ありがとうございました。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
HTMLを知らなければ、HTMLかXHTMLから。 これはCGIを扱う上での最低限の知識です。 次にPHPとPerlはどちらでも良いですが、PHPの方が、HTMLの延長っぽく見えるので、わかりやすいと思います。 サーバーがWindowsならASPでも良いですが、 ホスティングサービス(レンタルサーバー)を利用されるなら、 個人で気軽に利用出来る所でWindowsサーバーは少ないです。 PHPやPerlと平行してウェブサーバーに関する知識(ウェブサーバーとはどういう物か。) > また難易度はどのくらいですか。 ショッピングカートはCGIスクリプトの機能の集大成みたいな物なので、 最低限の機能しか持っていなくても、CGIスクリプトとしては最も難しいソフトウェアじゃないでしょうか。 osCommerceやzenCartなどのフリーウェアを使ってみてはいかがでしょうか。 機能の変更はPHPの知識が必要になりますが、 デザインの変更や使うだけならそこまで難しくはないと思います。 > ANo.1 > Servlet(一部商用で使用されてる?Javascript言語のサーバ版) JAVAのサーバー版です。JavaScriptではありません。 http://www.st.rim.or.jp/~nakata/ http://httpd.apache.org/ http://www.activestate.com/Products/activeperl/features.plex http://jp.php.net/manual/ja/index.php
お礼
ありがとうございます。 HTML・・やはり基本ですよね。 ソフトに頼らずやってみます。
- Kaone
- ベストアンサー率60% (33/55)
cgiといっても、サーバサイドで実行するプログラムのことを言うので いろいろあります。 一般的には php (linuxで主流、最近はWindowでも、高速で高機能なインタプリタ言語) Servlet(一部商用で使用されてる?Javascript言語のサーバ版) perl(一昔前までは主流だった言語) asp(Windows それもIIS専用の言語、VBScriptがベース) c言語(やっぱり最速、高機能、出来ない処理はない) とあります。 また、ショッピングモールのようなものを作るとなると、言語以外にデータベースの知識も必要です。 また、ポータルサイトのようにアクセスが多いサイトとなると、負荷分散、障害対策等、ネットワークの知識も必要になります。 今出来る言語がればそれを延長して習得するのが近道ですが、そうでないなら現在なら、(将来は変わる・・)php+postgresqlかphp+mysqlを覚えるのが一番手っ取り早いと思います。 資料の豊富さと、現在主流なので教えてもらいやすい組み合わせでもあると思います。
お礼
ありがとうございます。 Cからはじめ、おすすめのphpをやってみます。
お礼
言語というのをいれる自体、よくわかっていないので助かります。 やってみます。