美しいコードのCGIを愛でるスレ
- 1 :美しいコードを愛でる会:02/03/19 02:59 ID:HVLinBmy.net
- 世の中ゲロンパに汚いコードなPerlのCGIスクリプトが反乱している。
もちろんperlstyle.podに則って自分で書くのも良いさ。
あぁオレはそうしている。
でもな。KENTやレスキューのコードがスタンダードだと勘違いしているやつが氾濫しては問題があるだろう。
そこで美しいコードを誇るCGIスクリプトを集め、皆で愛でようでは無いか。
最低条件
* use strictしてること(-wTは任意)
* 変数、サブルーチン、メソッドには意味のある名前を割り当てていること
* 更新されていること
* 作者と連絡がとれること(メアド、更新されているWebサイト)
- 113 :山崎 渉:03/08/15 23:22 ID:???.net
- (⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
- 114 :nobodyさん:04/03/30 00:21 ID:Et1WRFOC.net
- 復活を期待してあげてみる
- 115 :nobodyさん:04/03/30 18:49 ID:+0Zs5qfc.net
- >>114
いいネタふってよ。
- 116 :nobodyさん:04/03/31 03:01 ID:???.net
- >1
今更だけど
* use strictしてること(-wTは任意)
って開発時だけで十分だし、指定しても動きエラーも無い事って書いた方が良かったな。
#use strict は nifty 等に配慮して公表時には省くって言ってた人も居る。
まあ指定しておいたら誰かがログから
作者の気付かなかったエラー提出してくれるかもしれないけど稀だし。
- 117 :nobodyさん:04/03/31 03:20 ID:eTtz6haw.net
- 過疎板なんだしで暫くageてみましょうよ。
定期的にメンテナンスされたり、多くの人がパッチを書くとなると
美しさを保つためにはやっぱり use strict されている必要があるんじゃないかな。
伽藍的な美しさもあるけどね。Rosettaとか。
ttp://search.cpan.org/~duncand/Rosetta-0.28/
- 118 :nobodyさん:04/03/31 05:16 ID:???.net
- Perlのサブルーチンの書き方って、例えば
#サブルーチン名適当、途中処理略
sub login{
get_query();
}
sub get_query{
end():
}
sub end{
exit(0);
}
のような、つまり処理の最初から最後まで
サブルーチンからサブルーチンへ飛び回るようなのは解りづらい?
以前はこういう作り方してたんだけど、
ある日思い直してメインとなる処理部分を作って、
それぞれのサブルーチンの返り値を受け取りつつ(一部除く)
順番に進めていくように最近は作り始めたんだけど。
- 119 :nobodyさん:04/03/31 05:49 ID:eTtz6haw.net
- >>118の例示よりも
my $status = Handler->login(@argv);
my $value = Handler->get_query($status);
$value eq 'hoge' ? Handler->nexthop() : Handler->end();
さらに、
my $handler = Handler->new();
$handler->login(@argv);
$handler->action();
# Handler.pm
sub action{
my $self = shift;
$self->get_query() eq 'hoge' ? $self->nexthop() : $self->end();
}
同じ事をやるのにも可読性・抽象性・再利用性を考えて書くと
オブジェクティブなコードになってくるんじゃないでしょうかね。
- 120 :nobodyさん:04/03/31 08:06 ID:???.net
- う、うつくしい。
http://tok2.com/study/bbs/bbs-01.html
- 121 :nobodyさん:04/03/31 23:45 ID:???.net
- >>120
(;´Д`)ハァハァ・・・ゲフッ
- 122 :nobodyさん:04/04/04 14:45 ID:???.net
- >>120
見事にzipの内容が再帰しているのはギャグですか?
- 123 :nobodyさん:04/05/16 15:07 ID:AvZsWZrL.net
- age
- 124 :nobodyさん:04/05/16 15:57 ID:???.net
- CGI.pmを使ってPOSTする方法を教えてください。
- 125 :nobodyさん:04/05/16 16:03 ID:???.net
- <form action="CGI.pm" method="post">
- 126 :nobodyさん:04/10/21 02:48:18 ID:DbaR8cSm.net
- あげ
- 127 :nobodyさん:05/01/09 12:37:31 ID:uD8+xJLM.net
- 日本のperlはみんなめちゃくちゃだよ。。
みんなtDiaryを読めー
- 128 :nobodyさん:05/01/09 22:08:22 ID:???.net
- 更新されていることは美しいのか?
- 129 :nobodyさん:05/01/10 04:16:29 ID:gXtmp04s.net
- >>52
激しく同意。
チームでやるなら、言語依存の記述で凝って短くスマートに書かれるより、
コメントが多く平易な流れのコードが扱いが良い。チームには、いろんな
レベルのやつがいるからな。読み手もいろいろということだ。
あまり、凝って美しくすると読めないやつが増える。
また個人で使うCGIは、strictにしたり、my関数を使ったりするのは
自由だが、広くCGIとして配布するならPerl4でも動くように書いて、
パスのデフォルトはオールドな/usr/local/bin/perlなんてこともある。
結局ここで言う美しさなんて、オナニーなんだよ。プログラマの。
- 130 :nobodyさん:05/01/10 16:03:18 ID:OenI9N/y.net
- >>129
「わかりやすい」ことも美しさの1つだろ。
わかりやすいだけじゃ美しくは無いがな。
- 131 :nobodyさん:05/01/10 18:03:31 ID:???.net
- >>130
わかりやすいだけではないと思うが
わかりやすさは大半を占めてると思う
- 132 :nobodyさん:05/01/10 20:21:03 ID:???.net
- いまだにPerl4使ってる奴なんているの?
最後の安定バージョンのリリースは12年前の1993/2/5だぞ?爺はいらね。
ついでに煽っておくと「(俺様が)わかりやすいように書いた」なんつーコードは
冗長で遅い糞コードの代表みたいなものなので短くて速いコード書けや。
- 133 :nobodyさん:05/01/10 23:42:15 ID:gXtmp04s.net
- >いまだにPerl4使ってる奴なんているの?
使っている奴はいないが、Perl4をいまだ
使っているプロバイダはあるので、目的により
そういう書き方で配布するケースもあるだろう。
「(俺様が)わかりやすいように書いた」
おい、逆だ。チームがわかりやすいようにと
書いてあるんだが。文脈を読めないやつだな。
あと、お前が勘違いしているのは短いコードが
早いとは限らないということ。
抽象化したコードはより簡潔になるが、速度は犠牲になる
ことが多い。
ラクダ本を少し嫁。
- 134 :nobodyさん:05/01/11 00:14:45 ID:AE+kb3/p.net
- >>133
どこの誰が「短いコード=美しい」なんて言い出したんだ?
流れを読む限り、お前ってことになりそうだが。
- 135 :nobodyさん:05/01/11 01:25:00 ID:QoqQoJmx.net
- >どこの誰が「短いコード=美しい」なんて言い出したんだ?
余計なつっこみかもしれないが、
132,133はどちらもそう書いていないぞ。
誰と聞かれれば、134になるな。完結。
- 136 :nobodyさん:05/01/13 13:02:09 ID:???.net
- >>132 = 134 が負け犬って事でFA?
- 137 :nobodyさん:05/01/13 21:23:25 ID:???.net
- ?
- 138 :nobodyさん:05/01/13 21:24:52 ID:???.net
- \ヽ从//
Σ (⌒)ヽ_∧
mてつ ・∀・) <お前。
// YY ヾ\
- 139 :nobodyさん:05/01/14 00:08:49 ID:???.net
- ?
- 140 :nobodyさん:2005/05/18(水) 23:48:42 ID:???.net
- どんなコードでもいいんでバグ出さないでくれ
後で読まなくて済むから
- 141 :nobodyさん:2005/08/11(木) 19:07:00 ID:???.net
- 三ヵ月も前の流れにレスされてもなぁ
- 142 :nobodyさん:2005/08/25(木) 20:49:34 ID:yNBOcjhz.net
- アップローダースレの>>716がおいていったコードなんだがあまりにも醜くて、
ttp://up.isp.2ch.net/up/dcce97420e5d.zip
一応晒しておきますね。
- 143 :nobodyさん:2005/08/25(木) 22:07:37 ID:???.net
- ざっと斜め読みしただけだが
俺としてはまだ耐えられる範囲かな。
このままの勢いで10倍くらいのサイズになったら楽しそうだが。
- 144 :nobodyさん:2006/04/23(日) 19:39:28 ID:???.net
- use strict について詳しく書いたページないかな。
perldoc以外で。
use strictしろって一文なら何度も見たんだけど
いまいちぴんと来ない。
でもせっかくなら綺麗で分かりやすいコード書きたいし。
- 145 :nobodyさん:2006/04/24(月) 19:58:58 ID:???.net
- >>144
「綺麗」の定義にも依るけれど、strict プラグマはコードを「綺麗」に
するものではなく「安全」に保つ手伝いをしてくれるものだから、
そういう切り口のページはいくら探しても無いんじゃないかな。
- 146 :144:2006/04/25(火) 00:03:05 ID:???.net
- >>145
どうもです。そうかーそうだよね。
コードの書き方自体は perlstyle.pod を参考にしてるんだけど。
use strictするとそれまでなかったエラーがたくさん出るから、
それをひとつひとつ解決するついでに
そうすることの意義みたいなものが知りたかったんだ。
でも巷で配布されてるCGIを見るにあまり必要ないことなのかな?
自分はCGI作るためにPerl始めたんで、参考書よりそっちのコードを眺めてるほうが多い。
- 147 :nobodyさん:2006/04/25(火) 15:51:27 ID:???.net
- 多人数での作業、または
巨大プログラム開発時における変数の保守のため。
1人規模のプログラムではまだ必要ない。
でもできる限り関数化は目指した方が後々良い
- 148 :nobodyさん:2006/04/25(火) 22:30:34 ID:???.net
- 配布 CGI のコードにろくなものがないのは激しくガイシュツ
- 149 :nobodyさん:2006/04/26(水) 14:27:51 ID:???.net
- >>146
えーと
>コードの書き方自体は perlstyle.pod を参考にしてるんだけど。
が、
>でも巷で配布されてるCGIを見るにあまり必要ないことなのかな?
なんでこう思うようになっちゃうのかが分からないんだけど。
もしかして最初から何も考えずに use strict してるとその
ありがたみって分からなくなるのかな? だとすると
use strict しろっていう「一文」て実は有害?
use strict せずにグローバル変数使いまくりな CGI の
改造して地雷踏んだりすれば意義なんていやっていう
ほど痛感するものだと思うんだけどね。
- 150 :144:2006/04/26(水) 17:24:06 ID:???.net
- なんだかアホいレスしていてすみません。
We上の色々な講座的ページを見ながらPerlの勉強をしてるつもりですが
use strictした上でのコーディングについてはあまり見つからないんです。
正直、use strictをすることで得られる恩恵についてはほとんど知りません。
「use strictしろというからやってみたけどエラーばっかでこの次どうすりゃいいんだかワカンネ」
「でもしたほうがいいらしい」
↑この辺をぐるぐるしているw
- 151 :nobodyさん:2006/04/26(水) 19:29:50 ID:???.net
- >>150
なるほど。
use strict の次は「なんでもかんでも my つけろ」かな。
perldoc をあれこれ読めば use strict する理由もエラーの
対処法も分かると思うが、『Perlプログラミング救命病棟』
読むといいかもね。まとまってて扱いやすい。
正直、Perl について Web 上で「ハイレベルではないがモダン
な情報」を手に入れるのは厳しいと思うぞ。
- 152 :nobodyさん:2006/04/26(水) 20:06:30 ID:???.net
- 144 は Perl と BASIC 以外の経験あるかい?
あれば割とすぐ恩恵が分かりそうな気がするんだけど
- 153 :nobodyさん:2006/04/27(木) 00:33:41 ID:???.net
- >>151
ありがとう。この本知りませんでした。
早速ウィッシュリストに入れたけどとりあえず著書間見てくる
あとlocalとmyについてもっと勉強してきます。
>>152
PerlのほかはJavaScriptくらいです。
DHTMLのために少しいじるくらいで、20行以内のものしか経験なし。
あとはDMonkeyとかDelphiを少し捏ね回す程度。
- 154 :144:2006/04/27(木) 00:34:57 ID:???.net
- 153は俺です。
あと誤字
×著書間
↓
○図書館
メンゴ
- 155 :nobodyさん:2006/05/14(日) 22:04:32 ID:6NDVp4aa.net
- あげ
- 156 :nobodyさん:2006/05/15(月) 04:30:23 ID:???.net
- ちょしょかん
- 157 :nobodyさん:2008/06/03(火) 11:15:31 ID:???.net
- phpの話をしようよ
- 158 :nobodyさん:2009/10/28(水) 16:23:55 ID:KljxNhcv.net
- 【画像あり】「同級生の女の子に頼んでみた」中学生ハメ撮りAVが流出 ★14
http://yutori7.2ch.net/test/read.cgi/news4vip/1256707678/
486083984374999
- 159 : 忍法帖【Lv=40,xxxPT】(8+0:8) 【17.5m】 電脳プリオン ◆3YKmpu7JR7Ic :2012/09/30(日) 14:36:51.44 ID:???.net ?PLT(12079)
-
∧_∧
( ・∀・) | | ガガッ
と ) | |
Y /ノ .人
/ ) .人 < >_∧∩
_/し' < >_∧∩`Д´)/
(_フ彡 V`Д´)/ / ←>>106
/ ←>>111
- 160 :nobodyさん:2015/11/15(日) 01:30:22.94 ID:/m4xO8V3.net
- !申し込んですぐにLINEスタンプを作れる。あとは投稿するだけ。
http://stampfactory.net
- 161 :nobodyさん:2015/11/16(月) 01:59:37.49 ID:zqD+gs+9.net
- 転職の際に必ず思い出してください。
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in 東京
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される
- 162 :nobodyさん:2017/12/30(土) 16:04:56.68 ID:YhlYw6jg.net
- 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
6PXXW0OIOH
40 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★