実力主義のCGIスクリプトは?
KENTさんやレスキューさんのところは人気は歩けど中身がタコですよね〜★
それほどメジャーじゃないけど、実力のあるCGI配布サイトってないですかぁ???
隠れた秀作知ってたら教えて欲しいぴょーーん★★★★ >>164
いろんなスレにいるっぽいけど、そのabcって香具師、イテェな。
高機能なら実力あるって訳でもないしなぁ。
俺はBBSなるたけシンプルなの借りてきて改造程度で済ましてる。
デザイン部分cssにしとけば標準的なhtmlでてくればたいした困らんし。
実力主義っていったい何を指すんだろね。
折れ的な優先順位を考えてみる。
・コーディングが美しい
・機能が豊富
・特定の環境で不安定だったりしないように対処してる
・カスタマイズしやすい
・設置しやすい
kentは優先順位がそのまま逆ぽいけど 実力主義っていったい何を指すんだろね。
折れ的な優先順位を考えてみる。
・負荷
・セキュリティー
・機能
・見た目
これ。 >>157
rubyがまだ国際化していないってこと。
で、結局のところ
「実力主義のCGIスクリプトは?」
はどれよ? みなさんが適当に要望だして、
それぞれここにサブルーチン貼るってのはどうでしょう? 10ケタについてはもうだれもつっこまないのか・・・ おい、よく見るとC,C++は100ケタだぞ)プ
ってことはPerlは1000ケタ、スゲー)プ
ゴミン>>155でげした
>>162
まずは漏れから
sub manko{
print "まんこ";
} sub chinko {
push("まんこ","ちんこ");
} sub manco
{
system("/bin/touch ./まんこ");
} いくら実力主義でも、実際に出来上がったスクリプトが糞ではなぁ そういえば、昔EditChatなるものが出回ってた。
俺的にはあれは面白いと思う。
全変数、全動作がひとつのファイルで制御できて、それをスキンみたいにして
CGIに読ませると、同じCGIなのに別のチャットみたいになる。
これだけなら、普通のCGIだが、あれ、フレームや発言の表示方法、
入室者リスト、さらには、スキンファイルにBase64埋め込んで、画像までも
フレキシブルに変えれようになってた。
ただし、コード見てみたら、、、普通のチャットよりは格段に重いね。
ただ、ログのベロ読みやってなかったから、その分生半可なチャットよりは
軽いと思う。
その作者、同じく、WebMail版も作って、そのスキンでi-modeスキン作ってたな。
容量指定に合わせてページ切り替え機能もあった。
>172
>出来上がったスクリプトが糞
それが実力ないってことだ
技におぼれるアフォ
>173
昔ってのがどれくらい前かわからんのだけど
confファイルとテンプレート機能を1ファイルに
しただけみたいだが
> スキンファイルにBase64埋め込んで
これおもしろいかも。
最初の起動で画像どっかに吐き出す仕様なら
毎回負荷かからんね。
おもいろいことをかっちょよく書いてるスクリプトはないのか?
小さいのでも、何に使えるのかよくわからんようなのでもいいので。 俺のカウンタならあるけど、いる?
5行だけど、絶対壊れない。 >174
あれは確か一年前、そのとき見たときは公開されてから1年あたりたってたと
思うから実質二年前、初公開らしい。
たしかに、confとテンプレートがいっしょになったようにみえるが、
内部で変数使えたりなぜかifやwhileが使えたりしてた。
(各関数の認識に正規表現使って、ifとかwhileには擬似再帰つかってた
たけど、、、)
confはサーバー上に好きにアップできて、チャット入室時にそれが
一覧され選べるような仕様だった。
(だた、confファイルの設定にプログラム機能(if/whileなど)があって、
悪質な作者がいたずらするとだめだからアップ機能は推奨してなかった
例>while(1){})
>小さいものでも、何に使えるのかよくわからんようなものでもいいので。
よくわからないといえば、「バイナリカウンタ」というのがあった。
全部1と0、、、いったい何人着たのか一瞬見ただけではわからなかったけど、、、
>175
>5行だけど、絶対壊れない
それって何に対して壊れないの?
もしかしてファイルの欠落とかCIRCやECCその他で復元するとか?
実力主義のCGIって何?
CGIに実力も糞もあるのか。
って、実力のあるスクリプト早く紹介しろ。ゴルァ!
>178
>実力主義のCGIって何?
実力あるスクリプト...
やっぱり
「高速、高性能、高機能」
これかな。いくらソースが綺麗でもこの3つが満たされてなきゃ所詮
ダメCGI、とくに、高速性、これは重要だな。
たまたまネットで見つけた。
WebFTPClinet Ver3.0.0ってのどうよ、
アップロード/ダウンロード、無茶速かった。
ソース頼んで見させてもらったらダウンロード部はFTPの
データソケットからブラウザへの標準出力へダイレクトにデータ渡してた。
これだけなら普通のプログラム、誰でも作れるが、
アップロード部、これはよくやってる。
ブラウザからのmultipart/formdata、ライブラリつかわないで自ら解析し、
解析結果をリアルタイムにFTPのデータソケットに流し込んでた。
俺んところで、ローカルでアップロード耐久性テスト行ったら
1GBファイルのアップロードでもメモリ消費/CPU時間ともに
ファイルサイズに無関係でまったく問題生じなかったし。
ファイル削除は擬似再帰使ってサブフォルダまで消してたぞ。
スピード/性能 GOODだと思う
機能はアップロード/ダウンロード/名前変更/パーミッション変更/ファイル削除
だった。
機能はまあまあだな。
レジウム以外のFTPコマンドはまあまあサポートしているようだ。
俺としてはこのスクリプト実力主義にのっとってると思うぞ。
>175
>176
絶対壊れない5行とかバイナリカウンタ
いいかんじです。<小さい&面白い
>176
search.cpan.org
>179
>とくに、高速性、これは重要だな。
速度より見通しじゃないか?
CGIの書き方がタコで重くて困るなんてあまり経験したことがないので。
サブルーチン化とかクラス化が理にかなっていて変更とか後付けしやすい。
一箇所変えればいろんな場合に柔軟に対応
こうゆうのは経験値がないとできないし利用価高いと思うので実力
>180
イイスクリプトなのだろうとは思うけど
ソース見れないの? >181
>速度より見通しじゃないか?
うーん、そういわれればそうかも。
凧ソースで激重はあったけど綺麗ソースで激重は、、、確かにあまり見かけないな。
それにソースは綺麗なほうがいいし、俺も綺麗なのは好きだな。
というか、確かに解析者側から見ても綺麗にサブルーチン化してなかったり、
凧ソースじゃ、解析が面白くないし、目薬が必要になるな。
絶対実力。俺も同感。
>ソース見れないの?
ちと聞いてみる。そのサイトさんいい人っぽいし、
>181
そういえば、綺麗だけどタコ重いのあった。俺が地元のバス乗り継ぎ
検索システムのコード見る機会があったとき、
俺の先輩が作ったらしいバス乗り継ぎサーチモジュールで
複数の路線にまたがるバス停探す重複チェックにPerlの
癖して二重ループ使ってた。あれはやばかったな。
コードは数行で綺麗だったのだが、
チェック毎に計算量O(n^2)。俺的にはタコ。
あれはC/C++言語orアセンブラあたりに用いるべき手法だな。
スピードを出すのも利用言語の特性とか、高速処理可能なデータ構造、
モジュール構成、そのたいろいろな要素があるし、
解析者から見ると、ちと汚いソースになるんで、どうかと思うが、
プログラム本来の目的、ユーザーの快適利用を考えると
これも実力。
見易さとスピード、、、
両立できれば多分最高のスクリプトだろうな。
それとも、
今のご時世ハイパワーサーバーが多いし、スピードは多少犠牲にしても
見易さのほうが重視されるのかねぇ。
絶対壊れない5行カウンターとか言って、結局flockでロックしてるだけだったりしたら、凧ソースだよな。
やっぱどんなプラットフォームでも絶対壊れない5行カウンターなら認めるけど。
あと、見栄えを中心にできるだけ速度を追及しているソースは見てて嬉しくなっちゃうね。
そんな掲示板スクリプトとかチャットスクリプト無いか?
Perlで馬鹿みたいに改造して速度を求めるより
Cで書いたほうが余裕で早い。
Perl専門プログラマはいいかげんC言語習得せよ。 テキスト主体の処理をCでやるのはF1で泥道走るようなもん。
泥道はラリーカーのが速い。
適材適所。 >185
Perlはどこがいいかといったら、テキスト処理に特化されていて
1、開発期間の大幅な短縮が可能
2、開発環境がすべてフリー
3、どのプラットフォームでもかなりの安定度を得られる。
これですね。特に1は重要です。ここがCとの大きな違いかな。
目的によって使う言語を分けたほうがよいと思う。
第一ユーザーはそのサービスにどんな言語使ってるかなんて、
いちいち調べないぞ。
だいたい、PerlプログラマがみなPerl専科なわけ無いだろ。
>184
いいのみっけた。
http://www.din.or.jp/~ohzaki/perl.htm#File_Lock
カウンタとはちと違うかもしれないが、ここの排他的ファイル制御、
俺的には最強だと思う。どんなプラットフォームでもOK
かつ、デットロック回避搭載とか。
こんばんわ、こちらの掲示板のnobodyさん(たくさんいますね(^^;
に紹介されて来てみました。
WebFTPClientVer3.0.0、開発しているものです。
それで、これのソースの公開に関してなのですが、
じつは、私のホームページおいてるサーバーが諸事情により使えなくなり、
あと一週間くらいしないと代えのサーバーが使えるようにならないのです。
代えのサーバーが使えるようになりましたら、
ここの掲示板にURLを書き込んでおこうと思います。
それまで、しばしお待ちください。
>191
そ、そうだったのか。油断した。スマン。
というか、今日はじめって知ったID???のからくり、、、
>それまで、しばしお待ちください。
あ、ほんとにきてくれたんだ。ありがと、
それじゃ待ってるぞ。
>183
二重ループごときで遅くなるの?
行数が少ない != 綺麗
コードが綺麗ならイイてことだけじゃなくて設計ちゅうか
何処をクラス化して何を引数にするのかとか
うまいと必然的に綺麗になると思うのよ。
いくら綺麗にコード書いてもそのへんタコだと効果なし。
(よくわからずに書かかれたOOとか
規模がでかくなるほどにぬるくなる罠
でも当然、速いにこしたことはないです。 >195
>二重ループごときで遅くなるの?
なるぞ。これはアルゴリズムの問題だが、
とくにチェック対象が何十もあり、対象レコードが数百あると、
ifしか使わないにもかかわらず、だめだね。
(市内バスの路線と、それにぶら下がるバス停、これをもとに
した乗り継げる重複ポイントの検索)
ただ、災厄時のレスポンスを500ms以内目指すとだけど...
俺だったらハッシングしてシノニム数え上げるな。
少しコードは多くなるが、書き方によっちゃこっちのほうが鮮やか。
これはアルゴリズムが根本から違うから、かなり差が出るぞ。
O(n^2)とO(n)、これはでかいと俺は思うな。
>行数が少ない != 綺麗
>コードが綺麗ならイイてことだけじゃなくて設計ちゅうか
>何処をクラス化して何を引数にするのかとか
>うまいと必然的に綺麗になると思うのよ。
>いくら綺麗にコード書いてもそのへんタコだと効果なし。
いえてるいえてる。
プログラム構造は重要だな。よいと汎用性に長け、自然と速くなる、
視力悪化の低下にもつながるかもな。
解析者にとっては当然だが、開発者としては耳の痛い話だ。
納期迫って、どうしても仕事で組んでるとクラス化、モジュール化が面倒になる
んだよな。
ってことは、先の
あれは凧ソースというより、凧アルゴリズムといったほうがよかったな。
あのクラス構成はC++に近かったが結構イケてたと思う。
>184
>あと、見栄えを中心にできるだけ速度を追及しているソースは見てて嬉しくなっちゃうね。
>そんな掲示板スクリプトとかチャットスクリプト無いか?
そういえば、この2ch掲示板って結構イケてない?
かなり速い&かなり安定、デザイン、機能的にもいいような気がする。
ってことで、掲示板は俺的には2ch掲示板。
これほど実績あるスクリプトはそうないだろ(笑
チャットではむかし南国CGIファクトリなるところ(今はない)が
「サーバーチャット」
というものを出してた。あれは素晴らしい、
8080ポートをHTTPサーバーにして、チャットに参加するブラウザを
すべて自前サーバーで裁くというもの。
あたりまえだが、あれほど軽いCGIチャットは見たこと無い。
ただ、安定性はちと疑問だったがな。
(なんか、永久常駐回避コードは入ってたが、怖い。)
WebFTPClient ダウンロード準備が完了しました。
しかし、、、ここのスレ、レベルが高いようで、、、
あまりコードが綺麗じゃ無いような気がするので、、、
期待に添えないかもしれません。
一応、私のサイト、ホームページ集中管理CGI導入しているため、
もろいんで、タココードだーとかいって、アタックしないで下さいね(^^;
http://www.age.jp/~lunar/
です。ここのDownloadからダウンロードできます。
一応、Serviceに実行可能なWebFTPもありますので、どうぞご覧ください。
>>198
このスレにリンク張ったってことは実力主義ということか・・・
それよか、重いページだな >199
はぁ、一応は、、、
このWebFTPはレスポンスをよくするために、デザイン無視(テキストOnly)+
操作性重視+ソケット通信やmultipart/formdataの受け取り、解析など、
自前で行っています。ライブラリとか使うと、どうしてもオーバーヘッドが
生じがちで、、、ユーザーサイトからみた実力って、
操作性、機能、そして一番がレスポンスだと私は思うんですよ。
ユーザーなんて、ソースコード見てくれませんし。
これ、実力主義にはあいませんかね?
(日本語変換ライブラリだけは使わせて頂いていますけどね。)
>それよか、重いページだな
はい、私もそう思います、、、
というのも、ここのサーバー、年間3300円で、CGIが使えるーってことで、
安さだけで決めたものでして、、、ここまで重くなるとは思っていませんでした。
おそらく、私の所で使ってるホームページ集中管理システムも
重くしている原因かなとも思っていたりします。
ソース見たけど・・・別に凄くない気がするのは漏れだけか?
>ソケット通信やmultipart/formdataの受け取り、解析など、自前で行っています
これは、あたりまえな気が・・・。
個人的に無意味にグローバル変数使いまくるスクリプトは嫌いです。
てゆーか自作自演ですか・・・?
ソース再度ジックリ眺めてみますた。
機能は分かった。普通に使えるだけの機能はあるかもね?
で、ソースだが・・・どこがどう実力主義なのか説明してくれませんかね
ワ タ ク シ に は ワ カ リ マ セ ン
BASIC出身の方ですか?
全体処理の流れは問題外として。
とにかく無駄多すぎ、multipart解析部分もひどいもんですな・・・
Perlの特性とか正規表現とか、もっと勉強してくだちぃ。
#!E:/Program Files 2000/Programming/Perl/bin/perl >ソース再度ジックリ眺めてみますた。
あー、やはり。うすうすは気づいていました。
ちょっとオブジェクト指向でも導入できるように頑張ってみます、、、
どうもすみません。
なかなか同じ高校な仲間と運営しているとどうも
自サイトのコードがどのくらいの実力があるかわからなくて、、、
(これでうちの高校のSocket通信部では一番速かったというから、、、
困ったものです、、、)
ほんとにすみません。
#multipart/formdata、、、あれは私も見たくないです
#ディレクトリの再帰的削除もまずい、、、か
>202 203
はい、Win32 Nativeな環境で作ってます。
もとは中学のときにVisualBasicでちょこちょこやってて、Perl
Basicに近いからとPerlをはじめたわけです、、、
しかも、専門書は高いんでWeb上で公開されてたKENTさんやBOOさんとか
のコードを参考にちょこちょこ組んでいました。
しかし、
どうもすみませんでした。これを機に、、、オブジェクト指向/
怪しい正規表現/無駄の多すぎるコードを改善していきたいと思います、、、
お騒がせしました、、、
なかなかないもんですな。
やはりc-board最強?
>> ソケット通信やmultipart/formdataの受け取り、解析など、自前で行っています
> これは、あたりまえな気が・・・。
どこらへんがあたりまえ?
普通は CGI.pm なりNet::FTP.pm なり使うでしょう。
言い古されてきた言葉だけど、オーバーヘッド気にするならPerl使うなと。
>205
>やはりc-board最強?
名前から見ると、、、Cで書かれた掲示板か?
それはすごそう。俺見たこと無いぞ。
それ、ソースコード公開してる?
ちょっと見てみたい。 >>204
がんばってくださいな
作れるところは全部自作しようって心意気は非常に素晴らしいと思います
>>206
そなの?
漏れの仕事環境の周りの連中はそこらへん自作ライブラリでやってるが・・・
>普通は CGI.pm なりNet::FTP.pm なり使うでしょう。
内部処理的にどうなってるか理解してない人が使ってるだけでは・・・?
そこらも自作出来る人は自分用にライブラリ作ってると思われ。
まぁ、実力主義ってのは、、、コンセプトにのっとったモノならいいんじゃん?
「汎用性高いモノにしました」って言うなら最も汎用性高いのが実力主義だし
「速度を求めた」つーなら速度だろうし
最近の格闘技みたいに、いろいろなジャンルはあるが、その中でも一番強いやつは誰?的なこのスレは、夢があって良いと思うぞ。
速度No1、汎用性No.1、スクリプトわかりやすさNo.1……
その中でも最強は何なのか。ロマンがあるねぇ〜(w
>>207
おいおい、んなこと言う前に、このスレを最初から読め。
C-boardとか、初期にいろいろ紹介されているサイトも読んでコイ。
バカカト、アホカト…
>>204
プログラミングは分かりませんが、
サイトデザインが実力主義っぽくなくていただけません。
でも応援してます。最強のウェブFTPクライアント作り
がんばってください。遣わさせてもらいます。 別スレでガイシュツだけど、
http://sourceforge.net/projects/nms-cgi/
はどうよ。
「Matt's Script Archive」にあるスクリプトの
代替品を作るプロジェクトらしい。「Matt's…」
は人気があるけど、中身のコードが糞だから書き
直してやろうと。 KENTさんやレスキューさんのところは人気は歩けど中身がタコ
なので書き直してやろう。 >>212
まだできないのか? 待ってるんだけどよぉ 書き直すメリットが無いだろ。
一から書いた方が早い罠。 216に禿同なわけよ
仕様が全然汎用性ないし。
プライベートの時間さいてんなもん作ってなんのメリットが?
できないからだろ」と思われたらあるいみ
その通りなのです。あんなのできない。
誰かやらねぇかと思って発言
濡れはやりたくねぇですスマソ
一番人気のhogehoge-boardなんてのはそこらのテンプレート
掲示板でスキン作れば十分同じものじゃないか? #!/usr/local/bin/perl
print "Content-type:text/html\n\n";
for (my @ENV = sort keys(%ENV)) {$env.= "<tr><td>$_</td><td>$ENV{$_}</td></tr>";}
print "<table border=1>$env</table>";
exit;
どう? ttp://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/037.txt
ttp://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/038.txt 今掲示板を探してます。
おすすめな掲示板を教えて下さい。
おながいします。
>>225
まだ完全じゃないけどね。。
最近はレンタルサーバでもSocket使えないところ多いから
バグチェックとか実験できなくて大変でつ
作者が出しゃばるとロクなことがないのでこれで消えますわ。。 ttp://www.ace-cgi.jp/
ここはどうですかね?
>>228
BBS1しか見てないけど初っ端からrequire './jcode.pl';してる時点で
エディタ閉じた。
大抵その手のスクリプトは後も無駄だらけな処理してるし見る気無くす。
つーかどの辺を見て実力主義と思ったの?
>>228,229
それ以前にあのBBS、全部まとめて一つに出来るんじゃ…? >>229
デザインがちょと気に入っただけ。
あっひゃっひゃ。
お手数かけてすみません。
逝ってきまーす。
>>229
Jcode 使うだけで無駄とはこれ如何に ? ただ、これはこれで、
ロジックとデザインの分離の必要性を示してくれる良い教材にはなると思うが。 >>214
>>218
の「濡れ」の意味がわかりません。w
「漏れ」というのは、よく見ますが。 >>219
プレゼントだよぉ
#!/usr/local/bin/perl
print "Content-Type: text/html\n\n";
print "<table border=1>";
foreach (sort keys %ENV) {
next unless /^HTTP_/;
print "<tr><td>$_</td><td>$ENV{$_}</td></tr>";
}
print "</table>"; #!/perl
use strict;
use CGI ':all';
my $q = CGI->new;
print $q->header;
print $q->start_html(-title=>'ENV List');
print $q->table($q->TR([map { $q->td($_).$q->td($ENV{$_}) } sort keys %ENV]));
print $q->end_html;
exit; あ、しまった。いつもtableタグにborder属性つけるの忘れる……。 つか、世の中のcgiサーバ環境がまともじゃないから(標準モジュール抜いてくれたりね)
有名なとこでまともなcgiなんて見かけませんが。 あら〜〜〜〜〜★
ここまだあったんだあ(はあと)
★〜懐かしいわあ〜★ >>136
もう初心者ぢゃなくなったか?
はやく作れ。