2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

美しいコードの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
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★