■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 最新50

read.cgi改良スレッド 3

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使えばいいでしょ。

450 :デフォルトの名無しさん :02/01/29 11:57
a.txtはMonazillaツールから参照することを想定して
用意されたものと思われ。
今のところ対応したツールはないみたいだけど。

451 : ◆nnmm.69A :02/01/29 12:11
>>445
頭の中で論理矛盾起こしてたーよ(鬱氏
バカなところは気にしないで。スマソ

そういえば、html化終了後にa.txtはどう更新されるのとかもよくわからないです。

452 :デフォルトの名無しさん :02/01/29 12:14
>>447
俺もそう思う。
とりあえず a.txt を使わずにやって、性能が出なかったときに考えたほうが
いいと思う。

453 :デフォルトの名無しさん :02/01/29 12:21
>>451
a.txtはhtml化のときじゃなくて圧縮のときに作成される予感。

454 :デフォルトの名無しさん :02/01/29 13:29
ってかさ、忘れられてるみたいだけど、
HTML化 == .dat -> .dat.gz 化
でもあるのよん。
こっちの負荷もバカには出来ないから、
あまり長時間CPU使い続けてないで欲しいんじゃないかな。

それでも、1日1回、日本時間の午前5時頃か、
或いは午前4時と午後4時の2回起こされて、
指定時間の間働かせるだけで、充分な気がするんだけどな。
もちろん、時間は10分程度で調整しやすくするとして。

455 :デフォルトの名有りさん ◆fSunOs.U :02/01/29 13:51
いつの間にやら 新たなプロジェクトが始動していた......

>/* プロセス開始から2分以上経過していた場合終了 */
>check_selftime();

これってハンドラ作ってalarm()じゃまずい?

>linuxって /proc/loadavg 見ないといけないんだっけ?

そうなのか......

  #ifdef __linux__
  int
  getloadavg(double loadavg[], int nelem)
  {
   :
  }
  #endif

とかするとか......


話は変わって>>422-423に関連して......422-423ではread.cgiやindex.htmlの
JavaScriptでCookieをセットするつもりで書いてたけど bbs.cgiでPOSTしたあとに
出てくる「書き込みました」の画面中にCookieをセットするJavaScriptコードを入れれば
いいのかな


456 :デフォルトの名無しさん :02/01/29 14:31
read.cgiと話がごっちゃになるから新スレ立ててやった方が良くない?


457 :デフォルトの名無しさん :02/01/29 14:40
>>456
賛成

458 :勝手に・・・ :02/01/29 16:30
テンプレ案1

dat->html化自動処理プログラムを作るスレです。

◎主な仕様(夜勤さんより)
http://teri.2ch.net/test/read.cgi/accuse/1009278465/34-38
1、長時間はしるようなスクリプトは避ける(二分以内?)
2、サーバ負荷が高いときは、動いちゃダメ(LoadAve < 2.00くらい?)
3、板の新設、移動等があっても知らん顔して動く。
4、ls -l 風の動作は負荷が高い(相対的に許されない)ので極力おこなわない。
5、cron 使って起動かな? でも、せいぜい一時間に一回くらいかな?

http://pc.2ch.net/test/read.cgi/tech/1002820903/428-429(他の意見)


誰か推敲たのんます。

459 :デフォルトの名無しさん :02/01/29 16:33
バグでたよ
1000レス越え、タイミングだと思うが、「書きこめません」が表示されないのは問題
http://choco.2ch.net/test/read.cgi/news/1012283754/1001
> 1001 :スパルタンX :02/01/29 16:27 ID:S5oW9lMC


460 :デフォルトの名無しさん :02/01/29 16:39
問題ってほどでもないだろ
フォームはちゃんと消えてるし

461 :デフォルトの名無しさん :02/01/29 18:10
このスレ、IEで見れないのはなぜ?
ダウンロードしようとすんだけど。


462 :デフォルトの名無しさん :02/01/29 18:21
>>461
見れるよ。
IE5.5+win2k


463 :デフォルトの名無しさん :02/01/29 18:52
read.cgiで聞くことはあまりないけど、
たまに、「板を開くとダウンロードが始まる」ってのを聞くね。
どうすれば直るかは、知らない。
"/"に関連付けされるとかってあるのかな?

464 : ◆nnmm.69A :02/01/29 19:44
>>458
どうぞどうぞ。やった人勝ちです。皆さんよろしくお願いします。
>1 に不安定な情報を載せるのはよろしくないでしょうから、
夜勤さんからの要求仕様とソースだけあれば十分と思います。

465 : ◆nnmm.69A :02/01/29 20:12
参照(夜勤さん)
http://teri.2ch.net/test/read.cgi/accuse/1003570853/316

466 :デフォルトの名無しさん :02/01/29 22:24
作りましたー。移動よろー。

dat->html化自動処理プログラムをつくるスレ
http://pc.2ch.net/test/read.cgi/tech/1012310594/l50

467 :想像力なしさん :02/01/30 00:05
>>454
gzip圧縮は、cpu中心の負荷だから、priorityを10とか15にしておけば
いいだけでは?
なんのためにマルチタスクOSつかってるんだか

468 :デフォルトの名無しさん :02/01/30 01:49
http://teri.2ch.net/test/read.cgi?bbs=saku&key=986430126

469 :468 :02/01/30 01:50
スマソ、誤爆。。。

470 :デフォルトの名無しさん :02/01/31 14:28
akiさん
http://pc.2ch.net/test/read.cgi/tech/1012310594/24
お願いできますか?

471 :デフォルトの名無しさん :02/02/07 17:56
■ read.cgi 5.30 が登場したわけだが、
http://teri.2ch.net/test/read.cgi/accuse/1013070083/


472 :デフォルトの名無しさん :02/02/07 18:03
なるほろ。。。

473 :デフォルトの名無しさん :02/02/07 18:15
62 :心得をよく読みましょう :02/02/07 18:01 ID:rO/VtEXK
420 :デフォルトの名無しさん :02/01/23 23:56
今後 read.cgi の改良ってどうなっていくのでしょうか?
rawモードが削られて、中身も非公開に?


63 :夜勤 ★ :02/02/07 18:02 ID:???
>>62
誰も何にも考えていないと思われ、
時代のそのときどきの要請で動いていくんでないかい。


474 :デフォルトの名無しさん :02/02/07 18:54
5.27以降は
 5.28 深夜でも快適なレンタルサーバ
 5.29 monazillaツールなら見られます
 5.30 xxKB
かな?

475 :デフォルトの名無しさん :02/02/07 20:12
批判要望が入れない…。

476 :デフォルトの名無しさん :02/02/07 20:14
◇Readcgi.2chの更新開始
news.2ch.net5.30
corn.2ch.net5.30
cheese.2ch.net5.30
pc.2ch.net5.30
teri.2ch.net200 OK
ton.2ch.net5.30
yasai.2ch.net5.30
mentai.2ch.net5.30
choco.2ch.net5.30
life.2ch.net5.30
natto.2ch.net200 OK
kaba.2ch.net5.30
tmp.2ch.net5.30
love.2ch.net5.30
school.2ch.net5.30
money.2ch.net5.30
ebi.2ch.net5.30
tv.2ch.net5.30
curry.2ch.net5.30
caramel.2ch.net5.30
salad.2ch.net5.30
game.2ch.net200 OK
live.2ch.net5.30
sports.2ch.net5.30
music.2ch.net5.30
comic.2ch.net5.30
wow.bbspink.com5.30
www2.bbspink.com5.30

◇Readcgi.2chの更新終了


477 :デフォルトの名無しさん :02/02/07 20:21
teri.2ch.net 5.30
game.2ch.net 5.30
natto.2ch.net 5.30
tora3.2ch.net 5.29

478 : ◆10000jp. :02/02/09 10:01
>>459
そのスレの1001は俺

479 :デフォルトの名無しさん :02/02/09 10:16
で?

480 :デフォルトの名無しさん :02/02/09 10:18
「/l1n」で全部表示されてしまうのは仕様ですか?
「/l2n」はできるみたいですが。

481 : ◆10000jp. :02/02/09 16:37
ゲーハー板を停止にしろ!または、廃止にしろ!!
http://teri.2ch.net/test/read.cgi/accuse/1013231597/


482 :481 :02/02/09 17:12
誤爆スマソ

483 :デフォルトの名無しさん :02/02/09 18:05
>>481
大変だね(藁

484 :デフォルトの名無しさん :02/02/12 21:21
みなさん、お疲れ様です。

ttp://teri.2ch.net/test/read.cgi/accuse/1011675442/l50
ttp://isweb30.infoseek.co.jp/art/shady/cgi-bin/test/read.cgi?bbs=ragnarok&key=013500918&ls=50
ttp://corn.2ch.net/entrance/kako/1011/10114/1011486206.html

485 :. :02/02/18 18:52
>>328
>すみません、しばらく2chから離れてました。
>回線太くなったので、cvsweb は公開してokです。
というので、楽しみにしています、とか、
read.cgi ver5.41pのソース見てみたいなあ、とか、
anonymousでいいのでcvs使いたいなあ、とか、
sourceforgeは使えないのかなあ、とか
人の苦労も知らずカキコしてみるテスト。(ごめんなさい)

486 :デフォルトの名無しさん :02/02/24 15:20
■そろそろ「age」「sage」以外を作らないか?
http://kaba.2ch.net/test/read.cgi/accuse/1014528903/

ここで話題になっているのですが、
「age 数値」の様な書式で、決まったレス番号だけ
ageる様に改造はできませんか?

487 :デフォルトの名無しさん :02/02/24 15:22
>>486
そういえばさ、ハゲ板だと'hage'で下がるってほんと?
マゲ板だと'mage'で下がるの?
'age'って意味あるの?

488 :デフォルトの名無しさん :02/02/24 15:23
意味不明です。
そもそも「sage」はあっても「age」はありませんし。

489 :デフォルトの名無しさん :02/02/24 15:24
>>487
嘘を嘘と(以下略
ageに意味はありません。
そもそも上げ下げの処理をしてるのはbbs.cgiです。
厨は批判要望にお帰りください。

490 :デフォルトの名無しさん :02/02/25 17:20
( ´,_ゝ`) プッ

491 :aki :02/02/26 21:18
>>485
cvsweb 見るとわかるんですが、
5.26 以降はオイスター作戦のからみもあってか、
2ch.net 運営サイドが作業してるみたいです。

で、cvs repo にアクセスしたい人は、
cvs -d :ext:2ch.nekoruri.jp:/home/2ch/repository co bbs
してください。ただ、5.41p まで独自に進んでる現状で、
将来的にどう扱われるかはわかりませんが……。
その代わり、dat2html は開発進行形のようです。

sourceforge は使ったことないので解らないです。
ごめんなさい。

492 :デフォルトの名無しさん :02/03/03 09:49
◆10000jp.は、自己顕示欲強過ぎ。馬鹿。

493 :デフォルトの名無しさん :02/03/03 14:10
いまさら何を・・・

494 :某・開発者 :02/03/14 08:57
test >%lt;

495 :aki :02/03/15 08:27
ん、何か動きがあるのかな?

496 :デフォルトの名無しさん :02/03/15 17:40
カンマで区切ることによって複数のレスを表示できる機能は無効になってるんですか?

497 :デフォルトの名無しさん :02/03/15 18:16
>>496
無効どころか、取り込まれてすらいないんじゃないですか?
もういじっても無駄っぽい。

498 :デフォルトの名無しさん :02/03/16 15:34
>>497
そうなんですか。教えてくれてサンクス。

152KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30