■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 最新50
read.cgi改良スレッド 3
- 350 :デフォルトの名無しさん :02/01/11 13:03
- 何処かでで「bbs.cgiのソースきぼーん」
夜勤氏「それは無理。」
ってのを見た事があるので公開はされてないでしょうね。
- 351 :"test" ◆nnmm.69A :02/01/12 00:49
- >>348-350
そですね。この一連のスレで示唆するものが2種類ばらまかれた程度かと。
参考までにそれを見てみると、ちゃんと以下の順になっていた。
$value =~ s/<!--/<!--/g;
$value =~ s/-->/-->/g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
- 352 :>>351 ◆nnmm.69A :02/01/12 00:52
- も一度書かせて。
" がちゃんと処理できているみたいだから、>も確認。
ついでに上のはよくあるミス。あーあ、またやってしまった。
$value =~ s/<!--/<!--/g;
$value =~ s/-->/-->/g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
- 353 : ◆nnmm.69A :02/01/12 00:53
- ってことで、どうも変なとこに入っちゃってるみたいですな。
- 354 :デフォルトの名無しさん :02/01/12 01:01
- >>352
それをそのまま使うのは本文の & も置換してしまうから
まずいと思われ(モナ板等で)。
で、$FORM{'FROM'}とかだけを後付けで変換しようとしたから
>>347のようなことになるのでしょう。たぶん。
- 355 : ◆nnmm.69A :02/01/12 01:22
- >>354
ええ、それはもちろん(^^
あくまで参考です。はい。
- 356 :名無しさん :02/01/12 20:47
- 2chの動作報告はここで。−9−
http://teri.2ch.net/test/read.cgi/accuse/1009527031/590
590 名前:削除遠雷 ★ 投稿日:02/01/12 (土) 20:38 ID:???
teriの板にread.cgiから書けません。(;;)
他の鯖は大丈夫みたいです。。
NC4.75 IE5.0 for Mac iCab IE5.5 NC4.7 for Win だめでした。。
複数の人が書けなくなってます。。
対処お願いします。。
- 357 :デフォルトの名無しさん :02/01/12 20:54
- 2ch掲示板はCで書かれてんじゃなかったの?
- 358 :デフォルトの名無しさん :02/01/12 20:59
- read.cgiは何もいじってないんだからbbs.cgiの問題だろ
- 359 :デフォルトの名無しさん :02/01/12 20:59
- >>357
Cなのはread.cgiだけ。
- 360 :情報が入りました。 :02/01/13 05:12
- 643 名前: ◆YaKIN/eo @夜勤 ★ 投稿日:02/01/13 00:10 ID:???
今週から来週といおうか、今月から来月と言おうか、
いろいろシステムの変更があると思います。
それぞれの担当が、例によってばらばら、行き当たりばったり
突然動きますので、いろんな不具合が起きると思います。
で、そんな時は。。。
あわてず、さわがす (あわてたり、騒いだりしてもいいけどネ)
私の希望としては「情報提供よろよろ」です。
「なにがどうして、どうなったので、困った」とか、
「何をどうすれば、直るんじゃない」とか、
よろしく、おねがいしますー
647 名前:心得をよく読みましょう 投稿日:02/01/13 00:13 ID:MuI/l7zq
perlとかApacheとかのバージョンアプとかかな
648 名前: ◆YaKIN/eo @夜勤 ★ 投稿日:02/01/13 00:22 ID:???
>>647
その上です、bbs.cgi , read.cgi , offlaw.cgi 等です。
大きく分けて二種類です。
一、imode関係。
ニ、read.cgi/offlaw.cgi関係(かちゅ〜しゃ等の話)
必然的に bbs.cgi にも改造が及ぶと思われる。
きっと Part30 とかまで行きそうな大改造の予定だよん。
【告知】
はっきり言って「だらだら」と続きます。
雪が解ける頃には終わればいいなぁ。
- 361 :デフォルトの名無しさん :02/01/13 14:26
- >>360
ひろゆきはスクリプト公開に対してはものすごく嫌がるからな
たぶんプログラマはドルバッキーだけ、公開なしでbbs.cgi書き換えちゃうんじゃないの?
- 362 :ひろみちゅ先生かもーん :02/01/14 03:31
- 娘。さんが見ているから大丈夫な気もするが、
http://memo.st.ryukoku.ac.jp/archive/200201.month/2656.html
の件は、R2CH_HTML_COOKIE_SCRIPTでは大丈夫なの?
"var N=g(\"NAME\"),M=g(\"MAIL\"),i;"
- 363 :デフォルトの名無しさん :02/01/14 10:49
- http://memo.st.ryukoku.ac.jp/archive/200201.month/2656.html
>という点で、まずは、各「板」のread.cgiの
>
> NameMail = "<INPUT TYPE=text NAME=FROM SIZE=19 VALUE=" +
> getCookie("NAME") +
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>この部分にエスケープ処理を施すことが必要かと思われます。
これどうしますか?
bbs.cgiにもからんでくる話だと思うけど
- 364 :デフォルトの名有りさん ◆fSunOs.U :02/01/14 11:22
- >>362 結論的に言うと そのvulnerabilityは各板のindex.htmlで生じるもので
read.cgiでは発生しないと思うのだけど
要は Cookieの内容がdocument.write()によって書き出されることによって
発生する問題なんだよね? read.cgiも元々はそうなってたんだけど 実は
オレが document.write()は使わずにonload()中でフォーム要素へ代入するように
変更していたのであった これなら問題は発生しないはずなのだけど
元々は document.write()での書き出しをやめれば"<noscript>...</noscript>"
の部分を削って ある程度は転送量削減につながるだろうという意図でやったの
だけど そのvulnerability回避という思わぬ副産物があったのだな......
- 365 : ◆nnmm.69A :02/01/14 18:27
- >>364 (^^)
>>360
今度の大規模スクリプト改変作業で、どれくらい手を付けるのでしょうねぇ…
- 366 :デフォルトの名無しさん :02/01/15 10:58
- 単点の nofirst=false が効いてないのは仕様?
例
http://pc.2ch.net/test/read.cgi/tech/1002820903/366.
- 367 :デフォルトの名無しさん :02/01/16 06:22
- >>366
仕様じゃないはず。
'.'の時に、zz_nfに"false"を入れていたのが、'\0'に変えられている。
空とfalseは、微妙に意味が違うのを理解してもらえなかったようだ。
- 368 :名無し :02/01/16 07:04
- 今度はCPUの負荷が問題になり始めました。
37 名前:心得をよく読みましょう :02/01/16 02:57 ID:tA9sZBPr
全サーバがお腹いっぱい状態?
HDが限界なら転送量増えない程度ではすまされないから、CPUの事かね。
38 名前:夜勤 ★ :02/01/16 05:05 ID:???
>>37
今現在は、その CPU のことですねー
何匹もいたちがいるようで、
- 369 :デフォルトの名無しさん :02/01/16 07:34
- >>367
それをやった者ではないが、そういう「微妙に意味が違う」なんていうものは
きちんとコメントつけて自衛したほうがいいかも。
あるいは「微妙」なんてものではなく「明確に」違うように仕様を変えるとかね。
(この場合、二つの変数に分割して、片方は設定済みかどうか、片方は設定内容とかね)
- 370 :デフォルトの名無しさん :02/01/16 11:21
- >>368
すみません。ソース希望
- 371 :デフォルトの名無しさん :02/01/16 12:03
- 夜勤★さんを召喚するスレッド! 2
http://teri.2ch.net/test/read.cgi/accuse/1011025896/38
- 372 :デフォルトの名無しさん :02/01/16 12:11
- 別にCPUの負荷があがってるからってすぐ破産の危機に陥るわけでもないし
gzipを切るとかスレ保持数を減らすとか板を分割するとか
運用でカバーする領分だと思うんだが。
- 373 :デフォルトの名無しさん :02/01/16 12:39
- >>334
お久しぶりです(^^)
>>371
ありがとうございます。とりあえず、批判要望とここの板見てればある程度の動きは追えます
かね?
bbs.cgiがPerlで動作していて、問題がCPU負荷であるのなら、とりあえずmod_perl
などの導入を検討するのはどうでしょうか? 以前の騒動の時で、サーバーの設定を
変更するのが困難である事は知っているのですが、Perlの起動コストは結構大きい
ので、比較的効果が大きいのではないかと。
ただしメモリ使用量とのトレードオフになる可能性はあり。
- 374 :デフォルトの名無しさん :02/01/16 12:46
- Perlがだめとなると生産性も一気に下がるな。
- 375 : ◆nnmm.69A :02/01/16 18:41
- >>370
http://teri.2ch.net/test/read.cgi/accuse/1011025896/37-38
>>373
中長期でmod_perl導入交渉していただくのはいい手ですよね。たぶん。
夜勤★さんにはお世話になりっぱなしで申し訳ないですが(汗
- 376 :デフォルトの名無しさん :02/01/17 01:09
- サンキュです。>>364さん
- 377 :デフォルトの名無しさん :02/01/17 01:14
- を、bbs.cgiのトリップ化け解消か?
- 378 :デフォルトの名無しさん :02/01/17 01:37
- とりあえずloveサーバのみ直しました。
素人で意味がわからないんで>>364さんのそのまま入れました。
- 379 : ◆nnmm.69A :02/01/17 03:29
- >>378
素早い対応感謝です。だいじょぶだと思います。
- 380 :デフォルトの名無しさん :02/01/19 13:12
- >>373
mod_perlを導入なぞしたら、
bbs.cgiはもちろん削除スクリプトや復帰スクリプトもろとも
書き直さないといけなくなると思われ。
あれはほとんどひろゆきが継ぎ足しで作った汚いスクリプトだったからな
それにbbs.cgiの使用にかかる負担は全然考えていないと思
だからポートスキャンや新型ロックなど負担になりすぎるソースも使ってると、
- 381 :デフォルトの名無しさん :02/01/19 13:43
- ■ 大きな改造 その一 (dat読み)
http://teri.2ch.net/test/read.cgi/accuse/1011385033/
1 :夜勤 ★ :02/01/19 05:17 ID:???
とにかく アクセス数が増えつづけ、あちこちサーバが
悲鳴をあげているのをよそに、合宿を日々こなしている
毎日なのですが、、、
いよいよ 何らかの手を打たなきゃどうにもならん状態に
なってきたようです。オイスター作戦その一発動します。
Monazillaプロジェクトにかかわっているツール以外からの
datの直読み制限します。
- 382 :デフォルトの名無しさん :02/01/19 13:57
- 運営危機の再来なのか?
- 383 :デフォルトの名無しさん :02/01/19 19:51
- そんなことより>>1さん、ちょっと聞いてくださいよ。
昨日、近所の2ちゃんねる行ったんです。2ちゃんねる。
そしたらなんか人がめちゃくちゃいっぱいで座れないんです。
で、よく見たらなんか垂れ幕下がってて、大きな改造、とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、大きな改造如きで普段来てない2ちゃんねるに来てんじゃねーよ、ボケが。
改造だよ、改造。
なんか親子連れとかもいるし。一家4人で2ちゃんねる改造か。おめでてーな。
よーしパパofflaw.cgi頼んじゃうぞー、とか言ってるの。もう見てらんない。
お前らな、read.cgiのソースやるからその席空けろと。
2ちゃんねる改造ってのはな、もっと殺伐としてるべきなんだよ。
IEしか使わない奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと座れたかと思ったら、隣の奴が、dat読み出しをキャッシュすれば、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、mod_perlやmod_fastcgiでキャッシュなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、プロセス負荷も、だ。
お前は本当にキャッシュしたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、モジュールって言いたいだけちゃうんかと。
吉野家通の俺から言わせてもらえば今、吉野家通の間での最新流行はやっぱり、
専用サービス、これだね。
キャッシュ用にデーモン作ってそれを経由してdat読み出し。これが通の頼み方。
専用サービスってのは\nの位置を記録したキャッシュが多めに入ってる。そん代わり削除や圧縮以外でのフラッシュが少なめ。これ。
で、それにread.cgi用のsplit出力とbbs.cgi用のdat追記インターフェースも付ける。これ最強。
しかし外部からもアクセスできるようにポートを開いてもファイアウォールを超えられず、
ネットワーク担当者にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、Win98でIE6.0でも使ってなさいってこった。
- 384 :デフォルトの名無しさん :02/01/19 20:25
- >>383
変えるならもっと部分的じゃなくて全部変えなよ・・・30点
- 385 :373 ◆GSi39OA6 :02/01/19 20:32
- >>380
> bbs.cgiはもちろん削除スクリプトや復帰スクリプトもろとも
> 書き直さないといけなくなると思われ。
bbs.cgiだけmod_perl経由で起動して、削除スクリプト等は一般的なCGI経由で
起動させる、という風に切り分ければ、bbs.cgiだけの変更に留まると思います。
もし、例えば巷で良く見かけるCGIスクリプトのように、非レキシカル変数(my宣言のない
変数)を使いまくってるようなソースなら、全面的な見直し/書き直しになるでしょうね。
逆にソースの見通しを良くするという点で、その辺りを見直すには良い機会のような
気もしますが。
- 386 :デフォルトの名無しさん :02/01/19 21:27
- >>384
どういう意味?
- 387 :デフォルトの名無しさん :02/01/19 21:49
- >吉野家通の俺から言わせてもらえば今、吉野家通の間での最新流行はやっぱり、
>専用サービス、これだね。
こういうのが残ってる、もっときちんとしる!ってことでしょ
- 388 :デフォルトの名無しさん :02/01/19 23:01
- >>385
あれ、もしかして。。。。!お久しぶりです!
と、元◆vP.bOZFQさんもお久しぶりです!
つってもこちらのことはわからないでしょうけれども。。。(w
。。。今のところ時間なくて参加できませんが・・・挨拶レスですんません。
頑張ってください。
- 389 :デフォルトの名無しさん :02/01/20 00:57
- bbs.cgiってCで書かれているだろ、何でperlの話が出てくるんだよ
- 390 :デフォルトの名無しさん :02/01/20 01:04
- Cはreadだけのはずでは・・・?
- 391 :デフォルトの名無しさん :02/01/20 01:09
- >>390
そうだよ。Cだとひろゆきが保守できない。
むしろどこからbbs.cgiはCで書かれているという話が出てきたのか謎。
- 392 : ◆nnmm.69A :02/01/20 01:19
- >>388
とりあえずおひさしぶりです…いや、ご想像の通り、どなただかはわかってないのですが(w
私も時間ないです。お茶を濁すくらいしかできません。
>>381 の様子をみて、今回は(も?)指摘だけしていれば良さそうなのでちょっと安心。
>>391
ちょくちょくパパッと書き換える需要もあるし、このままperlでしょうね>bbs.cgi
- 393 :デフォルトの名無しさん :02/01/20 01:39
- read.cgi 5.29になって変わったのはエラーメッセージだけ?
http://natto.2ch.net/test/read.cgi/car/1006260178/l50
- 394 :デフォルトの名無しさん :02/01/20 16:29
-
[深刻] 2ch負荷問題ふたたび勃発
http://pc.2ch.net/test/read.cgi/unix/1011441913/l50
- 395 :想像力なしさん :02/01/20 18:09
- >>372
gzip切ったら、破産します
gzipきるくらいなら、マシン増やすほうがいいって
>>373
mod_perlはもう入ってるよ
Server: Apache/1.3.6 (Unix) PHP/4.0.3pl1 mod_gzip/1.3.19.1a mod_ssl/2.3.6 OpenSSL/0.9.3a
- 396 :想像力なしさん :02/01/20 18:10
- まちがえた、mod_perlは入ってません
- 397 :デフォルトの名無しさん :02/01/20 18:14
- つまり、PHP召還命令なわけね。
- 398 :デフォルトの名無しさん :02/01/20 20:03
- >>395
えらく古いな >Apache
- 399 :名無し :02/01/20 20:14
- Apache新しくしたら鯖負荷減りますか?
- 400 :デフォルトの名無しさん :02/01/20 20:17
- 減らないと思う。
ご利益はクロスサイトスクリプティング脆弱性とかが直るくらい。
- 401 :デフォルトの名有りさん ◆fSunOs.U :02/01/21 14:37
- >>399 Apache2.xをマルチスレッドで走らせればそれなりに軽くなると思うけど
まだβだからねぇ......
- 402 :デフォルトの名無しさん :02/01/21 14:42
- 2.x系でマルチスレッド恩恵受けるのってwindowsじゃなかったっけ。
Unix系は恩恵なかったのでは。
- 403 :デフォルトの名有りさん ◆fSunOs.U :02/01/21 15:40
- >>402 New features with Apache 2.0 - http://httpd.apache.org/docs-2.0/new_features_2_0.html
Unix Threading
On Unix systems with POSIX threads support, Apache can now run
in a hybrid multiprocess, multithreaded mode. This improves
scalability for many, but not all configurations.
- 404 :トオル :02/01/22 03:00
- 別に大した危機じゃないんすけどね。。。
ここで質問しちゃまずい雰囲気。。。
- 405 :デフォルトの名無しさん :02/01/22 03:33
- トオルタン、なんかあったの?
- 406 :デフォルトの名無しさん :02/01/22 04:50
- http://teri.2ch.net/test/read.cgi/accuse/999090223/540
??
- 407 :トオル :02/01/22 16:04
- >405-406さん
うん、そこらへんの話。ま、いいや。
- 408 :デフォルトの名無しさん :02/01/22 18:28
- いいのか。
- 409 : :02/01/22 19:06
- いよいよbbs.cgiも公開か?ワクワク
- 410 :トオル :02/01/23 01:00
- bbs.cgiの公開は絶対にありえないすね。
んで、聞きたいことがあったんだが。
ま、なんとかなるかと。
- 411 :409 :02/01/23 01:51
- >>410
いや、わかってたけどね・・・セキュリティの関係もあるし・・・。
で、その悩みの内容が気になるのは漏れだけではないかと。
おじさんに相談してみ?って、えらそうだな漏れ・・・
- 412 :トオル :02/01/23 01:58
- うん、Macのクッキーが文字化けするのと、
sageの時に一番負荷が少なくsubject.txtを変更する方法と、
ちょい意見を聞いてみたかったっすよ。
- 413 :デフォルトの名無しさん :02/01/23 03:21
- subject.txtのレス数を(001)みたいなフォーマットにして、
seek駆使してレス数だけ姑息に弄る、とかかな?
- 414 :デフォルトの名無しさん :02/01/23 05:41
- 何回(何分)に1回しかsubject.txtを更新しないとか、、
- 415 :デフォルトの名無しさん :02/01/23 08:29
- 実体はDBにおいて、UPDATE文流すとか。
#んで、subject.phpにするとか。
- 416 :デフォルトの名無しさん :02/01/23 09:37
- まあメガボール見て落ち着け。
http://www02.u-page.so-net.ne.jp/pb3/kamohana/giga/dango/dango.htm
- 417 :デフォルトの名有りさん ◆fSunOs.U :02/01/23 10:00
- Cookieについては 現状では文字列をエンコードしないでそのまま設定してるようだけど
CGI::escape() を介した方がいいのかも......
あと余談ですが 各板の*.htmlの転送量を減らす余地はまだあると思うのですが......
http://pc.2ch.net/test/read.cgi/unix/1011441913/158
- 418 : ◆nnmm.69A :02/01/23 18:28
- subject.txtをメモリ上でdaemonに管理させる(死)
(それなら >>415 でいいか)
- 419 :デフォルトの名無しさん :02/01/23 20:37
- >>417
問題はMacIEのJavaScriptのunescapeがUnicode仕様な点にあるから
エスケープしても文字化けは解決しない。
- 420 :デフォルトの名無しさん :02/01/23 23:56
- 今後 read.cgi の改良ってどうなっていくのでしょうか?
rawモードが削られて、中身も非公開に?
- 421 : ◆nnmm.69A :02/01/24 00:12
- >>420
オフリならぬローカルログ(dat)リーダとしてのmonazilla系ツールが主流になるのは、
負荷の観点からはとりあえずよろしいことなので、リモートリーダたるread.cgiの役割は
相対的に縮小するでしょう。
# そういえばmonazillaって、dat差分取得時にも圧縮かけてるのかな?
でも、汎用性の観点から、read.cgiも改良できるとこはしていってほしいなぁ。
非公開になってもいいから。と、名無しさんのひとりごと。
- 422 :デフォルトの名有りさん ◆fSunOs.U :02/01/24 08:46
- >>419 そうなのかぁ......となると UTF-8でエスケープできるPerlモジュールが
なければ サーバ側でのCookieの設定をやめてクライアント側のJavaScriptで
設定させればいいのかな? でも転送量が増えるか......User-Agentの判定を
してMac IEの場合だけCookie設定用のJavaScriptコードを吐くようにするとともに
bbs.cgiでCookieを設定しないようにするとか?
function onsubmit(e) {
var attr = "; path=/; expires="+new Date(new Date().getTime()+30*24*60*60*1000).toGMTString();
document.cookie = "NAME="+escape(this.FROM.value)+attr;
document.cookie = "MAIL="+escape(this.mail.value)+attr;
}
with (document) for (var i = 0; i < forms.length; i++)
if (forms[i].FROM && forms[i].mail) forms[i].onsubmit = onsubmit;
- 423 :デフォルトの名有りさん ◆fSunOs.U :02/01/24 08:53
- with (document) for (var i = 0; i < forms.length; i++)
if (forms[i].FROM && forms[i].mail) forms[i].onsubmit = onsubmit;
この部分はonload()中に入れとかないとマズいか......
- 424 :aki :02/01/28 09:55
- まぁ誰も使ってなさそうだけど、
http://www.gedoh.org/aki/2ch/tiki/
は
http://2ch.nekoruri.jp/tiki/
に移動させたです。
- 425 : ◆nnmm.69A :02/01/28 17:37
- >>424
おつかれさまですー
- 426 : ◆nnmm.69A :02/01/28 21:41
- datのhtml化を自動処理するプログラムを作る〜。
仕様書はこちら。
http://teri.2ch.net/test/read.cgi/accuse/1009278465/34-38
とりあえずread.cgiから流用できるところと、全体のフローを考えてみるので突っ込んでください(__)
- 427 :デフォルトの名無しさん :02/01/28 21:51
- >>426
なるほど。いいかも。
- 428 : ◆nnmm.69A :02/01/28 21:55
- 0.1つの鯖の処理を1つのプログラムで面倒見る
1.cron にたたき起こされたら、まず負荷を見にいく。LoadAve > 2.00くらいなら冬眠。
2./板名/kako/xxx/以下を見て"板名"と"xxx"を取得
3.中にあるものをhtml化してはしかるべき場所に置いていく。ファイル名昇順に。
4.3.の最中に制限時間(2分くらい)がたったら帰る。
- 429 :デフォルトの名無しさん :02/01/28 22:00
- ・広告をカスタマイズできる機能は当然必要。
read.cgiみたいに秒間何百回も呼ばれるわけではないから起動時に
設定ファイル読むのも許されるだろう。
・レスポンスアンカー「>>○○」は<a href="#○○">みたいに置き換えて
ほしい。CHUNKED_ANCHORのコードが流用できるだろう。
・ばたーを見れば分かるけどhtml化待ちのスレの一覧はファイルから
得られる。「ls -l」は不可だからそのファイルを参照ということになる。
- 430 : ◆nnmm.69A :02/01/28 22:02
- 板名の昇順に潜っていって、さらにdat名の昇順(もしくはタイムスタンプ順)に
処理していくとします。
もしも、始めに処理する板がdat量産所だった場合(回転の速い板だった場合)、
次以降の板の処理がかなり遅れる可能性があります。
かといって、全板のdat古い順にしようとすると、比較処理をしなければいけません。
良い回避法を考えねば。
あと細かいことでは、いまのhtml化では >>xxx につけるリンクタグは無効なURLを
指しているのですが、それならない方がいいかとも思います。
たとえば http://teri.2ch.net/accuse/kako/1000/10002/1000216844.html なかんじ。
- 431 : ◆nnmm.69A :02/01/28 22:05
- >>429
html化待ちのスレ一覧ファイルは、板毎にあるんですか。。。
pathの記述はどうなっているんだろう。。。ちょっと逝ってきます。
- 432 :デフォルトの名無しさん :02/01/28 22:07
- >>431
あ、直接アクセス制限を受けてるのでブラウザでは見えません。
datのファイル名だけがひたすら並んでいます。
パスはread.cgiのTEMP_PATHのようにコンパイル時定数として
与える形になるかと。
- 433 : ◆nnmm.69A :02/01/28 22:18
- >>432
どもですー。
a.txtがgoogleに無いかなとか、一応見たんですがダメでした(笑
板の新設、移動等があっても知らん顔できなきゃいけないので、板名(板dir)を
自力で取得しないといけないですよね。
板ディレクトリの親ディレクトリには、板ディレクトリだけがあると決めつけるか。
あるいは、各板ディレクトリのa.txtをopenして失敗したらそこは無視ってことでいいか。
- 434 :デフォルトの名無しさん :02/01/28 22:22
- 親ディレクトリには板のほかに /test とかあるので
決め付けるのはちょっち難しいかも。
- 435 : ◆nnmm.69A :02/01/28 22:24
- (まだまともなソース書いてないので、遠慮しないでバシバシ書いてください>みなさま)
- 436 : ◆nnmm.69A :02/01/28 23:08
- linuxって /proc/loadavg 見ないといけないんだっけ?
- 437 :デフォルトの名無しさん :02/01/28 23:32
- >>436
ですな。>/proc/loadavg
一つの板あたり一つ(あるいは数個)処理したら次の板、とぐるぐるまわしていけば
全体的に満遍なくhtml化できると思うけどどうかな。
ところでソースは例によって akiさんとこのcvs使うのがいいのかな?
- 438 : ◆nnmm.69A :02/01/29 00:10
- >>437
そうですね>cvs
http://www.gedoh.org/aki/2ch/current/bbs/ にもミラーされるので皆さん見られますし。
ぐるぐるまわすアイデア、全板のdat名を保持しなくちゃいけなくなる(もしくは
a.txtを複数回openしなくちゃいけなくなる)ように思うのですが、どうでしょうか。
- 439 : ◆nnmm.69A :02/01/29 01:30
- a.txtにはdat落ちした順に記述されてることを期待して進めています。
処理順番の最終手段は、始めにすべてのa.txtのタイムスタンプだけ取得して比較することか。
以下、いい加減なアウトライン
/* loadavgの第一カラムが2以下の場合に続行 */
check_loadavg();
/* 鯖にある(板があるところにある)ディレクトリ名を取得 */
get_dirname();
/* プロセス開始から2分以上経過していた場合終了 */
check_selftime();
/* 指定されたディレクトリ直下のa.txtを読み込む(存在しない場合は1を返す) */
read_a_txt();
/* (path付きで指定された)datをhtmlに変換し保存する */
convert_dat();
- 440 :デフォルトの名無しさん :02/01/29 01:49
- ん?また楽しそうなことやってるな。期待age。
- 441 :デフォルトの名無しさん :02/01/29 01:58
- >>439
convert_dat() は ressplitter_split() splitting_copy あたりを流用ですね。
read.c がかなり大きくなってしまったから、必要な部分を取り出すのも大変だー。
- 442 :デフォルトの名無しさん :02/01/29 02:10
- >a.txtのタイムスタンプだけ取得して比較
これじゃ化石ができる可能性を否定しきれない。
日単位で構わないから剰余計算使って開始板を順繰りさせた方がいい。
- 443 :デフォルトの名無しさん :02/01/29 02:15
- なんでa.txtをつかうの?
opendirして、処理済みdatを他のディレクトリに
放り出すのではいかんの?
- 444 :デフォルトの名無しさん :02/01/29 06:04
- 4、ls -l 風の動作は負荷が高い(相対的に許されない)ので極力おこなわない。
そうです。
- 445 :デフォルトの名無しさん :02/01/29 10:37
- >>439
些細なことだけど
>/* 指定されたディレクトリ直下のa.txtを読み込む(存在しない場合は1を返す) */
これ変だよ(笑)
正常=0, 失敗=-1とか
正常=1, 失敗=0が自然じゃないの?
後者なら
if ( !read_a_txt() ) で自然に失敗時の処理になるし。( ! は否定だから )
もしg++がターゲット環境にあるのならC++でいきたいなあ。better Cとしてでも。
組み込みbool型とか。
- 446 :デフォルトの名無しさん :02/01/29 11:04
- 「ls -l」相当じゃなくて「ls」相当であれば負荷は
ファイル1個開くのと同程度では?
(ファイルを開く時にも結局検索はしてるわけだから)
- 447 :デフォルトの名無しさん :02/01/29 11:37
- >>446
同感。
それにそれならファイル放り込むだけで対象になるし、
終わったファイルは取り除かれるのならa.txtとディレクトリの二重管理状態にせずに
もっと効率的だよねえ。
排他の代わりにアトミックに他で作ってmvで持ってくるようにすれば
a.txt方式よりもはるかに安全だし。
- 448 :デフォルトの名無しさん :02/01/29 11:42
- プロセスの起動が重いって話では
- 449 :デフォルトの名無しさん :02/01/29 11:55
- >>448
だからopendir使えばいいでしょ。
152KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30