【CGI】合同開発室
■ このスレッドは過去ログ倉庫に格納されています
0001当方へたれですが
01/10/02 00:35ID:GsMMcvtMiswebだけどアプロダ置いてみました。
http://isweb36.infoseek.co.jp/computer/perldev/
参加してくれる人キボン
0051名無しさん@お腹いっぱい。
01/10/18 02:40ID:???my $cl = new Caller;
print $cl->line;
use Caller qw(caller) でオーバーライドも。
00521
01/10/18 04:29ID:???勉強用にいただきました。じっくり読めばなんとか理解できそうです。
39:*pkg = \&pakcage;
typoぽいです。
--
すごいなー私も頑張ろう!とあぷろだ上げました。
変更点は,昨日のテンプレ修正と,ファイル名変更,表示部にテンプレ導入,他に少しです。
0053名無しさん@お腹いっぱい。
01/10/18 22:27ID:???こうすればメンテ不用になるぞ、っと。
while (<HTM>){
    if (/<!--count-->(\d+)<!--\/count-->/){
        seek HTM,-length,1;
     #書き換え
        last;
    }
}
でも�dだ時HTMLごと逝っちゃうのはイヤな感じかも (w
0054名無しさん@お腹いっぱい。
01/10/18 22:55ID:???これなに?
0055名無しさん@お腹いっぱい。
01/10/18 23:02ID:???s///eg のeオプションはいらないだろう。
0056名無しさん@お腹いっぱい。
01/10/18 23:07ID:???たとえば、
s/(\d+)(?=<!--\/count-->)/$1+1/eg
とか。
0057名無しさん@お腹いっぱい。
01/10/18 23:27ID:???いやだから、上記の例では必要ないだろうと言っているの。
005845
01/10/18 23:30ID:???そっかバックすれば良いんだネ、うちはカウンターまで4行しかないから
イイ(・∀・)感じになったヨ
:でも�dだ時HTMLごと逝っちゃうのはイヤな感じかも (w
うちは閑古Webだからネ、一応ロックバリバリにしてるけど今の所大丈夫みたい
200hit/DAYって感じだからかナ
>54
seek HTM,-length($_),1だヨ
0059名無しさん@お腹いっぱい。
01/10/18 23:32ID:???s/// だけでカウンタインクリメント出来ると?
0060名無しさん@お腹いっぱい。
01/10/19 06:41ID:???00611
01/10/19 06:46ID:UfCiRs0I投稿削除ができるようになりました。
変更点は,ログフォーマット,delete.pl・delsetup.tmpl導入,他少し。
ログフォーマットも大体固まったので明日あたりにiswebにサンプル置きます。
--
>45 >>58
HTML書き出し式カウンタを使ってるんですか?
実際に使うには,普通の,カウントを別ファイルに持つ形式より
危険な感じがするんですが,利点とかてありますか?
煽りとかじゃなくて,純粋に気になったので。
006261
01/10/19 07:04ID:???SSI使えないサーバでも使える。ってのがたぶん利点。
それ以外では使う理由ない。
あ、あとはカウンタ表示自体ではCGI起動しないってのもかな。
006362
01/10/19 07:15ID:???0064名無しさん@お腹いっぱい。
01/10/19 07:34ID:???このカウンタって
・htmlにアクセス・表示
・IMG経由でCGI呼び出し
・htmlを解析してカウンタ部分を加算
・html書き出し
という方法ですよね?
これだと以下みたいなのと比べると,
毎回htmlを書き出すんで負荷やあぼーん率が高くなりそうと思って。
・cgiにアクセス
・index.tmpl読み込み
・count.dat読み込み
・カウント
・index.tmplの特種タグ(0<!-- __%%COUT%%__ -->とか)置き換え
・count.dat書き出し
うー,ちょっと混乱してます・・・
0065名無しさん@お腹いっぱい。
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でないのデス。
0066名無しさん@お腹いっぱい。
01/10/19 16:37ID:???>truncate DAT,length($count);
ここで小さくなったりしないのか、、しないよな、うーん。
0067ちんげん
01/10/19 19:25ID:???これを作ったのは、某所で、CGIのテキストカウンターってないの?
という話があったからなんです。で、んじゃ作るかと思って作ってみた
ものなのですが、いやぁ、おのれのあまりの未熟さを痛感しました。
なんか場違いでスマソ。 >1,ALL
0068名無しさん@お腹いっぱい。
01/10/19 19:56ID:???カウントファイル的には桁数が前より小さくなることは無いので、
truncate DAT,length($count);では小さくならないね。
ってことは truncate かける意味も無いけど。
0069名無しさん@お腹いっぱい。
01/10/19 20:46ID:???CGIのテキストカウンター
http://www.around.ne.jp/software/fastky/library/index.html#counter
0071名無しさん@お腹いっぱい。
01/10/19 22:14ID:???0072名無しさん@お腹いっぱい。
01/10/19 22:30ID:???それ、なってない。
0073名無しさん@お腹いっぱい。
01/10/19 22:35ID:???<counter></counter>なんてワケのわからないタグを使用している時点でアウト。
仕組みは同一だし。
0074名無しさん@お腹いっぱい。
01/10/19 22:41ID:???しかもこの場合意味無いどころか、いったんtruncateされるので
タイミングによってはindex.htmlが正常に見られない。
0075名無しさん@お腹いっぱい。
01/10/19 23:34ID:???良く考えたらアプ板なんでボクもあげましたヨ >>71
>>53さんのが入ってるでス
flockコメントアウトしたりしていぢめてみてくださイ
調子にのるとカーネルらー に突っ込まれそうなのでこの辺で退散 ササッ(((・∀・;)
http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/017.txt
0076名無しさん@お腹いっぱい。
01/10/19 23:47ID:???アプロダの
A:hover {color: red; font-weight: bold;}
このドキュソスタイル指定を消してくれ。マジウザイ。
0077名無しさん@お腹いっぱい。
01/10/20 00:22ID:???0078名無しさん@お腹いっぱい。
01/10/20 00:23ID:???--
あぷろだ,テスト設置してみました。
iswebなので,コピペで飛んでください。
ttp://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/tiny_upbrd/upload.cgi
まだ拡張子の判定がイマイチです。
00791
01/10/20 03:38ID:???拡張子指定できるようにしました。
http://isweb36.infoseek.co.jp/computer/perldev/
からもいけます。
008071
01/10/20 15:57ID:DdyXBwQgこれ良いな、ちょっとflock外して5万回位叩いてみたけどHTMは勿論カウンタデータも飛ばないよ
良く考えたらとびようが無いんだな。syswrite使っとけばより安心って所かな?
俺の使ってる所時々ファイルが飛ぶから、上のKY何とかみたいなのは怖くて使えないんだよ
俺もアクセス解析とか要らない派だから外部ファイル無いのも気に入った
ちょっと弄って使わせてもらうよ THANKS!!
0081名無しさん@お腹いっぱい。
01/10/20 16:21ID:???flockしなかった場合に本当に常に1ずつインクリメントされるかどうかは疑問。
0082名無しさん@お腹いっぱい。
01/10/20 16:27ID:???0083名無しさん@お腹いっぱい。
01/10/20 16:58ID:WoA8FLwb5万回つーても、同時アクセス数いくつに設定?
0084ちんげん
01/10/20 17:13ID:???また見てやってくださいませ。
http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/018.lzh
008571
01/10/20 17:32ID:???>>81 やってみれば?
>>83 5万回÷俺の環境で許されるほぼ最大のプロセス数だけど?、
つーか君はディスクアクセスなんてオーバーヘッドの馬鹿デカイ処理に対して
単にローカルでforすりゃ十分って事が分からないのかい?
まー良いや取り合えず>>75 有難う!
008771
01/10/20 18:52ID:???これ以上はNTだとヤバイから、ローカルはIISだからabコマンドは解らないよ
HTMをパースしてそこだけ書き換えるってのが、本物SSIっぽくて
ちょっと良いなと思っただけ、別に飛ばない方法なら幾らでもあるし
と言う事で外野は去る事にする。
008881
01/10/20 22:05ID:???0089名無しさん@お腹いっぱい。
01/10/20 22:14ID:lWm0+PHj早く死になさい
0090名無しさん@お腹いっぱい。
01/10/20 22:20ID:???0091名無しさん@お腹いっぱい。
01/10/20 22:25ID:???0092名無しさん@お腹いっぱい。
01/10/21 00:17ID:???取り合えずCGIならdieは辞めとけ、エラールーチン書いてそこに飛ばせ
ただ例えばファイルが100kbだとして、書き換えたいのは20バイト足らずなのに
毎回全部書き直すってのは効率はよろしくないってこった、
その程度の効率は俺は気にしないけどな、それが嫌なら75のをパクれ
0093名無しさん@お腹いっぱい。
01/10/21 02:34ID:???00941
01/10/23 02:28ID:RBVSiDON<IMG src="xbm.cgi?100">で100と表示します。
サンプルは
http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/print_xbm/view.cgi
です。
□と■の文字列から画像データを生成するようにしてみしたが,
変換処理,ごちゃごちゃして少し読みづらくなっちゃいました。
0095仕様書無しさん
01/10/27 23:41ID:YdPss8Pv00961
01/10/28 00:59ID:???ありがとです。
今ちまちまとネタCGI(物語自動作成)作ろうとしてるんですが,
いきなりデータ形式でつまってます。
作ってみたいのいくつかあるんで,浮気しながらちょこちょこ書いてこうかと思います。
0097デフォルトの名無しさん
01/10/31 21:41ID:???00981
01/11/02 04:59ID:/ySb/MGF--
改造工房用にアプロダ置いたら,どのくらい利用されると思いますか?>ool
0099名無しさん@お腹いっぱい。
01/11/02 07:44ID:???ログ設定を大きくしていると利用されやすいかも。
すぐに流れると、投稿する方も閲覧する方もツマンナイし。
(ぁゃιぃ風味は止めた方が良いですよ)
01001
01/11/03 04:40ID:???>>1 からいける,「あぷろだテスト」のほうです。
CONFIGとテンプレまわりいじって,CSS使ってみました。
01011
01/11/03 23:46ID:kIdT+u23最適化とバグとりです。
複数ページ化をどうやるか考えてます。
0102名無しさん@お腹いっぱい。
01/11/05 17:00ID:LgoarrLrv0.1.2とv0.1.2.1を展開するとupload.cgi.binのようなファイル名になって
各ファイルにバイナリっぽいヘッダが付いてるんだけど、
もっかいアップしなおしてもらえませんか?
01031
01/11/05 17:27ID:???0.1.2.1あげなおしました。
多分これでおけだと思います。
01041
01/11/07 07:22ID:p5r/Tumr>>1 からいける,「あぷろだテスト」です。
0105名無しさん@お腹いっぱい。
01/11/08 03:07ID:LQlTaHHVvars.pmいじってglobal.pm作ってみました。
グローバルな変数とかをシミュレートします。
0106名無しさん@お腹いっぱい。
01/11/10 00:18ID:???今一盛り上らないのはCGIの悲しい所かな、、、
Cと違ってperlは関数に千切りすぎると極悪に遅くなるからねー
今Socketで遊んでるから、LWP::Simpleもどきでも出展してみようかしら w
01071
01/11/15 14:16ID:ra8XDH7Xオブジェクト指向のを調べてましたが,なかなか難しいです。
DBやTieのやり方が関係あるのかな。
>>106
分割してくと遅くなるんですか。今まで千切りまくってました(^^;
Socketとかさっぱりわからないので,ばりばり使ってる人を見ると
すごいなぁと思います。
01081
01/11/19 11:59ID:???ロックがかかってるようで全然かかってません。
修正は少し手間取りそうです。
0109名無しさん@お腹いっぱい。
01/12/19 13:44ID:???0110名無しさん@お腹いっぱい。
01/12/19 20:17ID:???パーミッション設定して,upload.cgiの1行目のパスを変えて,
2〜16行を削れば動くはずですが,自信無いです。
Perl勉強中の素人が書いたのでバグ入り低機能・高負荷です。
今フォームデコードも単体でできるようにと いろいろ書き換えてますが,手間取ってます。
0111
02/01/01 12:05ID:+ymJLOJv0112名無しさん@お腹いっぱい。
02/01/01 12:17ID:???0113名無しさん@お腹いっぱい。
02/01/01 13:23ID:???0114
02/01/03 03:44ID:yfnaT3pDhttp://choco.2ch.net/test/read.cgi/news7/1009233792/
0115よしだみつお
02/01/03 09:08ID:???クソガキが運営している最低な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/
この文章のコピー・転載を歓迎いたします。
0116名無しさん@お腹いっぱい。
02/01/03 21:12ID:nWDcFjevよくも飽きずに自作自演してんなぁ。
0117名無しさん@お腹いっぱい。
02/01/04 00:44ID:ZDJ61sb3あとあれです。
openの後のdieは、||ではなく、or dieを使うことが推奨されています。
(らくだ本では。perlfuncにはその記述はありませんね)
いずれにしても、処理に失敗したらエラーメッセージを出す仕組みは
必ず必要になるので、簡単なスクリプトであっても、
用意して置くに越したことはないと思います。
0118名無しさん@お腹いっぱい。
02/01/04 03:40ID:???その根拠は?、優先順位理解する方が大切じゃないかと思うが
是非説明おねがい
0119名無しさん@お腹いっぱい。
02/01/04 08:27ID:???>その根拠は?
当ててみな( ゚Д゚)y-~~~
0120名無しさん@お腹いっぱい。
02/01/04 09:43ID:???0121名無しさん@お腹いっぱい。
02/01/08 02:32ID:???0122名無しさん@お腹いっぱい。
02/01/09 23:53ID:IrymNKBwホントはMLに投稿しようと思ったけど、
急に2週間ほどネットに繋げないことになったんでここで。
全然磨いてないけど着眼点は悪くないと…自分では思う。
0123名無しさん@お腹いっぱい。
02/01/11 15:15ID:???5.6入れてないんで動かなかったけど
これを使うとメソッド名の統一ができるのかな
最近メソッドの命名に悩んでたので参考にさせてもらいます
0124名無しさん@お腹いっぱい。
02/01/11 15:24ID:FU5QMXGq偏差値なんて相対的な物だから自慢したいならまず偏差値80を出した
テストを明らかにしてね。
0125名無しさん@お腹いっぱい。
02/01/11 15:45ID:???0126名無しさん@お腹いっぱい。
02/01/12 15:26ID:Ca0kINDV0128名無しさん@お腹いっぱい。
02/01/17 05:07ID:???HTMLソースの下の方にベンチマークを書き出すようにしました。
Logs.pmを使ってログを管理するようにしました。
まだ中途なのでsage。
0129名無しさん@お腹いっぱい。
02/01/28 07:41ID:U2Qq819d0130名無しさん@お腹いっぱい。
02/01/28 19:00ID:???穴だけど
0131名無しさん@お腹いっぱい。
02/01/28 19:54ID:Vj1E59E1みたいにね。
ここはさ、メソッドとして抽出したほうが見通しよくなるとおもうんだが、、、
0132名無しさん@お腹いっぱい。
02/01/28 20:57ID:U2Qq819dもれじゃできねえから、できたらだれかやってくれ
0133名無しさん@お腹いっぱい。
02/01/28 22:30ID:???コメントをちゃんと書けば不便じゃないさ。
0134名無しさん@お腹いっぱい。
02/01/29 14:14ID:???サーバに保存されるファイル名と、ダウンロードされるファイル名は
一緒である必要はないから、OKと思う。
ただ、ダウンロードのためだけにCGI起動させるのはアレなんで、
mod_rewriteとか通してやれば素敵になりそう。
01351
02/01/29 14:22ID:???ありがとうございます。
あのあたりはごちゃごちゃしてるので なんとかしたいと思ってるんですが,
分けようとしても速度遅くなるわ変数のやり取りが見辛くなるわで
うまく書けなかったのでああなってます。
ああいう切り分けとかをサクっとできればいいんだけど,
時間かけて悩んでる割に大したモノが書けない・・・
0136名無しさん@お腹いっぱい。
02/01/29 16:16ID:7v+0Ir29[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とかないと怒られた。
01371
02/01/29 16:59ID:???ありがとうございます。
CGI.pmは2.47からupload()や cgi_error()が実装されたようなので,
2.47以上が要ります。 開発では2.78使ってます。
前はバージョン指定してましたが,書き換えた時に消しちゃったみたいです。
0138名無しさん@お腹いっぱい。
02/01/29 17:34ID:7v+0Ir29iswebは5.6.1かぁ。。。5.005_03ってもう古いのかな。
0139名無しさん@お腹いっぱい。
02/01/29 19:04ID:9LBydpPtPerlの作者タンが、5_005_03なんてつかってちゃいやぁん
ていってるよ??
なんかセキュリティ的にもよろしくないそうです。
0140名無しさん@お腹いっぱい。
02/01/29 20:32ID:???0141名無しさん@お腹いっぱい。
02/01/29 20:45ID:???ソースきぼんぬ。
0142名無しさん@お腹いっぱい。
02/01/29 20:50ID:???0143名無しさん@お腹いっぱい。
02/01/29 21:12ID:???て・め・え・で・し・ら・べ・ろ(・∀・)
0144名無しさん@お腹いっぱい。
02/01/29 21:23ID:9LBydpPtエラソーニイッテゴメソヨ(・∀・)
Perl5.6.1のドキュメントの日本語訳のサイトの端書きの
作者の言葉の部分、あそこだったと思います。
0145142
02/01/30 00:49ID:???申し訳御座いません。
所で少し疑問なのですが「出自」って何ですか?
出典 と
辞典 を
脳内合成して
出自 になるんでしょうか?
なんて読むのこれ「でぢ」?
01461
02/01/30 01:28ID:???今回も次のまで時間かかりそうなので,とりあえずですが
必須らしい環境を書いておきます。
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
0147名無しさん@お腹いっぱい。
02/01/30 01:43ID:???>所で少し疑問なのですが「出自」って何ですか?
どういう風に笑って欲しくて書いたのか教えてくれ。
0148名無しさん@お腹いっぱい。
02/01/30 01:54ID:???あ、笑って欲しかったのか。
思わずマジレスしそうになっちゃったよ。
ごめん。
0149名無しさん@お腹いっぱい。
02/01/30 03:16ID:CYuhEnG/gooで「出自」調べて読むか、自分なりに読んだらいいよ。
「浜崎あゆみ」って読もうと「田中真紀子」って読もうと「ムネヲ」って読もうと
奇異の自由だよ。
0150名無しさん@お腹いっぱい。
02/01/30 09:12ID:???0151名無しさん@お腹いっぱい。
02/01/30 12:01ID:???何怒ってるの?
■ このスレッドは過去ログ倉庫に格納されています