美しいコードのCGIを愛でるスレ
■ このスレッドは過去ログ倉庫に格納されています
世の中ゲロンパに汚いコードなPerlのCGIスクリプトが反乱している。 もちろんperlstyle.podに則って自分で書くのも良いさ。 あぁオレはそうしている。 でもな。KENTやレスキューのコードがスタンダードだと勘違いしているやつが氾濫しては問題があるだろう。 そこで美しいコードを誇るCGIスクリプトを集め、皆で愛でようでは無いか。 最低条件 * use strictしてること(-wTは任意) * 変数、サブルーチン、メソッドには意味のある名前を割り当てていること * 更新されていること * 作者と連絡がとれること(メアド、更新されているWebサイト) 6802はメモリにストアしてロードして計算の果てしない繰り返し。 6809はパズル。書き方によって2割りは効率がかわる。 68000は逆にすっきりしてて、直交具合がよくて レジスタがデータだけで8本あるから直感で書ける。 このスレ読んだ感想。。 単体モジュールテストぐらいはやろうぜ! ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━― ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉 __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄ >>84 ワラタ ところではなしは変わるけど、携帯ゲーム機"プレイステーションポータブル(PSP) このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。 画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。 この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。 任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。 突然変な事言い出してスマソ・・・・ GBAと比較してみてどうなんですかね?(シェア以外で) ∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン >1 今更だけど * use strictしてること(-wTは任意) って開発時だけで十分だし、指定しても動きエラーも無い事って書いた方が良かったな。 #use strict は nifty 等に配慮して公表時には省くって言ってた人も居る。 まあ指定しておいたら誰かがログから 作者の気付かなかったエラー提出してくれるかもしれないけど稀だし。 過疎板なんだしで暫くageてみましょうよ。 定期的にメンテナンスされたり、多くの人がパッチを書くとなると 美しさを保つためにはやっぱり use strict されている必要があるんじゃないかな。 伽藍的な美しさもあるけどね。Rosettaとか。 ttp://search.cpan.org/~duncand/Rosetta-0.28/ Perlのサブルーチンの書き方って、例えば #サブルーチン名適当、途中処理略 sub login{ get_query(); } sub get_query{ end(): } sub end{ exit(0); } のような、つまり処理の最初から最後まで サブルーチンからサブルーチンへ飛び回るようなのは解りづらい? 以前はこういう作り方してたんだけど、 ある日思い直してメインとなる処理部分を作って、 それぞれのサブルーチンの返り値を受け取りつつ(一部除く) 順番に進めていくように最近は作り始めたんだけど。 >>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 見事にzipの内容が再帰しているのはギャグですか? CGI.pmを使ってPOSTする方法を教えてください。 <form action="CGI.pm" method="post"> 日本のperlはみんなめちゃくちゃだよ。。 みんなtDiaryを読めー >>52 激しく同意。 チームでやるなら、言語依存の記述で凝って短くスマートに書かれるより、 コメントが多く平易な流れのコードが扱いが良い。チームには、いろんな レベルのやつがいるからな。読み手もいろいろということだ。 あまり、凝って美しくすると読めないやつが増える。 また個人で使うCGIは、strictにしたり、my関数を使ったりするのは 自由だが、広くCGIとして配布するならPerl4でも動くように書いて、 パスのデフォルトはオールドな/usr/local/bin/perlなんてこともある。 結局ここで言う美しさなんて、オナニーなんだよ。プログラマの。 >>129 「わかりやすい」ことも美しさの1つだろ。 わかりやすいだけじゃ美しくは無いがな。 >>130 わかりやすいだけではないと思うが わかりやすさは大半を占めてると思う いまだにPerl4使ってる奴なんているの? 最後の安定バージョンのリリースは12年前の1993/2/5だぞ?爺はいらね。 ついでに煽っておくと「(俺様が)わかりやすいように書いた」なんつーコードは 冗長で遅い糞コードの代表みたいなものなので短くて速いコード書けや。 >いまだにPerl4使ってる奴なんているの? 使っている奴はいないが、Perl4をいまだ 使っているプロバイダはあるので、目的により そういう書き方で配布するケースもあるだろう。 「(俺様が)わかりやすいように書いた」 おい、逆だ。チームがわかりやすいようにと 書いてあるんだが。文脈を読めないやつだな。 あと、お前が勘違いしているのは短いコードが 早いとは限らないということ。 抽象化したコードはより簡潔になるが、速度は犠牲になる ことが多い。 ラクダ本を少し嫁。 >>133 どこの誰が「短いコード=美しい」なんて言い出したんだ? 流れを読む限り、お前ってことになりそうだが。 >どこの誰が「短いコード=美しい」なんて言い出したんだ? 余計なつっこみかもしれないが、 132,133はどちらもそう書いていないぞ。 誰と聞かれれば、134になるな。完結。 \ヽ从// Σ (⌒)ヽ_∧ mてつ ・∀・) <お前。 // YY ヾ\ どんなコードでもいいんでバグ出さないでくれ 後で読まなくて済むから アップローダースレの>>716 がおいていったコードなんだがあまりにも醜くて、 ttp://up.isp.2ch.net/up/dcce97420e5d.zip 一応晒しておきますね。 ざっと斜め読みしただけだが 俺としてはまだ耐えられる範囲かな。 このままの勢いで10倍くらいのサイズになったら楽しそうだが。 use strict について詳しく書いたページないかな。 perldoc以外で。 use strictしろって一文なら何度も見たんだけど いまいちぴんと来ない。 でもせっかくなら綺麗で分かりやすいコード書きたいし。 >>144 「綺麗」の定義にも依るけれど、strict プラグマはコードを「綺麗」に するものではなく「安全」に保つ手伝いをしてくれるものだから、 そういう切り口のページはいくら探しても無いんじゃないかな。 >>145 どうもです。そうかーそうだよね。 コードの書き方自体は perlstyle.pod を参考にしてるんだけど。 use strictするとそれまでなかったエラーがたくさん出るから、 それをひとつひとつ解決するついでに そうすることの意義みたいなものが知りたかったんだ。 でも巷で配布されてるCGIを見るにあまり必要ないことなのかな? 自分はCGI作るためにPerl始めたんで、参考書よりそっちのコードを眺めてるほうが多い。 多人数での作業、または 巨大プログラム開発時における変数の保守のため。 1人規模のプログラムではまだ必要ない。 でもできる限り関数化は目指した方が後々良い 配布 CGI のコードにろくなものがないのは激しくガイシュツ >>146 えーと >コードの書き方自体は perlstyle.pod を参考にしてるんだけど。 が、 >でも巷で配布されてるCGIを見るにあまり必要ないことなのかな? なんでこう思うようになっちゃうのかが分からないんだけど。 もしかして最初から何も考えずに use strict してるとその ありがたみって分からなくなるのかな? だとすると use strict しろっていう「一文」て実は有害? use strict せずにグローバル変数使いまくりな CGI の 改造して地雷踏んだりすれば意義なんていやっていう ほど痛感するものだと思うんだけどね。 なんだかアホいレスしていてすみません。 We上の色々な講座的ページを見ながらPerlの勉強をしてるつもりですが use strictした上でのコーディングについてはあまり見つからないんです。 正直、use strictをすることで得られる恩恵についてはほとんど知りません。 「use strictしろというからやってみたけどエラーばっかでこの次どうすりゃいいんだかワカンネ」 「でもしたほうがいいらしい」 ↑この辺をぐるぐるしているw >>150 なるほど。 use strict の次は「なんでもかんでも my つけろ」かな。 perldoc をあれこれ読めば use strict する理由もエラーの 対処法も分かると思うが、『Perlプログラミング救命病棟』 読むといいかもね。まとまってて扱いやすい。 正直、Perl について Web 上で「ハイレベルではないがモダン な情報」を手に入れるのは厳しいと思うぞ。 144 は Perl と BASIC 以外の経験あるかい? あれば割とすぐ恩恵が分かりそうな気がするんだけど >>151 ありがとう。この本知りませんでした。 早速ウィッシュリストに入れたけどとりあえず著書間見てくる あとlocalとmyについてもっと勉強してきます。 >>152 PerlのほかはJavaScriptくらいです。 DHTMLのために少しいじるくらいで、20行以内のものしか経験なし。 あとはDMonkeyとかDelphiを少し捏ね回す程度。 153は俺です。 あと誤字 ×著書間 ↓ ○図書館 メンゴ ∧_∧ ( ・∀・) | | ガガッ と ) | | Y /ノ .人 / ) .人 < >_∧∩ _/し' < >_∧∩`Д´)/ (_フ彡 V`Д´)/ / ←>>106 / ←>>111 !申し込んですぐにLINEスタンプを作れる。あとは投稿するだけ。 http://stampfactory.net 転職の際に必ず思い出してください。 下記の条件が全て当てはまる会社にご注意下さい。 ・IT系 in 東京 ・転職会議で2.5点 ・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 6PXXW0OIOH ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる