X



【CGI】合同開発室

1当方へたれですが
垢版 |
01/10/02 00:35ID:GsMMcvtM
合同で学習用スクリプトとかの開発をできないかと思って
iswebだけどアプロダ置いてみました。
http://isweb36.infoseek.co.jp/computer/perldev/
参加してくれる人キボン
01/10/18 22:55ID:???
> seek HTM,-length,1
これなに?
01/10/18 23:02ID:???
>>50
s///eg のeオプションはいらないだろう。
01/10/18 23:07ID:???
>>55
たとえば、
s/(\d+)(?=<!--\/count-->)/$1+1/eg
とか。
01/10/18 23:27ID:???
>>56
いやだから、上記の例では必要ないだろうと言っているの。
5845
垢版 |
01/10/18 23:30ID:???
>53 おー さんちぇ!
そっかバックすれば良いんだネ、うちはカウンターまで4行しかないから
イイ(・∀・)感じになったヨ

:でもdだ時HTMLごと逝っちゃうのはイヤな感じかも  (w
うちは閑古Webだからネ、一応ロックバリバリにしてるけど今の所大丈夫みたい
200hit/DAYって感じだからかナ

>54
seek HTM,-length($_),1だヨ
01/10/18 23:32ID:???
>>50 に書いてある流れで、
s/// だけでカウンタインクリメント出来ると?
01/10/19 06:41ID:???
55は49を読んでないツッコミ症候群だと思われ、、、
611
垢版 |
01/10/19 06:46ID:UfCiRs0I
あぷろだv0.1.0上げました。
投稿削除ができるようになりました。
変更点は,ログフォーマット,delete.pl・delsetup.tmpl導入,他少し。
ログフォーマットも大体固まったので明日あたりにiswebにサンプル置きます。

--
>45 >>58
HTML書き出し式カウンタを使ってるんですか?
実際に使うには,普通の,カウントを別ファイルに持つ形式より
危険な感じがするんですが,利点とかてありますか?
煽りとかじゃなくて,純粋に気になったので。
6261
垢版 |
01/10/19 07:04ID:???
>>61
SSI使えないサーバでも使える。ってのがたぶん利点。
それ以外では使う理由ない。
あ、あとはカウンタ表示自体ではCGI起動しないってのもかな。
6362
垢版 |
01/10/19 07:15ID:???
あれ、すみません、俺は61じゃない。
01/10/19 07:34ID:???
>>62
このカウンタって
・htmlにアクセス・表示
・IMG経由でCGI呼び出し
・htmlを解析してカウンタ部分を加算
・html書き出し
という方法ですよね?

これだと以下みたいなのと比べると,
毎回htmlを書き出すんで負荷やあぼーん率が高くなりそうと思って。
・cgiにアクセス
・index.tmpl読み込み
・count.dat読み込み
・カウント
・index.tmplの特種タグ(0<!-- __%%COUT%%__ -->とか)置き換え
・count.dat書き出し
・print

うー,ちょっと混乱してます・・・
01/10/19 10:54ID:???
えっと、
index.htmlのimgタグ(ボクはiframe)でcount.cgiをキック
index.htmlをopen (+<モード)
特種タグ(0<!-- __%%COUT%%__ -->とか)までseekでジャンプ
特種タグ(0<!-- __%%COUT%%__ -->とか)だけ書き換え
close; exit;
ですヨ

理由はSSI出来ないからデス、後UAとかHOSTとか要らないので
外部ファイルは無いデス、(一応重複防止にクッキー吐いてるケド。。。)
だからファイルを一つだけ、一回だけ開いてexitデス。

:あぼーん率が高くなりそうと思って。
うー、これはボクがwriteシステムコールの
アトミック性を理解出来て無い(どれ位で分割されるのカ)のでアレですケド、
実は多分0バイトにはなりようが無いデス、truncateして無いので0バイト
になる瞬間が無いのデス、VMWARE使って、ファイルロック無し、
forkで50プロセス×3ホストから同時アクセスを何十セットかしてモ、ミスカウントは
したけど飛ばなかったですから。。(この辺は突っ込み歓迎デス)

これはflockが信頼出来なくて0になると鬱な時とかちょっと(・∀・)イイかも
知れませン、例えばカウントファイル(カウントだけ)を、、、

open (DAT,"+<foo");
flock (DAT,2);
truncate DAT,0;
seek DAT,0,0;
print DAT "$count";
じゃ無くテ

open (DAT,"+<foo");
flock (DAT,2);
seek DAT,0,0;
print DAT "$count";
truncate DAT,length($count);
とか。。(これも突っ込み歓迎デス)

取り合えず今のところ50000くらいだけどdでないのデス。
01/10/19 16:37ID:???
truncate ってどんな実装よ?
>truncate DAT,length($count);
ここで小さくなったりしないのか、、しないよな、うーん。
01/10/19 19:25ID:???
おおお、しばらく見ないうちにおいらの分からないエリアに入ってる...

これを作ったのは、某所で、CGIのテキストカウンターってないの?
という話があったからなんです。で、んじゃ作るかと思って作ってみた
ものなのですが、いやぁ、おのれのあまりの未熟さを痛感しました。

なんか場違いでスマソ。 >1,ALL
01/10/19 19:56ID:???
>>66
カウントファイル的には桁数が前より小さくなることは無いので、
truncate DAT,length($count);では小さくならないね。
ってことは truncate かける意味も無いけど。
01/10/19 20:46ID:???
>>67
CGIのテキストカウンター
http://www.around.ne.jp/software/fastky/library/index.html#counter
701
垢版 |
01/10/19 21:45ID:???
>>65 ありがとう。なんとなくわかりました。
>>67
ぜんぜん場違いでないと思いますよ。
スレが活発化しました。
01/10/19 22:14ID:???
>>65のソースキボン、、イマイチ解らん    鬱
01/10/19 22:30ID:???
>>69
それ、なってない。
01/10/19 22:35ID:???
>>69
<counter></counter>なんてワケのわからないタグを使用している時点でアウト。
仕組みは同一だし。
01/10/19 22:41ID:???
+> 使ってるのなんて始めて見た。
しかもこの場合意味無いどころか、いったんtruncateされるので
タイミングによってはindex.htmlが正常に見られない。
01/10/19 23:34ID:???
お、何か盛りあがってますネ
良く考えたらアプ板なんでボクもあげましたヨ >>71
>>53さんのが入ってるでス
flockコメントアウトしたりしていぢめてみてくださイ
調子にのるとカーネルらー に突っ込まれそうなのでこの辺で退散   ササッ(((・∀・;)

http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/017.txt
01/10/19 23:47ID:???
ところで>>1よ。
アプロダの
A:hover {color: red; font-weight: bold;}
このドキュソスタイル指定を消してくれ。マジウザイ。
01/10/20 00:22ID:???
カーネルらー、ってなーに??
01/10/20 00:23ID:???
>76 了解。消しました。
--

あぷろだ,テスト設置してみました。
iswebなので,コピペで飛んでください。
ttp://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/tiny_upbrd/upload.cgi
まだ拡張子の判定がイマイチです。
791
垢版 |
01/10/20 03:38ID:???
>78=1
拡張子指定できるようにしました。
http://isweb36.infoseek.co.jp/computer/perldev/
からもいけます。
8071
垢版 |
01/10/20 15:57ID:DdyXBwQg
>>75
これ良いな、ちょっとflock外して5万回位叩いてみたけどHTMは勿論カウンタデータも飛ばないよ
良く考えたらとびようが無いんだな。syswrite使っとけばより安心って所かな?
俺の使ってる所時々ファイルが飛ぶから、上のKY何とかみたいなのは怖くて使えないんだよ
俺もアクセス解析とか要らない派だから外部ファイル無いのも気に入った
ちょっと弄って使わせてもらうよ THANKS!!
01/10/20 16:21ID:???
>>80
flockしなかった場合に本当に常に1ずつインクリメントされるかどうかは疑問。
01/10/20 16:27ID:???
疑問って・・・される訳ないだろ  藁
83名無しさん@お腹いっぱい。
垢版 |
01/10/20 16:58ID:WoA8FLwb
>>80
5万回つーても、同時アクセス数いくつに設定?
01/10/20 17:13ID:???
先生!出直してきました。
また見てやってくださいませ。

http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/018.lzh
8571
垢版 |
01/10/20 17:32ID:???
何っつーか、、
>>81 やってみれば?
>>83 5万回÷俺の環境で許されるほぼ最大のプロセス数だけど?、
つーか君はディスクアクセスなんてオーバーヘッドの馬鹿デカイ処理に対して
単にローカルでforすりゃ十分って事が分からないのかい? 

まー良いや取り合えず>>75 有難う!
8683
垢版 |
01/10/20 17:57ID:???
>>85
いやーん怒んないで。Apacheのおまけについてくる
abコマンドでベンチマークとったのかと思ったんですよう。
8771
垢版 |
01/10/20 18:52ID:???
あ、こっちもスマソ fork×50でtrigger.plをexec trigger.plで1000forて感じ。
これ以上はNTだとヤバイから、ローカルはIISだからabコマンドは解らないよ
HTMをパースしてそこだけ書き換えるってのが、本物SSIっぽくて
ちょっと良いなと思っただけ、別に飛ばない方法なら幾らでもあるし
と言う事で外野は去る事にする。
8881
垢版 |
01/10/20 22:05ID:???
疑問っつうか、されない事わかってて言ってますよ:-)
89名無しさん@お腹いっぱい。
垢版 |
01/10/20 22:14ID:lWm0+PHj
ゴミどもめ。
早く死になさい
01/10/20 22:20ID:???
(´-`).。oO(また変な流れになってきたね・・・)
01/10/20 22:25ID:???
わかってて疑問なのかよっ!!
01/10/21 00:17ID:???
>>84
取り合えずCGIならdieは辞めとけ、エラールーチン書いてそこに飛ばせ
ただ例えばファイルが100kbだとして、書き換えたいのは20バイト足らずなのに
毎回全部書き直すってのは効率はよろしくないってこった、
その程度の効率は俺は気にしないけどな、それが嫌なら75のをパクれ
01/10/21 02:34ID:???
100kbのHTMLファイルなんてヤダ!(いや、わかってるよ
941
垢版 |
01/10/23 02:28ID:RBVSiDON
あぷろだのネタが思いつかなくなってきたので,XBM表示CGI作りました。
<IMG src="xbm.cgi?100">で100と表示します。
サンプルは
http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/print_xbm/view.cgi
です。

□と■の文字列から画像データを生成するようにしてみしたが,
変換処理,ごちゃごちゃして少し読みづらくなっちゃいました。
95仕様書無しさん
垢版 |
01/10/27 23:41ID:YdPss8Pv
(´-`).。oO(移転あげなの・・・)
961
垢版 |
01/10/28 00:59ID:???
>95
ありがとです。
今ちまちまとネタCGI(物語自動作成)作ろうとしてるんですが,
いきなりデータ形式でつまってます。
作ってみたいのいくつかあるんで,浮気しながらちょこちょこ書いてこうかと思います。
01/10/31 21:41ID:???
(´-`).。oO(ちょっと別スレで使わせてもらっちゃった・・・・ダメ? )
981
垢版 |
01/11/02 04:59ID:/ySb/MGF
>>97 全然問題ないです。そういう意味もこめて置いたので。

--
改造工房用にアプロダ置いたら,どのくらい利用されると思いますか?>ool
01/11/02 07:44ID:???
>>98
ログ設定を大きくしていると利用されやすいかも。
すぐに流れると、投稿する方も閲覧する方もツマンナイし。
(ぁゃιぃ風味は止めた方が良いですよ)
1001
垢版 |
01/11/03 04:40ID:???
あぷろだ v0.1.2をあげました。
>>1 からいける,「あぷろだテスト」のほうです。
CONFIGとテンプレまわりいじって,CSS使ってみました。
1011
垢版 |
01/11/03 23:46ID:kIdT+u23
あぷろだ v0.1.2.1をあげました。
最適化とバグとりです。

複数ページ化をどうやるか考えてます。
102名無しさん@お腹いっぱい。
垢版 |
01/11/05 17:00ID:LgoarrLr
>>101
v0.1.2とv0.1.2.1を展開するとupload.cgi.binのようなファイル名になって
各ファイルにバイナリっぽいヘッダが付いてるんだけど、
もっかいアップしなおしてもらえませんか?
1031
垢版 |
01/11/05 17:27ID:???
あっ,すいません,MacBinaryで圧縮かけちゃってました。
0.1.2.1あげなおしました。
多分これでおけだと思います。
1041
垢版 |
01/11/07 07:22ID:p5r/Tumr
複数ページ化したv0.1.3,あげて設置しました。
>>1 からいける,「あぷろだテスト」です。
105名無しさん@お腹いっぱい。
垢版 |
01/11/08 03:07ID:LQlTaHHV
初心者スレで教えてもらったのを忘れないようにと
vars.pmいじってglobal.pm作ってみました。
グローバルな変数とかをシミュレートします。
01/11/10 00:18ID:???
マッタリ上げ♪ (・∀・ )
今一盛り上らないのはCGIの悲しい所かな、、、
Cと違ってperlは関数に千切りすぎると極悪に遅くなるからねー
今Socketで遊んでるから、LWP::Simpleもどきでも出展してみようかしら w
1071
垢版 |
01/11/15 14:16ID:ra8XDH7X
ログファイルをモジュール使ってうまく管理できないかと
オブジェクト指向のを調べてましたが,なかなか難しいです。
DBやTieのやり方が関係あるのかな。

>>106
分割してくと遅くなるんですか。今まで千切りまくってました(^^;
Socketとかさっぱりわからないので,ばりばり使ってる人を見ると
すごいなぁと思います。
1081
垢版 |
01/11/19 11:59ID:???
>107 のモジュール考えてたら,あぷろだにバグ見つけました。
ロックがかかってるようで全然かかってません。
修正は少し手間取りそうです。
01/12/19 13:44ID:???
設置方法がわからない
01/12/19 20:17ID:???
えと,あぷろだなら,新しいCGI.pmとHTML::Template.pmをパスの通った適当なところに入れて
パーミッション設定して,upload.cgiの1行目のパスを変えて,
2〜16行を削れば動くはずですが,自信無いです。

Perl勉強中の素人が書いたのでバグ入り低機能・高負荷です。
今フォームデコードも単体でできるようにと いろいろ書き換えてますが,手間取ってます。
111 
垢版 |
02/01/01 12:05ID:+ymJLOJv
解凍の仕方がわかんない
02/01/01 12:17ID:???
↑ 生きる価値ゼロ v(^v ^*
02/01/01 13:23ID:???
死に方がわかんない
114 
垢版 |
02/01/03 03:44ID:yfnaT3pD
>>113
http://choco.2ch.net/test/read.cgi/news7/1009233792/
02/01/03 09:08ID:???
『改造クン』とかいう共産主義者で偏差値80以上の高校生(現在2チャンネラー)の
クソガキが運営している最低なHPスペースです。
ユーザーの事など全く考えずに、こづかい稼ぎだけが目的で営利主義に走ってやがります。
天罰を与えてやりましょう!!
イタズラ登録をしまくって下さい。悪用しちゃってもいいですよ!!
鯖に負荷かけまくって責任とらせるってのも面白いかも(プ

http://k-server.org/ http://k-server.org/ http://k-server.org/
http://k-server.org/ http://k-server.org/ http://k-server.org/
http://k-server.org/ http://k-server.org/ http://k-server.org/
http://k-server.org/ http://k-server.org/ http://k-server.org/


この文章のコピー・転載を歓迎いたします。
116名無しさん@お腹いっぱい。
垢版 |
02/01/03 21:12ID:nWDcFjev
>>115
よくも飽きずに自作自演してんなぁ。
117名無しさん@お腹いっぱい。
垢版 |
02/01/04 00:44ID:ZDJ61sb3
>>92
あとあれです。
openの後のdieは、||ではなく、or dieを使うことが推奨されています。
(らくだ本では。perlfuncにはその記述はありませんね)
いずれにしても、処理に失敗したらエラーメッセージを出す仕組みは
必ず必要になるので、簡単なスクリプトであっても、
用意して置くに越したことはないと思います。
02/01/04 03:40ID:???
>openの後のdieは、||ではなく、or dieを使うことが推奨されています。

その根拠は?、優先順位理解する方が大切じゃないかと思うが
是非説明おねがい
02/01/04 08:27ID:???
>118
>その根拠は?
当ててみな( ゚Д゚)y-~~~
02/01/04 09:43ID:???
評価順位知らない馬鹿がカッコ外して嵌るから ヽ(´ー`)ノ
02/01/08 02:32ID:???
浮上
122名無しさん@お腹いっぱい。
垢版 |
02/01/09 23:53ID:IrymNKBw
JavaのInterfaceをヒントにInterface.pmを作ってみた。
ホントはMLに投稿しようと思ったけど、
急に2週間ほどネットに繋げないことになったんでここで。
全然磨いてないけど着眼点は悪くないと…自分では思う。
02/01/11 15:15ID:???
>>122
5.6入れてないんで動かなかったけど
これを使うとメソッド名の統一ができるのかな
最近メソッドの命名に悩んでたので参考にさせてもらいます
124名無しさん@お腹いっぱい。
垢版 |
02/01/11 15:24ID:FU5QMXGq
>>115
偏差値なんて相対的な物だから自慢したいならまず偏差値80を出した
テストを明らかにしてね。
02/01/11 15:45ID:???
テストを明らかにしても意味は無い (笑
126名無しさん@お腹いっぱい。
垢版 |
02/01/12 15:26ID:Ca0kINDV
あげ〜
02/01/16 17:39ID:???
無常を爭ひ去るさま、
http://pc.2ch.net/test/read.cgi/perl/1009299447/129
02/01/17 05:07ID:???
あぷろだ1.01。
HTMLソースの下の方にベンチマークを書き出すようにしました。
Logs.pmを使ってログを管理するようにしました。

まだ中途なのでsage。
129名無しさん@お腹いっぱい。
垢版 |
02/01/28 07:41ID:U2Qq819d
名前も保存されるようにするのってFTP機能じゃないとダメなのかな
02/01/28 19:00ID:???
?別にリネームしなければいいだけでろ?
穴だけど
131名無しさん@お腹いっぱい。
垢版 |
02/01/28 19:54ID:Vj1E59E1
あぷろだなんだが、{}で囲ってなんかやってるとこあるじゃん。 { # ○整形
みたいにね。
ここはさ、メソッドとして抽出したほうが見通しよくなるとおもうんだが、、、
132名無しさん@お腹いっぱい。
垢版 |
02/01/28 20:57ID:U2Qq819d
>リネームしなければいい
もれじゃできねえから、できたらだれかやってくれ
02/01/28 22:30ID:???
ユニークである必要があるし、このままでいいだろ。
コメントをちゃんと書けば不便じゃないさ。
02/01/29 14:14ID:???
>>133
サーバに保存されるファイル名と、ダウンロードされるファイル名は
一緒である必要はないから、OKと思う。
ただ、ダウンロードのためだけにCGI起動させるのはアレなんで、
mod_rewriteとか通してやれば素敵になりそう。
1351
垢版 |
02/01/29 14:22ID:???
>>131
 ありがとうございます。
 あのあたりはごちゃごちゃしてるので なんとかしたいと思ってるんですが,
分けようとしても速度遅くなるわ変数のやり取りが見辛くなるわで
うまく書けなかったのでああなってます。

 ああいう切り分けとかをサクっとできればいいんだけど,
時間かけて悩んでる割に大したモノが書けない・・・
136名無しさん@お腹いっぱい。
垢版 |
02/01/29 16:16ID:7v+0Ir29
>>1 気づいた点をすこし。

[main.pl]
> use lib '/home/mas/www/library', '.';
* 環境に依存する部分は下記みたいに分離した方がいい。とくに多くの人に使ってほしいの
なら。
BEGIN { do "setenv.pl" if -e "setenv.pl" }
BEGIN { push(@INC, $ENV{YOUR_PERL_LIB}) if $ENV{YOUR_PERL_LIB} }

* "." は必要ない。
* パフォーマンスにこだわるのなら lib は使わない。内部でConfig.pmをつかっ
ているので以外と重い。

> use CGI;
必要とするCGI.pmのバージョンは?
おれは2.46なんで、CGI::cgi_error、CGI::uploadとかないと怒られた。
1371
垢版 |
02/01/29 16:59ID:???
>>136
ありがとうございます。
CGI.pmは2.47からupload()や cgi_error()が実装されたようなので,
2.47以上が要ります。 開発では2.78使ってます。
前はバージョン指定してましたが,書き換えた時に消しちゃったみたいです。
138名無しさん@お腹いっぱい。
垢版 |
02/01/29 17:34ID:7v+0Ir29
依存しているモジュールとバージョン、そのモジュールが取得できるURL あたりをドキュメントに書いといてもらえるとうれしい。

iswebは5.6.1かぁ。。。5.005_03ってもう古いのかな。
139名無しさん@お腹いっぱい。
垢版 |
02/01/29 19:04ID:9LBydpPt
>138
Perlの作者タンが、5_005_03なんてつかってちゃいやぁん
ていってるよ??
なんかセキュリティ的にもよろしくないそうです。
02/01/29 20:32ID:???
そうなのか。じゃあ漏れも5.6.1に移行しよっと。
02/01/29 20:45ID:???
>>139
ソースきぼんぬ。
02/01/29 20:50ID:???
「セキュリティ的によろしくない」の部分をもっと詳しくキボンヌ。
02/01/29 21:12ID:???
>141-142
て・め・え・で・し・ら・べ・ろ(・∀・)
144名無しさん@お腹いっぱい。
垢版 |
02/01/29 21:23ID:9LBydpPt
ていうか、俺も出自忘れちゃった。
エラソーニイッテゴメソヨ(・∀・)

Perl5.6.1のドキュメントの日本語訳のサイトの端書きの
作者の言葉の部分、あそこだったと思います。
145142
垢版 |
02/01/30 00:49ID:???
いえいえ、ボンクラ厨房の分際で高貴なる2chBBSに書き込んでしまって
申し訳御座いません。
所で少し疑問なのですが「出自」って何ですか?

出典 と
辞典 を
脳内合成して
出自 になるんでしょうか?

なんて読むのこれ「でぢ」?
1461
垢版 |
02/01/30 01:28ID:???
>>138
今回も次のまで時間かかりそうなので,とりあえずですが
必須らしい環境を書いておきます。
perl5.005

CGI.pm 2.47
http://search.cpan.org/search?dist=CGI.pm
解説: http://member.nifty.ne.jp/hippo2000/perltips/Cgi.htm

HTML::Template.pm
http://search.cpan.org/search?dist=HTML-Template
解説: http://member.nifty.ne.jp/hippo2000/perltips/html/template.htm

KCatch.pm #use CGI::Carp 'fatalsToBrowser' で代用できるかも
http://www.kawa.net/works/perl/catch/
解説: http://www.kawa.net/works/perl/catch/KCatch-j.html
02/01/30 01:43ID:???
>>145
>所で少し疑問なのですが「出自」って何ですか?
どういう風に笑って欲しくて書いたのか教えてくれ。
02/01/30 01:54ID:???
>>147
あ、笑って欲しかったのか。
思わずマジレスしそうになっちゃったよ。
ごめん。
149名無しさん@お腹いっぱい。
垢版 |
02/01/30 03:16ID:CYuhEnG/
>145
gooで「出自」調べて読むか、自分なりに読んだらいいよ。
「浜崎あゆみ」って読もうと「田中真紀子」って読もうと「ムネヲ」って読もうと
奇異の自由だよ。
02/01/30 09:12ID:???
ようするに、>>145はボンクラ厨房未満だった、、と。
02/01/30 12:01ID:???
>150
何怒ってるの?
02/01/30 17:48ID:???
>>151
どこを見れば怒ってるように見えるのか問い詰めたい。
02/01/30 17:54ID:???
>>149
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%BD%D0%BC%AB&sw=2

gooで引いてみたよ。

しゅつじ 【出自】

(1)でどころ。うまれ。出所。
(2)文化人類学で、個人が生まれた時から認識される系譜関係。血縁。「―集団」
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況