CGIの大掛かりな改造を出来るようになるにはどのような勉強をどの位すればよいですか?】


yomi-search(yomiサーチ)をかなり大きく改造したいと思っています。
http://yomi.pekori.to/yomi-search.shtml

現在の私の知識は、yomi-searchFAN!の改造事例集を見て改造したり、
http://sumi.cside.com/
各ページ内の情報のレイアウトを変えることは出来るくらいです。
yomiサーチがperlで出来ていることは知っていますが、どの文字(関数?)が何をさしているのかは分りません。

そんな私が手探りでもいいので、yomi-search(yomiサーチ)の大掛かりな改造を行うには、どのようなことをどの位勉強すればよいですか?


「これも勉強しておいた方がいいよ」的な部分的な回答ではなく、トレーニングメニューを渡すつもりでご回答くださると幸いです。

具体的に
「・このサイト(又は書籍など)でOOを勉強(OO時間)
・このサイト(又は書籍など)でOOを勉強(OO時間)
」というような形で回答くださるとなお良いです。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2006/12/30 18:16:59
  • 終了:2007/01/06 10:52:18

回答(2件)

id:mizu1007 No.1

mizu1007回答回数51ベストアンサー獲得回数02006/12/30 19:09:23

ポイント35pt

自分でプログラムを作るよりも、人のプログラムを弄るほうが何倍も難しいで一から作り直す方が簡単かもしれません。変更したことによって、動かなくなる場所が出るケースもありますので。

もし私がやるとしたら、下記のような形でやります。

■本屋で一番簡単そうな本を1冊手に取り、流し読みする(5時間~)

■「始めてのPerl」を学習(30時間~)

⇒中の問題までやり、徹底的に読み込む

■「10日でおぼえる Perl/CGI 入門教室」を使って、人が書いたコードの意味、CGIを勉強する(15時間~)

■「CGIプログラミング 」でCGIやCGIで良く使われているモジュールを勉強する。(20時間~)

■自力で掲示板を作ってみる(1時間~)

■自力でメール送信フォームを作ってみる(1時間~)

■yomisearchのプログラムを印刷し、読み込んでいく(?時間)

【意味が分からないとき参考に使う本、そのほか】

・「CGI&Perlポケットリファレンス」

・「パソコン用語事典」

・インターネット(ぐーぐる&はてな)

http://www.google.co.jp/

id:miiko39

ご回答ありがとうございます。

とても参考になります^^

2006/12/30 20:49:09
id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012006/12/31 00:17:29

ポイント35pt

ソースコードを軽く流し見たところコメントも充実していて判りやすいですね。難しい構文も使っていませんし、サブルーチン単位  sub xxx{から }まで  で何をやっているのかを1つ1つ分解していったほうが早いかもしれません。

Perl利用者に取って一番便利で、でも一番難解な高度な正規表現を使用している部分は見当たりませんので、よく出てくる英単語(ifとか、pushとか、openとか、、)について、何をするものかということをPerlのコマンド説明と例題が載っているような本やWEBで探せば意外と難しくはないでしょう。

とりあえず、単語になれるという意味で、下記をザァ~と読んでみてください(とりあえず、意味まで理解しなくても良いです。言葉に慣れてください)

http://www.kent-web.com/perl/index.html

もうすこし細かくということであれば、下記が非常に参考になりますが量が多いので時間をかけて読んでください。

利用例編を見渡せば、ifとかpushとか、、、実際に使った例が載っていて、yomi-searchでも同じような構造になってますので、似た構造のものを探せば何をしているのか、また、自分のしたいことはどれに当てはまるのかがわかってきます。

http://www.tohoho-web.com/wwwperl.htm

正攻法が良いか、たたき上げが良いか、、、、後々の事を考えるならば本当は正攻法なんでしょうけれど現場には意外とそういう人少ないです。

どちらが良いのか判りませんが、ご自分のやりやすいほうでどうぞ。。。

id:miiko39

ご回答ありがとうございます。

わざわざ、ソースまで見ていただいてありがとうございます^^

1の方とはまた違った角度の方法で、とても参考になります。


>正攻法が良いか、たたき上げが良いか、、、(中略)どちらが良いのか判りませんが、ご自分のやりやすいほうでどうぞ。。。

今回の場合、1の方が正攻法という解釈で良いですよね?

とりあえず、一回紹介していただいたページをじっくり読んでみようと思います^^


もっといろいろな方法(考え方)を知りたいので、後の方もどんどんご回答よろしくお願いします!

2006/12/31 19:52:19
  • id:kn1967
    >1の方が正攻法という解釈で良いですよね?

    あらかたそうなのですが、微妙にちがったりします。

    正攻法であれば、簡単な構文から徐々に難しい構文に進んでいきながら要点を抑えるというやりかたを繰り返しながら体系的なものを学んでいきます(学校の学習方法です)

    私の提案は、本当に必要な部分だけを集中的に覚えてしまうというまったく逆の方法であって、時間は大幅に短縮できるけれども、体系的な成り立ちを理解しづらいため、非常に偏った『癖のあるプログラム』を作る癖がついてしまう可能性がある。という欠点があります。
  • id:miiko39
    なるほど。
    丁寧なコメントありがとうございます^^

    ちなみに、『癖のあるプログラム』だと、何か困ることがあるのでしょうか?特にユーザアビリティ的に。
  • id:kn1967
    人目に触れる部分ではありませんのでユーザアビリティには直接関係はしません。
    (ユーザーアビリティなどは別途で学習が必要です)

    癖のあるプログラムは『動くけれど効率悪い』『後々で改造し辛い』『使い回し出来ない』などなど、、、後々になってトラブルの種になる可能性がありますが『時間をかけて基礎からみっちり身に付けるか』それとも『とりあえず動くものを作るのが先決で先の事は先になって考える』か、、、どちらを選択するかです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません