■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド
- 1 :名無し娘。 ◆vP.bOZFQ  :01/08/28 20:24 ID:vA2A8wXI
 -  ここは read.cgi の改良だけを専門に扱うスレッドです。 
  
 2ちゃんねるで行われている他のプログラム開発や、動作報告・障害報告等に 
 ついては、それぞれ専用のスレッドが >>2 から参照できますので、 
 移動してください。お願いします。 
  
 ●前スレ 
  http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501 
  
 ●read.cgi最新ソースコード(定期的に同期されています) 
  http://www.gedoh.org/aki/2ch/current/bbs/ 
  http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html 
  
 ●2ちゃんねる軽量化関連スレッド群 
  >>2 
  
 ●みなさまへのお願い(急募) 
  >>3 
  
 ●前スレで提示されている案・意見の一覧 
  http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=868&to=868&nofirst=true 
 
- 604 :デフォルトの名無しさん :01/09/01 15:46 ID:twr9sQ6c
 -  >>602 
 あてた 
 
- 605 :デフォルトの名無しさん :01/09/01 16:21 ID:D.BYJFUs
 -  >>601 
 多分、gzprintf()が、 
 char buf[4096]; 
 vsnprintf(buf,4096,format,va);か 
 vsprintf(buf,format,va);のどちらかになる。 
 下なら当然バグる。 
 上でバグるならライブラリの問題だが、どっちにしろ正しい結果にならない。 
 
- 606 :VC++まだ箱のなか厨房(w :01/09/01 16:49 ID:/IvlKP0E
 -  割り込みですいません、 
  
 動作報告にあったやつなんですが、read.cgi 5.10 で 
 imode経由の時、「レスを最初から読む」のリンク先が 
 「st=1&to=10」のためとんだページで11以降のレスを読み出すリンク 
 が表示されないようですが、 
 最新版ではこれ、「&to=11」とかなるようには対処済みでしょうか? 
 
- 607 :605 :01/09/01 17:10 ID:D.BYJFUs
 -  >>601 
 gzwrite使うようにした。 
  
 ところで、他のところで本文を一括でpPrintf()に渡しているような 
 ところはないかな。 
 
- 608 :605 :01/09/01 17:36 ID:D.BYJFUs
 -  8000文字程度のを作って食わせたら、駄目だたーョ。 
 zlibの方をいじった方がよさげなんだが、 
 スタック上に10Kぐらいとるのと、vasprintf()使うのとどっちがいい? 
  
 vasprintf()使っちゃっていいかな? 
 
- 609 :デフォルトの名無しさん :01/09/01 17:51 ID:Oz0a82Qk
 -  >>608 vasprintf()ってどんな関数なの? Solaris上では見当たらないんだけど... 
 zlibのgzprintf()もどうせ小さな関数だから 文字列長の制限のないor制限の緩い 
 関数を自作しちゃってもいいかもね 
 
- 610 :605 :01/09/01 17:55 ID:D.BYJFUs
 -  sprintf内でmallocする。 
 パフォーマンス的にうれしくないが、最も安全。 
  
 printf系の関数を自作するのは、つらいっす。 
 
- 611 :デフォルトの名無しさん :01/09/01 17:55 ID:twr9sQ6c
 -  >>609 
 vasprintfってのは、第一引数をポインタのポインタで渡して 
 そこにメモリ確保して内容も書いてアドレス書き込んでくれる関数みたい 
 
- 612 :デフォルトの名無しさん :01/09/01 18:12 ID:bCko6D0s
 -  ちょっと提案なんですが、めがびーのように 
 「書き込み後もこのスレッドに留まる」機能を導入するというのは 
 いかがでしょうか?主にチャット対策ですね。 
 上記の機能のチェックボタンをONにして書き込みした場合、 
 再び最新の数十件を表示し、チェックボタンは再びONに 
 なっているという具合に。 
 脳内シミュレーションでは転送量も削減され、使用者にとっても 
 メリットがあり、結構いい感じなんですが・・ 
 がいしゅつだったら申し訳ありません。 
 
- 613 :605 :01/09/01 20:27 ID:D.BYJFUs
 -  >>609 
 2ちゃんなら最大8kぐらいだから、とりあえず10kにしときました。 
 gzipped_fwriteは、zlibの方に移しました。 
 
- 614 :609 :01/09/01 20:43 ID:Oz0a82Qk
 -  >>613 とりあえずそれが妥当なところですね 
 vsnprintf()って確か戻り値が「バッファ長が十分あったと仮定した場合の 
 結果文字列長」だと思ったので それチェックして10kより長かったら 
 malloc()でもっとデカいバッファ作って呼び直す ってのもいいのかも...... 
  
 でも vsnprintf()の実装がbrokenだと戻り値が当てにならないこともあるのかな? 
 
- 615 :♯6411 :01/09/01 20:50 ID:73Q/QYVY
 -  現在の最新を、サイケドットコムに 
 反映しときました。 
  
 それにしても、Air H"さいこー。 
 
- 616 :605 :01/09/01 20:58 ID:D.BYJFUs
 -  >>614 
 たしかに、 
  if the return value is greater than or equal 
 とかあります。 
  
 ただね、「zlibってvsnprintf()使ってんのにどうして落ちる」と悩んだんですわ。 
 良く見るとconfigure使うくせに STDC とか HAS_vsnprintfとかを自分で定義して 
 やらんといけなかった様ですな。 
  
 configureがなければ、最初っから手で調整したのにィ〜。 
 
- 617 :609 :01/09/01 21:18 ID:Oz0a82Qk
 -  >>616 うひゃ〜 このconfigureホントに手抜きもいいとこだな 
 しかし そうなると......世の中のgzprintf()使ったプログラムには 
 buffer overflowの脆弱性が潜んでる可能性がかなり高い...... 
 
- 618 :605 :01/09/01 21:57 ID:D.BYJFUs
 -  >>614 この方式も組み込みました。 
 10kのままにしたので、おそらくread.cgiでは使わないでしょう。 
  
 >>617 FreeBSD標準のlibzだとsnprintf()が使われるように見える。 
 vsnprintf()の方を使って欲しいなあ。 
 
- 619 :♯6411 :01/09/01 22:03 ID:73Q/QYVY
 -  とりあえず、最新のものを追っかけてます。 
 
- 620 :デフォルトの名無しさん :01/09/02 00:06 ID:6jadN1QI
 -  dat_out_raw()で、 
  /* 全部を送信するように変更 */ 
  raw_lastnum = 0; 
 となっているのは、else以下に入れるのが正しいのでは? 
 &raw=5.123等の適当な数字を入れると、 
 -INCRと共に全体が返ってくる 
 
- 621 :|  - -) :01/09/02 00:12 ID:U9FxmX3M
 -  >>620 
 いや、それが正しい動作なのですが... 
 (正しいレス番号とそのときまでのファイルサイズを指定したときのみ差分が返ってくる) 
 
- 622 :デフォルトの名無しさん :01/09/02 00:20 ID:5PMhQoM6
 -  あ、+OKが差分で、-INCRはあぼーん等なんですね。 
 raw=0.0で返ってくる+OKと内容が同じだったので、 
 全体を返すときは+OKだと勘違いしてました。 
 
- 623 :デフォルトの名無しさん :01/09/02 00:48 ID:k3O562RI
 -  変更点。 
 >>nnと>>nn-nnについて 
 ・表示範囲外の時にはリンクを貼る 
 ・正しいレス番号でなかったらリンクは貼らない 
 ・リンクを貼る時、USE_PATHだったら、PATH形式に(CHUNKは未使用) 
 ・テレホタイムは、表示範囲に含まれている場合のみリンクしない 
  
 ・強引に4バイト比較にした(警告が出る) 
  
 urlcopy()とressplitter_split()を取り去り、 
 変わりにこれを入れてください。 
 ftp://210.170.170.118/incoming/buggy/read.part.1.c 
 また、お暇な時にお願いします。 
  
 手元の環境の都合で、相変わらず GZIP,ZLIB,USE_MMAP,PREVENTRELOAD 
 での動作確認はしていませんが、 
 今回は他に影響する部分は無いと思います。 
 
- 624 :デフォルトの名無しさん :01/09/02 02:14 ID:QoqrwTN6
 -  テスト用URLs 
 http://www.psychedance.com/test/read.cgi/tech/991795568 
 http://www.psychedance.com/test/read.cgi/tech/991795568/st=50 
 間違いではあるんだけど、この辺の動作がもうひと工夫欲しいかも。 
  
 http://www.psychedance.com/test/read.cgi/tech/ 
 http://www.psychedance.com/test/read.cgi/tech/991795568/ 
 http://www.psychedance.com/test/read.cgi/tech/991795568/?st=50 
 http://www.psychedance.com/test/read.cgi/tech/998997848/?st=50 
 http://www.psychedance.com/test/read.cgi/tech/998915621/?to=50 
 http://www.psychedance.com/test/read.cgi/tech/990334284/10-20 
 http://www.psychedance.com/test/read.cgi/tech/991795568/?ls=50 
  
 http://www.psychedance.com/test/read.cgi/tech/998997848/?st=50 
 http://www.psychedance.com/test/read.cgi/tech/998915621/?to=50 
 http://www.psychedance.com/test/read.cgi/tech/990334284/10-20 
 http://www.psychedance.com/test/read.cgi/tech/991795568/?raw=0.0 
  
 http://www.psychedance.com/test/read.cgi/tech/999073816/?i=t 
 http://www.psychedance.com/test/read.cgi/tech/977112364/?n=t 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998878393 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998878393&st=20 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998808627&st=50 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=994424597&to=50 
  
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998878393&imode=true 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998808627&nofirst=true 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=994424597&st=50to=100 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=994424597&raw=0.0 
 
- 625 :名無し :01/09/02 02:23 ID:Lim.QX.U
 -  夜勤さんが批判要望に出現してます。 
 インストール頼むなら今ですよ。 
 
- 626 :仕様無しさん ◆NwLv.g/w  :01/09/02 02:33 ID:gUvmJJ.Q
 -  http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999345252&st=764&to=764 
  
 764 名前:夜勤 ◆D69Zsbfg @夜勤 ★ 投稿日:01/09/02 02:31 ID:??? 
  ちと 話の流れと違うけど、すまそ 
  
  今 www2.bbspink のサーバに mod_gzip が入っています。 
  ちゃんと動いているようなので(効果もかなりあるし)、 
  来週は全サーバに入れる予定ですー。 
 
- 627 :名無し :01/09/02 02:33 ID:Lim.QX.U
 -  764 名前:夜勤 ◆D69Zsbfg @夜勤 ★ :01/09/02 02:31 ID:??? 
 ちと 話の流れと違うけど、すまそ 
  
 今 www2.bbspink のサーバに mod_gzip が入っています。 
 ちゃんと動いているようなので(効果もかなりあるし)、 
 来週は全サーバに入れる予定ですー。 
  
 過去ログの圧縮もやる予定です。  
 
- 628 :デフォルトの名無しさん :01/09/02 02:38 ID:nSC2NXko
 -  ホントやねぇ zlib関連のコーディングは結局お蔵入りになっちゃうけど 
 まぁ めでたしめでたしということか 
  
 % telnet www2.bbspink.com 80 
 GET / HTTP/1.0 
 Host: www2.bbspink.com 
 Connection: close 
  
 HTTP/1.1 200 OK 
 Date: Sat, 01 Sep 2001 17:35:09 GMT 
 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 
 Connection: close 
 Content-Type: text/html 
 
- 629 :デフォルトの名無しさん :01/09/02 02:40 ID:TU.A0Olc
 -  790 名前:夜勤 ◆D69Zsbfg @夜勤 ★ 投稿日:01/09/02 02:38 ID:??? 
 >>779 
 1/3 になると思う、ほぼ達成です。 
 unix板、プログラム板、web 関係の板の皆様方には 
 本当に感謝しています。 
  
 ありがとう。  
 
- 630 :♯6411 :01/09/02 02:41 ID:GBYgH3SU
 -  >>624 勘弁してくだちい(藁 
  
 > http://www.psychedance.com/test/read.cgi/tech/991795568 
  
 まっとうでないpath喰わせたら、本来ならば 
 302(Apacheが勝手に吐くけど)吐いて 
 Location: 入れる必要があるのよねー。 
 そのうち善処するです。 
  
 > http://www.psychedance.com/test/read.cgi/tech/991795568/st=50 
  
 st= は、path の構成要素として扱われるんだけど、 
 今は数字が入ってなかったらあまり動作が 
 芳しくないかもしれん。0-0 と同じ動作をするかな? 
  
 > http://www.psychedance.com/test/read.cgi/tech/991795568/50- 
 だと、想定される動作をするはず。 
 
- 631 :♯6411 :01/09/02 02:43 ID:GBYgH3SU
 -  >>628 どーでもいーけど、 
 なんでL-M吐かないんだろ?? 
 
- 632 :デフォルトの名無しさん :01/09/02 02:46 ID:nSC2NXko
 -  >>631 例の"server-parsed"のためと思われ 
 
- 633 :デフォルトの名無しさん :01/09/02 02:48 ID:vmaCIJDM
 -  >>628 
 無駄になるのは、index2.htmlスレ関連の方。 
 read.cgiでは、意味がある。 
  
 >>631 
 mod_gzipだと、そのあたりがいまいち。 
 304でのリロード拒否も考えると、cgi挟みたくなるよね。 
 
- 634 :♯6411 :01/09/02 02:51 ID:GBYgH3SU
 -  >>633 mod_expire入れられれば… 
 
- 635 :デフォルトの名無しさん :01/09/02 02:55 ID:vmaCIJDM
 -  mod_gzipでcgiの出力も圧縮できるんでしたっけ? 
 そこら辺まで見てないんだけど。 
 
- 636 :♯6411 :01/09/02 03:01 ID:GBYgH3SU
 -  >>635 できる。 
 サイケドットコムにはmod_gzip入ってるが、 
 意図的に www.psychedance.com だけ 
 mod_gzipしない設定になっていて、 
 あのサーバが抱えている他のコンテンツは 
 gzip効かされるようになってる。 
  
 漏れも目で確認してみた。 
 
- 637 :- :01/09/02 03:03 ID:SJhkwM6g
 -  http://www2.bbspink.com/test/check.cgi 
  
 HTTP/1.1 200 OK 
 Date: Sat, 01 Sep 2001 18:00:46 GMT 
 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 
 Connection: close 
 Content-Type: text/html 
 Content-Encoding: gzip 
 Content-Length: 684 
  
 gzipもlengthも使われてますね 
 
- 638 :デフォルトの名無しさん :01/09/02 03:08 ID:vmaCIJDM
 -  >>636 
 できるのかあ。じゃあ、うちのは設定の問題か、勘違いかな。 
 細かいとこまで見ないで入れちゃったからなあ。 
  
 ところで、>>623 のコードどうします? 
 そのまま取りこむのは、少し抵抗あるんだけど。 
 
- 639 :ひろゆき :01/09/02 04:59 ID:Y47cJeS2
 -  どうもお世話になってます。 
 いろいろとありがとうございます。 
 ノートPCが手元にないもので、インストールができないおいらです。。。 
 
- 640 :デフォルトの名無しさん :01/09/02 05:11 ID:qidyfsQI
 -  j時間帯的には 
 http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722 
 の★つきひろゆきと思われるが、何でこっちはキャップないの? 
 
- 641 :デフォルトの名無しさん :01/09/02 06:49 ID:OGRZcBVM
 -   index2とかread.cgiのhtmlにはform書かずに、「書きこみ」に 
 リンクして別窓開かせるというのか、もしかして激しくガイシュツ? 
 
- 642 :名無し :01/09/02 06:50 ID:kg0l2cpY
 -  age 
 
- 643 :♯6411 :01/09/02 15:04 ID:DixhmFmM
 -  >>641 フォームがあそこに付いてるってのが 
 2chの活性化につながってると思われ。 
 フォームを外すと、禿げしく活性化が 
 損なわれること必至なので、熟考が必要。 
 現に、スレ立ては、昔は表に出てたけど、今は 
 引っ込んでるでしょ? 
  
 もちろん、運営側が脱活性化を狙ってるのなら、 
 フォームを引っ込めてしまうというのも…鬱 
 
- 644 :♯6411 :01/09/02 15:06 ID:DixhmFmM
 -  >>639 こっちこそ、大変楽しんでますです。 
 本業そっちのけで(w 
 
- 645 :デフォルトの名無しさん :01/09/02 15:45 ID:FVpdjhrE
 -  たまにここをのぞいてるもんですが。 
 >>623のアイディアをさらに進めて、各レスに <a name="nn"> ってつけて 
 表示範囲内へのリンクは <a href="#nn"> にするのはどうでしょ。 
 転送量削減というより便利になるだけだけど。 
 
- 646 :♯6411 :01/09/02 15:57 ID:DixhmFmM
 -  >>645 path仕様では実装済みです。 
 現仕様に適用する作業はやってないですが、 
 できないこともないと思われ。 
  
 http://www.psychedance.com/test/read.cgi/tech/998997848/351-400#397 
 
- 647 :デフォルトの名無しさん :01/09/02 15:58 ID:McpMRzTs
 -  >>623 
 これcvsにあてちゃっていいんでしょーか 
 
- 648 :♯6411 :01/09/02 16:02 ID:DixhmFmM
 -  >>647 未評価なんだけど、 
 評価可能なように、conditionつけてお願いしまーす 
 
- 649 :デフォルトの名無しさん :01/09/02 16:03 ID:McpMRzTs
 -  >>648 
 それにしてもconditionだらけになってきたので 
 いじるのもつらくなりつつあるような(^^; 
 
- 650 :デフォルトの名無しさん :01/09/02 16:10 ID:McpMRzTs
 -  >>623 
 ・強引に4バイト比較にした(警告が出る) 
 アライン無視で *(long *)化して比較してるんですか。 
 これはやめたほうがいいと思われ。 
 環境変わると死ぬので将来サーバ環境変更したときに危険 
 
- 651 :♯6411 :01/09/02 16:10 ID:QJw7snFQ
 -  >>649 仕様確定している新機能は、 
 そろそろcondition外してもいいんだけどねー。 
 これはみんなのコンセンサス必要。 
  
 いちお、古い分はリポジトリに残ってるわけだし。 
 
- 652 :デフォルトの名無しさん :01/09/02 16:12 ID:FVpdjhrE
 -  おお、できてますな。便利ですなり>>646 
 そういう仕様のすり合わせはちゃんと読んでないのでもぐります... 
 
- 653 :♯6411 :01/09/02 18:29 ID:ZI/K/6dI
 -  >>650 サイケドットコムに反映した。 
  
 rewrite_href()に限らず、漏れが書き下ろした 
 モジュールは、どなたでも手を着けて 
 くださって結構。(そのためのcvsでしょ?) 
  
 rewrite_href2()は、葬れると思われ。 
 (本人もそういってるし) 
 
- 654 :デフォルトの名無しさん :01/09/02 19:36 ID:McpMRzTs
 -  zz_GetStringリファインしてみた。 
 あと'=' がない場合が想定されていなかったので、無い場合は無視するようにしたっす。 
 あ、commitのcomment入れ失敗。日本語文字が消えてる(^^; 
 
- 655 :デフォルトの名無しさん :01/09/02 19:54 ID:McpMRzTs
 -  >>624 で入れたやつ、rawmodeでもURLがタグ化されてるけどいいの? 
 
- 656 :デフォルトの名無しさん :01/09/02 19:54 ID:nSC2NXko
 -  >>631-634 Last-Modifiedの件だけど オレのところのApacheで確認してみた 
 ところ mod_gzip使ってもserver-parsedになってない静的コンテンツは 
 ちゃんとLast-Modified吐いてます ということでserver-parsedを外しても 
 問題がないのなら外してもらった方がいいですね 
  
 あとExpiresヘッダがらみの部分が現在 
  
 #if 1 
     get_lastmod_str(expires_str, zz_fileLastmod + 5); 
 #else 
        : 
 #endif 
  
 とかなってるけど まぁ実際には EXPIRES が定義されてなければExpiresヘッダは 
 吐かれないけど もしこのままExpiresヘッダを吐いたとすると mtimeの 
 5秒後にexpireされてしまう......ということは事実上"Pragma: no-cache"と 
 ほとんど等価になってしまってブラウザでキャッシュされなくなってしまうような 
 気がするんだけど...... 
 
- 657 :656 :01/09/02 20:56 ID:nSC2NXko
 -  server-parsedの場合これどうかね? 
  
                      Apache module mod_include 
  
 XBitHack directive 
  
   Syntax: XBitHack on|off|full 
   Default: XBitHack off 
   Context: server config, virtual host, directory, .htaccess 
   Override: Options 
   Status: Base 
   Module: mod_include 
  
   The XBitHack directives controls the parsing of ordinary html 
   documents. This directive only affects files associated with the MIME 
   type text/html. XBitHack can take on the following values: 
      : 
   full 
      As for on but also test the group-execute bit. If it is set, 
      then set the Last-modified date of the returned file to be the 
      last modified time of the file. If it is not set, then no 
      last-modified date is sent. Setting this bit allows clients and 
      proxies to cache the result of the request. 
 
- 658 :♯6411 :01/09/02 21:29 ID:rH8fTNpc
 -  >>657 そもそも、server-parsedにしてる 
 理由って、adとか差し込むため? 
 
- 659 :♯6411 :01/09/02 21:29 ID:rH8fTNpc
 -  >>656 Expires: の件に関しては、 
 途中で投げちゃったので、 
 深く追求しないで…鬱 
 
- 660 :655 :01/09/02 21:33 ID:McpMRzTs
 -  rawmodeでタグ化してるけどってのは、 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998997848&raw=0.0 
 これ見るとrewrite_href*が処理されてるように見えるんだけど。 
 
- 661 :655 :01/09/02 21:37 ID:McpMRzTs
 -  >>660 
 って勘違い。鬱 
 
- 662 :デフォルトの名無しさん :01/09/02 22:18 ID:df.8HYUw
 -  どちらにせよ個々のPCの時間がそんなに精度良くサーバと 
 合ってるはずないんで Expires ヘッダ使うのは無理だと思われ 
 
- 663 :♯6411 :01/09/02 22:23 ID:rH8fTNpc
 -  >>662 Expiresに関しては、どちらかとゆーと 
 キャッシュサーバに対する妥当性を与える 
 手段としてあれこれ研究してたす。 
  
 ウチの会社で使ってるのはSquid-2 
 
- 664 :デフォルトの名無しさん :01/09/02 22:27 ID:McpMRzTs
 -  >>662 
 Expiresの時刻はDateヘッダの時刻との差を出して 
 有効期間を割り出すものじゃないかと思うけど。 
 RFC2616 
 >13.2.4 Expiration Calculations 
 >      freshness_lifetime = expires_value - date_value 
 
- 665 :デフォルトの名無しさん :01/09/02 22:28 ID:nSC2NXko
 -  >>663 とするとCache-Controlでわ? 
 
- 666 :♯6411 :01/09/02 22:36 ID:rH8fTNpc
 -  >>665 IE5では、Expires:で保障されてる 
 オブジェクトに対しては、サーバに問い合わせすら 
 しない、という噂を聞いて、いろいろ試してた 
 んですわ。たとえば、過去ログとかは有効期限を 
 長めに設定しても生きていける可能性が 
 あるわけでしょ? 
  
 /* ためしに廃棄期限をちょっと30秒先に設定してみる */ 
 という部分が、その実験の名残。 
  
 先日出た結論 >>336 >>391 以降 では 
 .cgi ? などという文字がURLに含まれていると、 
 キャッシュサーバだけでなく、UAもExpiresを信用しなく 
 なるのでは? ということだった。これに関しての 
 実験は、後ほどしてみる。 
 
- 667 :662 :01/09/02 22:45 ID:df.8HYUw
 -  >>664 
 すんません、逝ってきます 
 
- 668 :デフォルトの名無しさん :01/09/02 22:48 ID:nSC2NXko
 -  >>666 なるほど......ただ問題は有効期限切れでexpireされると キャッシュから 
 捨てられてしまうため 今度は逆にコンテンツが変化していなくても取得しに行って 
 しまうことになるので そのあたりのトレードオフを検討する必要がありますね 
  
 まぁおっしゃる通り過去ログなら有効期限を1年ぐらいにしておけばいいのかも 
 知れませんけど 
 
- 669 :♯6411 :01/09/02 22:53 ID:rH8fTNpc
 -  >>668 詳しく実験してないんだけど、 
 大筋では、expiredなオブジェクトに対しても、 
 I-M-S付きで取りに逝ってくれるようなので、 
 無駄ではない、かもしれん。 
  
 今は別の作業やってるので、Expires:の検証ができぬ。 
 
- 670 :デフォルトの名無しさん :01/09/03 05:03 ID:TpCC4vQc
 -  >>568 を読み流してた。。 
  
 read2ch.hから、 
 #defineKatjusha_Beta_kisei 
 がなくなってます。 
 http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998695422&st=81&to=81&n=true 
  
 その他、CM_BBSPINKやLOGLOGOUTはどうなんだろ? 
 
- 671 :♯6411 :01/09/03 05:21 ID:L5jSUf32
 -  >>670 いつのまにか消えてますな(w 
 いま調べたら、リポジトリには 
 ハナっからかちゅーしゃ規制定義が 
 入ってないっぽ。 
  
 漏れも、なんであちこちに 
 Katjusha_Beta_kisei 
 入ってんだろー? とギモンにはなってた 
 んだが…まーいっか。 
 
- 672 :♯6411 :01/09/03 06:15 ID:L5jSUf32
 -  そろそろ寝るか… 
  
 要望: だれか、現行版(5.10?)とほぼ同じもの(?)に、 
 タグつけといてもらえませんか? 
 漏れはどの時点が取り込まれたか、いまいち 
 覚えてませんです。 
 
- 673 :デフォルトの名無しさん :01/09/03 09:10 ID:.8abJrUE
 -  Ver5.10の導入報告は前スレ608 
 CVSの導入が前スレ739(commitが764) 
 というわけで、Ver5.10は残ってない 
  
 5.10以前に導入され、苦情や問題の無いcondition 
 NEWBA 
 DEBUG 
 GSTR2 
 こいつらはOK 
  
 GZIPは、プロセス数問題があるので保留 
 PREVENTRELOADは、削除依頼板に若干気になる発言があるので保留 
 ZLIBは、導入時にzlibがなく、入っていない 
 
- 674 :デフォルトの名無しさん :01/09/03 13:38 ID:nLIVOBVk
 -  「掲示板に戻る」をindex2.html→index.htmlに。 
  
 潜在的なバグ 
 readSettingFile() 
   if (cptr[len] == '=' 
 cptr + len < endp を確認してからにしないとまずい。 
  
 dat_out_raw() 
   pPrintf(pStdout, "%.*s", BigLine[i+1] - BigLine[i], BigLine[i]); 
 datに'\0'が含まれていた場合に、期待した動作をしない。 
 (最近はbbs.cgiで'\0'をはじいている気がするし、 
 mod_gzipが.datも圧縮するようになれば、あまり問題ではない) 
 
- 675 :♯6411 :01/09/03 13:40 ID:xDKgLLeA
 -  >>673 そうだったのか、tnx. 
 リポジトリの最初の方が、5.10にやや近い、 
 ということにしとけば、いいのかな? 
 
- 676 :デフォルトの名無しさん :01/09/03 14:35 ID:eRhXWXRI
 -  >>674 
 /index.html より / にしたほうが明らかにバイト数が少なくてすむ。 
 
- 677 :デフォルトの名無しさん :01/09/03 18:04 ID:Z2g4dJyM
 -  >>676 
 >今までは、http://teri.2ch.net/accuse/index2.htmlとかで 
 >ブックマークしてたと思いますが、 
 >これから、http://teri.2ch.net/accuse/になります。 
 >index2.htmlってのがいらなくなるわけですね。 
  
 http://teri.2ch.net/accuse/ 
 だと、gzip化されてない様に見えるが? 
 mod_gzipが導入されるまでの移行中は、どこに戻すのがいいのやら。 
 
- 678 :仕様無しさん ◆NwLv.g/w  :01/09/03 19:32 ID:shKKa9Vo
 -  >677 とりあえず #defineで設定して後ですぐに変えられるようにしとくのが吉かと。 
 
- 679 :デフォルトの名無しさん :01/09/03 20:28 ID:MKp/si06
 -  ちょっと Expiresヘッダを吐いた場合のIE5.01とネスケ4.72の 
 振る舞いを観察してみました 
  
 IE5.01 -> Expiresは無視されている模様(Expiresを吐かなかった場合との差が見られない) 
  
 ネスケ4.72 -> 当該ページを表示させてから「戻る」ボタン等で前のページに戻ってから 
         「次」ボタン等で当該ページに戻った際に次のような振る舞いになる 
         Expire日時前 -> そのままキャッシュの内容が表示される 
         Expire日時後 -> If-Modified-Since付きでコンテンツを取りに行く 
                  Statusが304ならキャッシュの内容を表示 
         このケース以外(URLを直打ちした場合,リンクからジャンプした場合, 
         リロードボタンを押した場合等)ではExpiresなしの場合と振る舞いの違いがない模様 
  
 ってな感じでした なお >>664 で指摘されているRFCの規定にもかかわらず 
 ネスケはコンテンツをexpireさせる日時はPC側の内部時計のものを使ってしまっている模様 
  
 ところで ネスケ4.72で次のような問題があるようです 
     gzip圧縮されたコンテンツでContent-Lengthヘッダが指定されていると 
     Last-Modifiedによる指定が無効になってしまう 
 これはネスケ側のバグではないかと思います 現在2chサーバで稼動中のread.cgiでは 
 Content-Lengthヘッダがありませんが これが指定されるようになると 
 ネスケでは(少なくとも4.72では)If-Modified-Since付きのリクエストを 
 行わなくなって毎回コンテンツを取りに行くようになってしまうと思います 
  
 mod_gzipではdechunkを行うとContent-Lengthヘッダを生成させるので 
 (そうでなくともスタティックなコンテンツではそうですが)これは 
 頭の痛い問題ですねぇ...... 
 
- 680 :♯6411 :01/09/04 00:04 ID:.iUWuuDs
 -  cvs追いかけてる人は知ってると思うけど、 
 いま、インデクスの実装を行っており、 
 設計はほぼ固まりました。 
  
 概要・特長は以下の通り。 
 ・インデクスのサイズは 4096 bytes 
 ・/board/dat/idx/XXXXXXXXXX.idx 
 ・ディレクトリ idx がなかったら、インデクスは作成されない 
 ・bbs.cgiの改造はたぶん不要 
 ・完璧な排他制御(w 
 ・スピンロック不使用 
 ・SMP safe(まじかよ) 
  
 仕様はほぼ決まっているが未実装な機能は以下の通り。 
 ・あぼーん時のインデクス再構築 
  
 …っていっても、いまからmainに組み込むことを 
 考えると、もちっと道のりあるかな? 
 
- 681 :デフォルトの名無しさん :01/09/04 00:27 ID:1lIywugU
 -  read.cgi更新されたもよう。 
 http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999451574&nofirst=true&st=573&to=573 
 
- 682 :♯6411 :01/09/04 00:28 ID:.iUWuuDs
 -  >>681 ここのカレントじゃなく、 
 zlib使うようにしたバージョンかな? 
 
- 683 :デフォルトの名無しさん :01/09/04 00:29 ID:Mgf2Z89w
 -  ありゃ、生DATのgzip圧縮転送って結局まだ有効になってないの? >新read.cgi 
 
- 684 :デフォルトの名無しさん :01/09/04 00:34 ID:1lIywugU
 -  なんかindex.htmに戻るようにしただけな気がする。 
 
- 685 :デフォルトの名無しさん :01/09/04 00:45 ID:ydrizmO6
 -  そうかな? 
 
- 686 :♯6411 :01/09/04 00:49 ID:MmUrMvH6
 -  あまりアグレッシヴな改造やると 
 嫌われるかなあ? (鬱 
 
- 687 :デフォルトの名無しさん :01/09/04 01:40 ID:LkAi.Uls
 -  早く「>>」規制を解除してほしいなぁ。 
  
 いちいちst=&to=打ち込めば済むんだろうけど、 
 ほとんどの人は「レス全部」押すだろうし。 
 「前100レスを読む」ボタンつけるのととどっちがいいんだろ。 
 
- 688 :デフォルトの名無しさん :01/09/04 01:53 ID:1lIywugU
 -  「掲示板にもどる」を修正。 
 index2.cgiチェックは標準からはずした。 
 index2.htm[l]は使われなくなるようなので、index.htm[l]に変えた。 
 SERVER_SOFTWAREにmod_gzipがあったら、index.htm[l]も出さないようにした。 
 
- 689 :デフォルトの名無しさん :01/09/04 08:03 ID:b.YsqqHc
 -  -DUSE_PATHや-DGZIPって、外すとコンパイルすらできないね。 
 
- 690 :デフォルトの名無しさん :01/09/04 11:09 ID:1lIywugU
 -  >>689 
 GZIPとZLIBなしでのコンパイルは、>>688で直してある。 
 
- 691 :♯6411 :01/09/04 14:01 ID:h7Jd1mr6
 -  >>689 外してコンパイルの 
 テストはほとんどしてなかったろで(スマソ 
  
 ただ、自分が掻いた部分に関しては、 
 path_depth == 0 のときは 
 従来の動作を行うように 
 心がけてたんだけど…ここ2日くらいの 
 変更についてってない(鬱 
 
- 692 :デフォルトの名無しさん :01/09/04 14:06 ID:EcqU4D62
 -  USE_PATH未定義でコンパイルできるようにして 
 rewrite_href2をrewrite_hrefに取り込んでみた。 
 
- 693 :♯6411 :01/09/04 14:44 ID:.iUWuuDs
 -  >>692 新バージョン見まスた。 
 お手数おかけしまスた。 
 
- 694 :デフォルトの名無しさん :01/09/04 15:50 ID:s4.H7M7U
 -  やっぱりそろそろ不要な#ifdefを整理したほうがいいような。 
 
- 695 :♯6411 :01/09/04 16:09 ID:.iUWuuDs
 -  >>694 ちなみにウチのプロジェクトだったら、 
 ひととおりチェックして機能的に採用されそうなものは 
 条件を取り払ってしまう、というポリシーっす。 
 今回は誰がプロジェクトマスターというわけでも 
 ないからねえ(w 
 
- 696 :♯6411 :01/09/04 16:35 ID:.iUWuuDs
 -  index仕様をcommitした。 
 殺してあるので、実験したい場合は以下に。 
  
 ・#define USE_INDEX 
 ・mkdir board/dat/idx 
  
 これ主体に書き換えることができれば、 
 BigBuffer, BigLineを置き換えていくことになろう。 
 
- 697 :♯6411 :01/09/04 16:39 ID:.iUWuuDs
 -  >>696 linuxでは動いているが 
 freebsdでは動いてないっぽ…鬱 
 
- 698 :デフォルトの名無しさん :01/09/04 16:51 ID:EcqU4D62
 -  >>696 
 read.c 
 >          /* XXX これはウソ、Expires: は、 
 >              現在時間を基準にすべきである */ 
 ローカル時計じゃなくてDateヘッダ(サーバ時間)基準だってば。 
 
- 699 :デフォルトの名無しさん :01/09/04 16:52 ID:EcqU4D62
 -  >>698 
 ってread.cgiはそのサーバで実行してるから同じことか (鬱 
 
- 700 :♯6411 :01/09/04 17:09 ID:.iUWuuDs
 -  >>697 単にサイケどっと混むのパーミションの 
 問題だった(鬱 
  
 >>698 おいしいつっこみありがとう。 
 これで二人とも鬱だ氏のう 
 
- 701 :デフォルトの名無しさん :01/09/05 13:47 ID:Il0l9chs
 -  CFLAGSに"-march=i686"って入れても大丈夫かな? 
  
 あと実運用のではLDFLAGSに"-s"って入れた方がバイナリサイズが小さくなる 
 ので その分CGI呼び出しでの負荷が軽くなる......かな? 
 
- 702 :♯6411 :01/09/05 14:50 ID:2LugT.hk
 -  >>701 ld -s でやってるわけじゃないけど 
 make strip ってのが用意されてる。 
 
- 703 :  :01/09/05 21:26 ID:ZOwDxD/w
 -  read.cgi ver5.12 (01/9/5) 
 
- 704 :♯6411 :01/09/05 21:31 ID:zceo8xV2
 -  >>703 まだまだだねー 
  
 漏れは別の仕事が入ったので、休憩中。 
 
- 705 :デフォルトの名無しさん :01/09/05 21:32 ID:F4TkSYjU
 -  >>703 
 これってcvsのソース持ってってくれてるのかなあ? 
 
- 706 :デフォルトの名無しさん :01/09/05 21:48 ID:F4TkSYjU
 -  >>705 
 されてなさげか 
 
- 707 :デフォルトの名無しさん :01/09/05 21:52 ID:d3E9QeVc
 -  ここの成果を参考にしつつ、夜勤さんが管理しているソースを夜勤さん自身が 
 メンテしているのだろうね。トラブルも怖いし転送量削減に関係ない部分の 
 アグレッシブな変更はやはりちょっと手を出しづらいのであろう。 
 
- 708 :名無し :01/09/06 00:31 ID:4dWQq6IU
 -  sage でやってると夜勤さんは気付かないらしい。 
 みんなから、もう忘れ去られてるし。 
 
- 709 :辛口 :01/09/06 00:56 ID:TLbpbvsU
 -  俺だけかもしれないけど、新しいおもちゃを買ってもらった子供の気分だったね。 
  
 read.cgiに新機能なんか要るわけない。 
 何か別な機能が必要になれば、別途用意すればいい。 
 余計な機能は邪魔。 
  
 便利になるようにするのはいい。 
 ただ、それがピーク転送量や負荷に影響する可能性があれば 
 簡単に時間帯制限を設けたり、機能を外したりできるようにしておくべき。 
 (ほとんど影響しないならば、是非取り入れるべき) 
  
 とは言っても、決めるのはここにいる誰かではなく、 
 夜勤さんであり、ひろゆきである。 
 特にread.cgiには夜勤さんの決定が最重視されるだろう。 
 もちろん好き嫌いで決めるのではなく、いろいろ試し、 
 転送量や負荷を調べ、結果を見て判断するだろう。 
  
 ただ、現状のシステムを変化させる必要があるような機能は 
 夜勤さんはおそらく取り入れない(変更できない)。 
 現状に合わせて、その中で最善な機能を選択すると思われる。 
  
 read.cgiに求められるのは、ピーク時の転送量と負荷の削減。 
 忘れられかけているが、転送量問題が表面化するまでは、 
 サーバー負荷が最大の懸案だった。 
 特殊機能があっても使わなければ同じとは言っても、 
 ここ(2ch)は、他の人や組織から悪意を持って攻撃される事もある(あった)。 
 負荷が増える可能性も全て消しておかなければならない。 
 復帰作業が、スクリプト名を公開せず、 
 サーバーや時間帯によって厳しく決め事を設けているのを考えればわかるだろう。 
 便利な機能でも、負荷がかかるようならおそらく外される。 
  
 index.htm[l]から"投稿日"が消え、レスから曜日も省かれているのに、 
 read.cgiは投稿日を非表示にするオプションも(まだ)ない。 
 文字通り「1バイトを削る」という作業を行っているのに、 
 常時全レスにアンカーを設定する事に、夜勤さんは同意するだろうか。 
 natto等に導入されていたread.cgi Ver4.23には、 
 読みこみdatの最大値を時間帯によって変動させていた。 
 (もちろん、サーバーの負荷を考慮して。実際、bbspinkの最大値が変更された) 
 こんなオプションも(まだ)ない。 
 こういった基本的な点をもう一度重視して、 
 安定化を図るべきではなかろうか。 
  
 で、良さそうと思えるバージョンが安定したら、 
 そこで簡単なオプション説明でもつけて夜勤さんに推薦するといいのでは? 
 ここでずっと続けているから、夜勤さんも安定していないと考えて 
 取り入れないのかもしれない。 
 
- 710 :♯6411 :01/09/06 01:00 ID:ae./7xbU
 -  >>709 「新しいおもちゃ」の部分は禿胴。 
 
- 711 :  :01/09/06 04:01 ID:IAYQ/SXs
 -  楽しげな新機能を思いつきました。 
 新規ログ10件表示にして、表示順を逆にして新しいレスを上に表示する 
 書き込み後再び、この10件表示にすれば、チャットモードの完成。 
  
 実況スレがさらに活発化!(あかんやん・・。) 
 このモードでは、無駄な部分は徹底的に削って超簡易表示モード 
 日付も時間も表示する必要は無い。 
 一行レスが乱れ飛ぶ事必死!(笑) 
 
- 712 :デフォルトの名無しさん :01/09/06 08:22 ID:0iK.UQWw
 -  >>709 
 同意 
  
 「こんなん作ってみました」じゃなくって、「ここをこう変更するだけで 
 ○○の低下は××程度に抑えたまま転送量をここまで削減することができます」 
 という具体的な数字を挙げながら説明をして、変更のリスクに見合うだけの効果が 
 確実と説得できないと採用されないと思うよ。 
 #リーマンなら当然分かると思うが。 
  
 だからここで30個アイディアが出てそれをこのスレのバージョンですべて採用しても 
 本番環境では29個ボツになるかもしれない。 
  
 それを分かった上でいろいろ試すのはいいんじゃないかと思うけど。 
 このスレももはや直接的な実装よりも、そういう斬新なアイデアが 
 出てこないかという部分で期待されてるんだろうし。 
 
- 713 :デフォルトの名無しさん :01/09/06 08:36 ID:x54XUUQc
 -  更新日:とか年の上2桁、曜日の削除って、圧縮かからないときにしか 
 ほとんど効果ないよな。 
 圧縮かけられないリクエストって全体のどれぐらいなのかな。 
 
- 714 :デフォルトの名無しさん :01/09/06 12:57 ID:iopuCCXI
 -  現在がサーバ負荷よりも転送量に重大な問題があるなら、 
 指定した板の指定したレスの生データを吐き出すCGIを 
 用意してくれないかな。 
  
 monazillaで利用されて少しは転送量軽減の足しになるのではあるまいか。 
 
- 715 :♯6411 :01/09/06 13:02 ID:EWT7f5cU
 -  正直、採用されない(採用されたがらない?)コードを 
 いじくりまわしてるのは、モチベーションが下がる一方で。 
  
 いろいろ問題提起もあったんで、もしこの 
 プロジェクトを続けるんなら、仕切り直しもしたい。 
  
 「誰でも気楽に改造を施すことができる」 
 「評価とかレビューのプロセスが欠落している」 
 などが、漏れ的には大きな問題になってると 
 考える。後者は、モチベーションが上がんないと 
 誰もレビュー買って出ない、というのもあるけど。 
  
 また、プロジェクトマスターに相当する人間が 
 いなかったので、実装の方向性が固まってなかった 
 とゆーのもある。漏れが突っ走りすぎたのも、 
 単に歯止めが利かなかっただけ(w 
  
 漏れ的には、「バイト数低減と転送量低減のバランス」 
 「ローカルキャッシュおよびキャッシュサーバへの 
 キャッシング効率」「実装の軽量化」「潜在バグの追放」 
 を睨んであれこれ手を出してた。 
 あ、あと、「オナーニ」「換骨奪胎」もだな(w 
  
 ちうわけで、もうしばらくは、唯一コテハン晒して 
 生き残ってる漏れが、取りまとめ役に回っても 
 構わんのだが、どーよ? 
  
 実際の実装にまつわるギロンはまた後ほど。 
 
- 716 :♯6411 :01/09/06 13:48 ID:TE3IkoNg
 -  >>709 一点だけ。 
  
 > index.htm[l]から"投稿日"が消え、レスから曜日も省かれているのに、 
 > read.cgiは投稿日を非表示にするオプションも(まだ)ない。 
 > 文字通り「1バイトを削る」という作業を行っているのに、 
 > 常時全レスにアンカーを設定する事に、夜勤さんは同意するだろうか。 
  
 夜勤さんが同意するかどうかは置いといて。 
 投稿日を非表示にするか否かに関して、 
 ここでは「全部削れ」という意見は出なかったので 
 誰もその方面に手を着けなかった、と考えるべき。 
 むしろ、「曜日は復活させてほしい」という意見の 
 方が多かったと感じてる。(俺もそう思う) 
 ちなみに、現在の仕様だと、内部で投稿日を 
 解釈してるので、(曜日の表示を含め)日付フォーマットを 
 自在にいじるのは簡単。 
  
 あ、「投稿日」という文字列を削る話? 
 ぞぬで見てたから気づかなかった。 
  
 あと、アンカーの件は俺の改造を指してると思われ。 
 俺的な考えでは、局所的に見たらバイト数の増加に 
 繋がれど、大局的に見たらリクエスト数の軽減に 
 繋がるのでは? と考えて試験的に導入。 
 この手の仕様に関しては、いくら思考実験を繰り返しても 
 結局のところ実地テストなしには最終的な評価が 
 出せないと思うが、いかが? 
  
 path仕様でない箇所で<A name=x>を出してるのは 
 俺の手落ち。機会があったら禁止しとくっす。 
  
 個人的な意見では、1バイトでも削る作業より 
 他にすることはまだある。 
  
 最終的に判断するのは夜勤さんであり、ひろゆきさんで 
 あるという事実には同意。ただ、キャップが誰も 
 意見を言ってくれない(放置?)以上、その手前の 
 レベルでとりまとめを行う人間は必要。 
 
- 717 :♯6411 :01/09/06 14:04 ID:.R/e0Ey.
 -  >>712 今後検討する仕様に関しては、 
 効果予測の文と一緒に提案することにするっす。 
  
 ただ、リーマン稼業と違い、 
 「とりあえず実装してみた、評価頼む」は 
 大いにありなのだと考える。 
 以前ウニクース板見てた連中に、ここがなんて言われてたか 
 覚えてる? 「理論ばかりで実装が遅れてる」(←揚げ足歓迎) 
 なので、漏れはまず実装して、それをたたき台にしたい 
 と考えた。結果的には、安定版がつくれないので、 
 ちょっとマズい方針だったんだが。 
  
 というわけで、「新機能実装ブランチ」を「バグ取り安定」から 
 分けないと、作業がしにくいなあ、と昨夜思った。 
  
 ちなみに漏れも、いわゆるリーサラだけど、 
 クライアントに提案して尻込みされた例は数知れず。 
 説得して採用させたことも多いけどね。 
 
- 718 :デフォルトの名無しさん :01/09/06 19:19 ID:nYC88wV.
 -  自己満足でやりたいなら、勝手にやってれば? 
 
- 719 :名無し娘。 ◆vP.bOZFQ  :01/09/06 23:23
 -  >>716 
 おそらく「投稿日」という語句そのものを削る話だと思います。 
  
 >>717 
 >「とりあえず実装してみた、評価頼む」は 
 >大いにありなのだと考える。 
 それは同感なのですが、評価対象がふくらみすぎて、しかも、どこで 
 defineなりをすればどこがどう変わるのか、途中からさっぱり不明に 
 なってしまったと感じています。#ifdef の字面と内容が噛み合わない 
 部分さえ出てきた始末で。 
 評価してもらうのに最良の方法は、私は結局、全設定を外部ファイルによって 
 動的変更可能にすることだと思います。 
 そのこと自体が負荷増を伴うのは確かですが、それなら評価が終わって正式 
 採用の決まった設定から順に、再び内部定義に切り替えればいいのですし。 
  
 もし今後も続けるのでしたら、現行read.cgi(ver5.12/ver5.0x)に対し、 
 新たな選択肢を提起する形で、もう一度実装をし直す必要があるように 
 感じます。 
 
- 720 :音楽侍 ◆NtVkSITE  :01/09/07 00:08
 -  火急的な課題がなくなったんだったら、そして、今後も改良作業を続けるのだったら、read.cの変更を出来る人を決めるだけでだいぶ違うと思うです。 
 read.cn変更権にパーミッションかけるだけで、だいぶ作業が効率化すると思います。 
  
 今までは時間に追われてましたけど、これからは効率化だけ見ていくべきだと思います。 
 あと、「こういう機能はいかがですか?」と、夜勤さんなどに確認をとるというのがもっとも効率的だと思います。 
 これまでの経緯から、私は名無し娘。さんがリーダーになるのが良いのでは?と思います。 
 
- 721 :名無し娘。 ◆vP.bOZFQ  :01/09/07 00:16
 -  >>720 
 私は、いわゆる「プログラムは読めるけど書けない」人種ですので、ご勘弁を。 
 #6411さんのようなしっかりとしたコーディングをなされる方が仕切らないと 
 何もできないlevelに達していると感じます。 
 
- 722 :デフォルトの名無しさん :01/09/07 00:26
 -   
 u 
  
 
- 723 :(゚Д゚)ハァ?スレ発起人@批判要望板 :01/09/07 00:29
 -  はじめましてー 
 詳しく read.c のソースは読んでないのですが 
  
 /* SJIS1バイト目=<br>タグ直前の空白が削除可かを適当に判定 */ 
  
 IE等では>>722のようなことになるので, 
 datファイルの<br>前の空白だけでなく, 
 datファイルの各行末にある<>前の空白も 
 削除可能かどうか判定されると完璧ではないかと思います. 
 
- 724 :♯6411 :01/09/07 00:32
 -  >>720 
 > 今までは時間に追われてましたけど、これからは効率化だけ見ていくべきだと思います。 
 同意。内部的には、効率化・安全化を進める 
 べきなんでは〜と。 
 漏れのコードは安全化より重要な「自己満足化」が多いのだが(w 
  
 > あと、「こういう機能はいかがですか?」と、夜勤さんなどに確認をとるというのがもっとも効率的だと思います。 
 漏れは夜勤さんハァハァではないので追いかけ切れんす。 
 どなたか、この点のフォローをしていただければ。 
  
 >>721 
 「読める」人間こそ、取りまとめに必要ではないかな? 
 漏れは「掻けるけど嫁ない」人間なので(w 
  
 さしあたっては、ブランチを設けることを提案。 
 
- 725 :709 :01/09/07 00:54
 -  反論は煽り系のキャラで逝ってみる 
  
 >>716 
 >あ、「投稿日」という文字列を削る話? 
 >ぞぬで見てたから気づかなかった。 
 関連スレや意見を読んだりすれば、 
 どういう状態になっているか、板を開いてみる程度はするのが普通。 
 現状を認識しようとする意志が全くないわけね。 
 現状を把握せずに機能を提案できるなんて、すばらしい。 
  
 >俺的な考えでは、局所的に見たらバイト数の増加に 
 >繋がれど、大局的に見たらリクエスト数の軽減に 
 >繋がるのでは? と考えて試験的に導入。 
 試験的に導入した割に、完全に書き換えてしまうわけね。 
 戻せるとはいえ。「俺的な考え」を基に。 
 で、コンパイルが通らなくなったりしても、 
 尻拭いは後回しにして、結局他の人がすることになるわけだ。 
  
 >この手の仕様に関しては、いくら思考実験を繰り返しても 
 >結局のところ実地テストなしには最終的な評価が 
 >出せないと思うが、いかが? 
 その通り。だから? 
 簡単にテストができるようにしておけばいいものを、 
 まるで仕様が確定したかのように扱うのはどうかと思うが、いかが? 
  
 >>717 
 >個人的な意見では、1バイトでも削る作業より 
 >他にすることはまだある。 
 個人的な意見なんでしょ。他人に押し付けないでよね。 
 ま、ある程度は同意するけど。 
 そもそも「1バイトを削る」自体が夜勤さんの言葉からの引用だけど、 
 それも読んでないんだろうね。 
  
 >「とりあえず実装してみた、評価頼む」は 
 >大いにありなのだと考える。 
 その通りだね。 
 普通は評価前に仕様確定するようなやり方はしないけどね。 
 
- 726 :709 :01/09/07 00:54
 -  あ、俺はリーダーに最も適任なのは夜勤さんだけど、忙しいだろうし 
 それ以外では名無し娘。 ◆vP.bOZFQさんが適任だと思うね。 
 関連スレのチェックもしているし、重視すべき事項を一番わかっていると思う。 
 直接コーディングなんかできなくても、 
 機能追加の方向性やスケジュール等を把握して示してくれれば充分。 
 以前から、要望やらをまとめたりしてくれてたしね。 
  
 既に実装済みの機能や不具合の修正もいくつもあるのに、 
 (zlib等の他にも、ぱっと見で>>687とか>>559とか。>>606は未?) 
 fix版が出せないのは悲しいからね。 
 
- 727 :名無し娘。 ◆vP.bOZFQ  :01/09/07 01:11
 -  >>724 >>726 
 ボランティアの作業で、仕切る人間が口だけじゃまずいと思いますです。 
 あくまでコーディングをする人にすべての権利があり、それを承知の上で 
 周りの人もそれぞれの意見をいう。。。という共通意識が何より大切かと。 
 ですから私が仕切るわけにはいきませんです。 
  
 夜勤さんがread.cgiにどれくらいの時間を割けるのかは、わかりません。 
 ですがやはり、いくらソースが長くなっても、オリジナルのソースと改良案は 
 (部分毎に)並行して提示しないと、採用には抵抗があると思います。 
  
 そろそろ、replace系の関数を最適化する方が先なのかもしれませんね。 
 
- 728 :♯6411 :01/09/07 01:13
 -  マターリと逝くよ… 
  
 > 現状を認識しようとする意志が全くないわけね。 
 > 現状を把握せずに機能を提案できるなんて、すばらしい。 
  
 オナーニだったんだよ、所詮。 
  
  
 > 試験的に導入した割に、完全に書き換えてしまうわけね。 
 > 戻せるとはいえ。「俺的な考え」を基に。 
 > で、コンパイルが通らなくなったりしても、 
 > 尻拭いは後回しにして、結局他の人がすることになるわけだ。 
  
 同意。自分じゃ条件外すことはめったにしないしのー。 
  
  
 > 簡単にテストができるようにしておけばいいものを、 
 > まるで仕様が確定したかのように扱うのはどうかと思うが、いかが? 
  
 放置されてて誰も構ってくれないので、 
 (うん、外せといわれたら即座に外せはするんだけど) 
 外す方法を吟味せずにcommitした漏れはダメダメだ。 
  
  
 > 個人的な意見なんでしょ。他人に押し付けないでよね。 
  
 オナーニなんだ、言わせてくれよう。 
  
  
 > そもそも「1バイトを削る」自体が夜勤さんの言葉からの引用だけど、 
 > それも読んでないんだろうね。 
  
 読んだ記憶はあるんだが、俺解釈してた。 
 字面通りに受け取らないとダメねー 
  
  
 > 普通は評価前に仕様確定するようなやり方はしないけどね。 
  
 <a name=>の件は、正直、すまなかった。 
  
  
 …漏れはもともと煽りキャラ持ってないんだが、 
 マターリキャラも持ってないので、疲れた… 
 (引用ばかりすると、十分煽りになりうるんだが) 
 …疲れたので、今晩はもう逝くよ…探さないでくれ…鬱だ氏のう 
 
- 729 :音楽侍 ◆NtVkSITE  :01/09/07 01:28
 -  >>727 
 >ボランティアの作業で、仕切る人間が口だけじゃまずいと思いますです。 
  
 ちょっと違うです。むしろ、全体を見られる人はコーディングしない方がいいです。 
 どうしても自分が動くと、いろいろ出ます。読めるけどかけない人の方が適任かと。 
  
 いろんなプロジェクト見てくださいです。 
 リーダーやマネジャーがコーディングを始めたプロジェクトは大抵納期間に合いませんです。 
 品質管理もままなりませんです。 
  
 >>728 
 相談と報告のキモチが良薬かと・・・ 
 
- 730 :デフォルトの名無しさん :01/09/07 01:34
 -  とりあえず、既出の不具合で未修正のもの。 
 キャッシュであぼーんされたレスが見える?(詳細不明)>>441 
 PATH_INFO時に間違えるとレス1しか表示されない>>624 
 かちゅ〜しゃ規制>>670 
 設定ファイル読みこみ時のオーバーフロー>>674 
 行末の空白削除>>723 
 それ以前は>>397だけど、どれだけ残ってるかな・・ 
  
 その他、今気がついたもの。 
 批判要望板で最近よく出てくる 
 「このスレッド大きすぎます」への暫定対処として、 
 datファイルの大きさがある程度(最大値-16K位)を超えたら、 
 「もうすぐ読めなくなります。新スレの準備を。」の警告があれば親切かも。 
  
 あと、できるだけ設定ファイルから読みこめるようにして、 
 リメイクは不要にした方がよさそうだね。 
 
- 731 :デフォルトの名無しさん :01/09/07 02:19
 -  >>723さんは 
 「スクリプト関連要望統合スレッド 」 
 http://teri.2ch.net/test/read.cgi?bbs=accuse&key=994071363 
 の人ですね。 
 
- 732 :730 :01/09/07 04:48
 -  改めてソースを見たら、既に>>674は修正されてた。氏にます。 
 他にも修正済みがあるかも。 
 
- 733 :デフォルトの名無しさん :01/09/07 08:33
 -  これまで行った変更点をすべて列挙して、それぞれの目的と変更量とそのリスク、 
 転送量削減に対する効果、その他の効果などを一覧にまとめてテストケース作って 
 すべて再評価した上で改めて内容を吟味したらいかが? 
  
 テストサーバに置いてここの住人にテスト手伝ってもらうとかはできるっしょ。 
 仕様書はソースコード、って状況はやっぱりPGの自己満足モードで終わっちゃうよう。 
 
- 734 :デフォルトの名無しさん :01/09/07 10:44
 -  read.cgiに加えられている変更点は単純に2つに分類できる。 
 A)転送量・負荷低減のために行われるもの 
 B)機能を追加してより使いやすくするもの 
 そして、それぞれの変更点について、 
 1)導入する 
 2)導入しない 
 3)時間帯によって導入する 
 の3つの選択肢がある。 
 この3つのうち、1)か2)かを選択するようにしておくのは 
 #ifdefで切り分けるだけなので比較的簡単だが、 
 3)の形式は#defineで導入し、さらに時刻によって 
 処理を変化させなければいけないので、1)2)よりは面倒になる。 
 しかし、転送量や負荷の少ない時間帯に比較テストできるため、 
 「試しにやってみて結果を知りたい」場合に有効になる。 
 試した結果が、時間制限付にするか完全導入するかの判断材料になる。 
  
 というわけで、「この機能は時間制限つきで導入してみよう」という指針が 
 示されれば、必要な変更を施して仮導入してもよさそうな気がする。 
 さらに、外部ファイルで変更可能にしておけばさらに良かも。 
 
- 735 :デフォルトの名無しさん :01/09/07 10:44
 -  ブランチを設けるのは大賛成。 
 Linuxみたく、安定版と開発版とで仕切る人が別になるのも手だろう。 
 従事するメンバーを分けるほど人数が多いわけじゃないが。 
  
 当面、安定版は現行のVer5.12と同等の機能部を抽出し 
 不具合を修正したものをベースに、ある程度の機能追加をしたものになると思う。 
 「ある程度」がどの程度なのかは、まとめ役の人の裁量に従いたいが、 
 -DZLIBは以前から作ってある 
 -DCHECK_MOD_GZIPはあった方がいい 
 -DUSE_SETTING_FILEは柔軟性のために必要 
 等々、結構難しそう。 
 さらに、-DZLIB,-DUSE_MMAP等の「見栄えは変わらないが負荷低減を狙う機能」は、 
 早目に安定版にいれて、確定させてしまいたいところだ。 
  
 また、増えすぎた#ifdefの中で、Ver5.10以前の導入で問題出ていないものは 
 条件をはずしてしまっていいと思う。 
 個人的には-DLASTMOD,-DNEWBA,-DGSTR2は全然問題なし、 
 -DPREVENTRELOADも#ifdef無しで構わないと思うが、 
 意志決定はまとめ役の人の判断に任せるのが一番。 
 BadAccessの旧版にあるAccept-UAのリストなどは、 
 コメントとして残しておくのがいいかもしれない。 
 (気分的には、BadAccess中のReadOnlyなローカル配列はstaticにしたいなー) 
  
 あ、娘。さんは「オリジナルも残したほうが」と言ってるな。 
 だったら、採用をほぼ決定したものに対しては、 
 同じ1種類の#ifdefにしてしまったら、少しはわかりやすくなるかも。 
 
- 736 :デフォルトの名無しさん :01/09/07 10:45
 -  以下は名無し娘。さんのお手伝い・・・のつもり。 
  
 >#ifdef の字面と内容が噛み合わない部分 
  
 -DCUTRESLINKは、本当に#define名と内容が一致していない。 
 変更部のメインは最適化で、リンクの削除はオマケ程度な感じ。 
 方向としては、 
 ・mmapがSHARED & READONLYで使えるようにBigBufferを読みこみだけに 
 ・ファイル全体やレス全体を走査する回数を極力減らす 
 ・そのために変換や空白削除、http://のリンク等を全て同時に行う 
 といったところ。 
 ただ、そのことにより内部で保持するデータ形式が変わってしまい、 
 他の部分への影響も出ている。 
 名目通りのCUTRESLINKに相当するのは大きなswitch文の一箇所だけで 
 全体のdefine名は、つけ直すならBUFFER_READONLYとか 
 NO_RES_NUL_TERMINATEとか、そんな感じに近いと思う。 
  
 >replace系の関数を最適化する方が 
  
 上とも関連するけど、現在、-DCUTRESLINKを指定すると 
 replace系は全く使われない。 
 現行のVer5.12等では、hlinkReplaceの中でdoReplaceが使われているが、 
 これもressplitter_splitの内部に吸収されている。 
 ソース中ではTYPE_TERIが定義されていない場合にsomeReplaceが呼ばれるが、 
 同等の変換は既にressplitter_split内部で為されているので、本来必要ない。 
  
 というわけで、-DCUTRESLINK(内容は違う)を採用する方針でいくなら、 
 replace系には目を向けなくてもいいと思う。 
 あえて不安材料を挙げれば、Ver5.1xでの稼動実績があるのが基本部だけで、 
 保持データ系式の変更やhttp://リンク、mmapとの併用、 
 これらでの実績が乏しい点があるが、今のところ 
 まともなdatを低負荷時に読んでいる範囲では、問題は出ていない。 
  
 逆に、-DCUTRESLINKを採用しない/条件等によっては機能をoffにしたい、 
 となる可能性があるなら、replace系の最適化には意味がある。 
 その辺の判断と指示はまとめ役の人にお任せしたい。 
 
- 737 :♯6411 :01/09/07 12:17
 -  >>734 
 細分してみた。 
  
 > A)転送量・負荷低減のために行われるもの 
  
 * 外部的に機能がほぼ変わらないもの 
  
 A0) 安全性の向上のみを目的としたもの(いわゆるバグフィクス) 
 A1) 転送量の低減を狙っているもの 
 A2) 転送量以外の負荷低減 
 A3) 単なる設計・構造・インタフェイス変更 
  
 > B)機能を追加してより使いやすくするもの 
  
 B0) 従来仕様と相反しない、独立した機能 
 B1) 従来仕様の不備を補完するもの 
 B2) 従来仕様の不備を再定義するもの 
 B3) 従来仕様と置き換わるもの 
  
 フォローきぼんぬ 
 
- 738 :♯6411 :01/09/07 12:20
 -  >>735 
 PREVENTRELOADは、まだなんとなく 
 潜在的な問題をはらんでるような気もしない 
 でもないんだか、杞憂だろうか? 
 
- 739 :♯6411 :01/09/07 12:23
 -  >>736 
 CUTRESLINKを再評価するのであれば、 
 名前付けなおしてさらに細分化するのがよろしかと。 
  
 あと、従来とまったく置き換わってしまうものに 
 関しては、モジュールを切り分けることを 
 前向きに検討した方がいい。 
 
- 740 :デフォルトの名無しさん :01/09/07 12:33
 -  >>730おつかれ。 
 ところで、提案していた 
  
 >批判要望板で最近よく出てくる 
 >「このスレッド大きすぎます」への暫定対処として、 
 >datファイルの大きさがある程度(最大値-16K位)を超えたら、 
 >「もうすぐ読めなくなります。新スレの準備を。」の警告があれば親切かも。 
  
 はたしかに良いな。 
  
 是非搭載してほしいところだが、夜勤さんは嫌がるだろうか? 
 (read.cgiの負荷増大につながるため) 
 
- 741 :デフォルトの名無しさん :01/09/07 12:33
 -  今CHUNKが強制になってる感じ? 
 #ifdefでCHUNKにならない従来型UIにする選択肢なくなってない? 
 
- 742 :723 :01/09/07 13:22
 -  >>731 
 そうです。 
 
- 743 :♯6411 :01/09/07 15:34
 -  ブランチ案 
  
 ○リリースには明示的にリビジョンを設ける 
 ex) 5.12 
 今回は、どの辺から始まってるか微妙なので、 
 -r4.99あたりで始めるといいのでは。 
 夜勤さんから、本番に適用したバージョンを 
 もらい受けて、-r5.xx などとしてcommit 
 以降、Revision 4.99 が存在するとして説明。 
  
 ○リリース候補(4.9.x.x) 
 プロジェクトマスター 
 (あるいはマスターから委任された人間) 
 のみがcommitできるブランチ。 
 cvs tag -b RC-4-99 のようにつくっておく。 
  
 ○ワーキングブランチ(4.9.x.x.y.y) 
 今までheadでやってたものは、みなブランチの中で 
 作業を行う。 
 cvs co -r RC4-99 bbs で取り出したブランチに、 
 cvs tag -b HEAD-4-99 のようにつくっておく。 
  
 ○プロジェクトマスターの役目 
 ・適宜ワーキングを吟味し、RCに取り込み、commit 
 ・夜勤さんの作業に追従 
 ・新しいリリースが出たら、ブランチを作成。 
  
 ○検討事項 
 ワーキングブランチは、 
 改造系統毎に分ける、あるいは 
 担当毎に分ける方がいいかもしれない。 
  
  
 ブランチの作成は、サーバ持ってる aki さん 
 あたりにやってもらえると早いんだけど、 
 さしあたっては名無し娘。さんがやってもらえれば。 
 (ローカルで念入りに実験した方がいいかも) 
 漏れがやってもいいです。 
 
- 744 :♯6411 :01/09/07 15:37
 -  >>743 最新リリースの入手に手間取るようだったら、 
 さしあたっては8/28 4:00(GMT)あたりのものを 
 「仮リリース」として据えるといいかも 
 
- 745 :音楽侍 ◆NtVkSITE  :01/09/07 15:54
 -  検証班の作業も工程に入れて置いてください(^_^;) 
 
- 746 :名無し娘。 ◆vP.bOZFQ  :01/09/07 17:32
 -  ver5.12(夜勤さん版)のひとつ前に実動してたのって、verいくつでしたっけ。。。 
  
 昨日ちょっとだけ、試しにteriに入ってるread.cgiをいじめてみたら、zz_xx の 
 size制限がかなり厳しくなってるようで。zz_xx[20]になってるのかな。 
 たとえば http://piza2.2ch.net/test/read.cgi?bbs="></a> みたいなこと 
 やられると気持ち悪いからかもしれません。 
 こんな感じで、いろいろちょこちょこと夜勤さんが手直ししてくださってるのかも。 
  
 なんにせよ、一度夜勤さんにお出まし願った方がよさそうですね。 
 どのソースを元に、どういうとこから手をつけてくのがいいか。 
 などなど。 
 
- 747 :デフォルトの名無しさん :01/09/07 17:56
 -  >>746 
 > なんにせよ、一度夜勤さんにお出まし願った方がよさそうですね。 
 さんせい 
 
- 748 :デフォルトの名無しさん :01/09/07 20:49
 -  >>746-747 そうですよね とにかく運営サイドの誰かに度々ここに来てもらって 
 意思疎通ができないと こちら側だけで突っ走ってもタダの骨折り損になりそうな 
 気がしますし 
 
- 749 :デフォルトの名無しさん :01/09/07 22:39
 -  >746 
 http://piza2.2ch.net/test/read.cgi?b=tech&k=998845501 
 の段階で zz_GetString が変わって、キーの先頭1文字しか見なくなりました。 
 たとえば 
 http://piza2.2ch.net/test/read.cgi?board=tech&kiji=998997848 
 のように書いても正しく読めます。 
 
- 750 :名無し娘。 ◆vP.bOZFQ  :01/09/07 23:20
 -  >>747-748 
 機会があればお願いしてきます。 
 >>749 
 1文字判定もできますが、たとえば zz_ky は今でも20文字(19文字)を 
 格納しています(判定後、切り出された文字列。たとえば key=998997848 の 
 "998997848"部分)。 
 http://piza2.2ch.net/test/read.cgi?bbs=123456789abcdefgh 
 をリクエストしたときのエラーメッセージ中、下部「過去ログ倉庫」の 
 リンク先を見ると、何となく何をやっているかがわかります。 
 
- 751 :名無し娘。 ◆vP.bOZFQ  :01/09/07 23:21
 -  >>750 
 ...hまでじゃだめじゃん。 
 http://piza2.2ch.net/test/read.cgi?bbs=123456789abcdefghijklmnop 
 やると。。。ね。 
 
- 752 : ◆D69Zsbfg @夜勤 ★ :01/09/08 20:33
 -  どうも、お世話になっています。 > みなさん。 
 明日の未明(今晩)あたりに、登場しまーす。 
 で、最新版を組み込もうかなぁと目論んでいます。 
  
 よろしくお願いします。 
 
- 753 :音楽侍 ◆NtVkSITE  :01/09/08 20:57
 -  おつかれさまです。 
 
- 754 :デフォルトの名無しさん :01/09/08 21:04
 -  ヤター 
 
- 755 :デフォルトの名無しさん :01/09/08 21:42
 -  ......となると どれを組み込んでもらうのか整理しておかないと 
 
- 756 :デフォルトの名無しさん :01/09/08 21:45
 -  #defineを消すだけでは外せない機能がありすぎ。やばいって。 
 
- 757 :デフォルトの名無しさん :01/09/08 22:00
 -  全然コード考えてないけど、この程度の条件分けは必要だろ。 
  
 /* "投稿日"を(時間帯によって)非表示にする */ 
 #define CUT_DATE_STRING 
  
 /* テレホタイムに読みこめるdatの最大値 */ 
 #define MAX_FILESIZE_BUSY 
  
 /* 大きすぎて読みこめなくなります */ 
 #define CAUTION_FILESIZE 
  
 /* <a name=...> */ 
 #define CREATE_NAME_ANCHOR 
  
 /* '<'や'&'の直前に、必要ならば空白をいれる */ 
 #define CHARCHECK_STRICT 
  
 USE_PATHのサブに 
 #define OUTPUT_SUBBUCK 
 #define OUTPUT_INDEX 
 
- 758 :名無し :01/09/08 22:05
 -  さて、もうすぐ1000000000秒ですが、何か起きるでしょうか。 
 プログラムがこけたら笑えます。 
  
 もうすぐ1000000000秒 2chでもお祝いをしましょう 
 http://kaba.2ch.net/test/read.cgi?bbs=news&key=999927113&ls=50 
 
- 759 :デフォルトの名無しさん :01/09/08 22:07
 -  ■ ひとあしお先に。 
 http://teri.2ch.net/test/read.cgi?bbs=accuse&key=1000000000 
 
- 760 :デフォルトの名無しさん :01/09/08 22:10
 -  大きな問題は2点。 
  
 1.<a name=>が外せない 
 →単純にサイズが増える(総リクエストが減る可能性はある) 
 2.CHUNK_ANCHORが外せない 
 →>>nnnでリンクされる範囲が不要に大きくなる 
  
 2は、REWRITE_HREF2で一応回避可能。 
 
- 761 :デフォルトの名無しさん :01/09/08 22:32
 -  >>757 
 さっさとやろうかと思うんだけど、 
  
 /* "投稿日"を(時間帯によって)非表示にする */ 
 #define CUT_DATE_STRING 
 これ時間帯判定いるのかな? いらないんでないかと思うがどうかな。 
  
 いらないのならr2chhtml.hだけで完結するんだが。 
 
- 762 :デフォルトの名無しさん :01/09/08 22:34
 -  >で、最新版を組み込もうかなぁと目論んでいます。 
  
 何が何やらぐちゃぐちゃなのでマズいんではないかと.. 
 
- 763 :名無し娘。 ◆vP.bOZFQ  :01/09/08 22:34
 -  >>752 
 それまでに現状をまとめとかにゃいかんなぁ。 
 とはいっても、最新版の状況は私もさっぱり(汗 
 >>758 
 bbs.cgiがtimeを見ているのですが、これもちょっと心配(w 
 知りうる資料では、if(time > xx)な比較の仕方をしていないのでだいじょぶそう。 
 
- 764 :デフォルトの名無しさん :01/09/08 22:40
 -  正直、最新版を組みこむのはもう一日待ってもらったほうが無難。 
  
 それより、夜勤さんに質問しておいたほうがいいと思う。 
 ・datの最大サイズは、時間帯によって可変にした方がいいのか 
 ・「大きすぎます」に近付いたら警告を出していいか 
 ・ツールの差分取得(の圧縮)は、.htaccessで対応してもらえるのか 
 ・○○な機能は必要なのか 
 ・○○な機能を組みこんで良いか 
 等々。 
 
- 765 :名無し娘。 ◆vP.bOZFQ  :01/09/08 22:41
 -  まず、.datをmod_gzipでgzip圧縮して転送する件、直近の夜勤さん情報。 
 http://teri.2ch.net/test/read.cgi?bbs=accuse&key=996674822&st=267&to=268&nofirst=true 
  
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=981726544&st=856&to=859&nofirst=true 
 の意図は、.htaccessの記述によって mod_gzipを.datにも有効にしようという 
 ことのようですが、もしや .htaccess に記述しても無効なのでしょうか。 
 有効ならば、.htaccessに記述するだけで、.datも圧縮転送しますです。 
  
 もちろんread.cgiも.dat圧縮に対応しておけば("?raw=")差分転送とかできて 
 うれしい(^^ 
 
- 766 :名無し :01/09/08 22:43
 -  夜勤さんの多忙なので、今日しかチャンスは無いのだと思う。 
 
- 767 :761 :01/09/08 22:48
 -  とりあえず時刻判定なしで 
  
 /* "投稿日:"を非表示にする */ 
 #define CUT_DATE_STRING 
  
 commitしたっす 
 
- 768 :デフォルトの名無しさん :01/09/08 22:51
 -  >>763 
 >知りうる資料では、if(time > xx)な比較の仕方をしていないのでだいじょぶそう。 
 数値レベルで処理してるものは今回は関係ないよ。 
 文字列化するときに長さを9桁(以下)固定前提に処理しているものがあると 
 まずいってだけ。 
 
- 769 :デフォルトの名無しさん :01/09/08 23:10
 -  rewrite_href中、} else { をぶった切って、 
  
 #ifdefCHUNK_ANCHOR 
  /* chunk仕様を生かすためのkludgeは以下に。 */ 
  mst = (st - 1) / CHUNK_NUM; 
  mto = (to - 1) / CHUNK_NUM; 
  
  if (mst == mto) { 
   /* chunk範囲 */ 
   mst = 1 + CHUNK_NUM * mst; 
   mto = CHUNK_NUM * (mto + 1); 
  } else 
 #endif 
  { 
   /* chunkをまたぎそうなので、最小単位を。*/ 
   mst = st; 
   mto = to; 
  } 
  
 にすれば、CHUNK_ANCHORがdefineされていなくてもコンパイルは通るようになる 
 
- 770 :デフォルトの名無しさん :01/09/08 23:12
 -  mod_gzip使うのなら 
     mod_gzip_item_include mime "text/.*" 
 でいいのではないかな? あとserver-parsedの問題は 
     XBitHack full 
 とした上で .htmlファイルのパーミッションを"g+x"にしてもらえば 
 Last-Modified吐くようになるし 
 
- 771 :デフォルトの名無しさん :01/09/08 23:22
 -  >>769 
 commitした 
 
- 772 :デフォルトの名無しさん :01/09/08 23:31
 -  CREATE_NAME_ANCHORの変更点を捜索中・・・ 
  
 r2chhtml.h内で 
 #ifdef CREATE_NAME_ANCHOR 
  ・・・ 
 #else 
 それぞれ、パラメータのlはそのまま無視するようにして、書きなおす 
 CUT_DATE_STRINGとの関係で、さらにややこしいか? 
 #define R2CH_HTML_RES_MAIL(n, l, m, nm, d, t) 
 #define R2CH_HTML_RES_NOMAIL(n, l, nm, d, t) 
 #define R2CH_HTML_RES_SAGE(n, l, nm, d, t) 
 #endif 
  
 rewrite_href()内の 
  /* 新しい表現をブチ込む */ 
  if (isprinted(st) && isprinted(to)) 
  { 
   d += sprintf(d, 
    "<a href=#%u>", 
    st); 
  } else 
 を、 
 #ifdef CREATE_NAME_ANCHORで囲む 
  
 同、後半の 
 #ifdef USE_PATH 
 を 
 #ifdef CREATE_NAME_ANCHOR 
 に変える 
  
 必要なら、rewrite_href2()内の #ifdef USE_PATH で囲まれたif文の、 
 else までを #ifdef CREATE_NAME_ANCHORで囲む 
  
 out_html()内の、 
 pPrintfでフォーマットに 
 R2CH_HTML_RES_MAIL,R2CH_HTML_RES_NOMAIL,R2CH_HTML_RES_SAGEを用いている部分の、 
 全体を 
 #ifdef CREATE_NAME_ANCHOR 
 で囲み、 
 #else以下に、同じ内容でパラメータに2つあるlineNoを1つだけにしたものをつける 
 #endif 
  
 こんなもんだと思う。ただし、未検証(ごめん) 
 
- 773 :名無し娘。 ◆vP.bOZFQ  :01/09/08 23:39
 -  >>768 
 それくらいは知ってますよん(^^ 
 ちょっと知り得ないところからもtimeと比較する値が提供されているようだから、 
 念のためのお話。 
 
- 774 :デフォルトの名無しさん :01/09/08 23:41
 -  >>772 
 やってみる。ちょいお待ちを 
 
- 775 :774 :01/09/09 00:07
 -  >>772 
 あててみた。 
 動作確認も軽くしてみたけど、厳重なチェックとかよろしく 
 
- 776 :名無し娘。 ◆vP.bOZFQ  :01/09/09 00:11
 -  何を考えるべきか混乱中。 
 まずはソースの整理&可読性の回復かな。 
  
 まず zlib を試してみて、うまくいったら正式実装。ただし念のため、 
 簡単に強制的に gzip_flag = 0 できるようしておいたほうがいいかも。 
 そして、GZIP/ZLIB関連の#ifdefを整理。 
  
 bzip/deflateは考えないことにしてよいかな? 
 expire/cache-controlも考えなくていい? 
  
 CUTRESLINK関連は、imodeの使い勝手や関数の使用不使用と一部連動しているが、 
 これらを切り離した上で、1つの-DCUTRESLINK(CUTRESLINKするかしないかの 
 単純なもの)にまとめる。実装はしておいて、いつでも切り替えられるように 
 しておけばよい(設定外部ファイル化も実装できているのでいつでも移行できるし)。 
 
- 777 :デフォルトの名無しさん :01/09/09 00:14
 -  >>776 
 
- 778 :777 :01/09/09 00:16
 -  操作ミスごめん。 
  
 >>776 
 >bzip/deflateは考えないことにしてよいかな? 
 bzipは考えなくて良いと思う。 
 deflateはzlibネイティブだし、HTTP/1.1に言及があるので将来的にはアリかな。 
  
 >expire/cache-controlも考えなくていい? 
 当面考えなくていいんじゃないかな。 
 
- 779 :名無し娘。 ◆vP.bOZFQ  :01/09/09 00:21
 -  read.h に追い出されているものと追い出されていないものって、 
 何か戦略的な区別あります? 
 一度このあたり整理した方がよいかも。 
 # ソース読んできます 
 
- 780 :デフォルトの名無しさん :01/09/09 00:26
 -  外部的に変化のないcondition消さない? 
 REWRITE_HREF2とかNEWBAとか。 
 
- 781 :♯6411 :01/09/09 00:30
 -  今起きた… 
  
 >>769 
 >>775 
 すまんこってす。 
  
 >>779 
 read.h は、read.c における 
 外部インタフェイスとして切り分けた。 
 
- 782 :名無し娘。 ◆vP.bOZFQ  :01/09/09 00:54
 -  >>778 
 よくみたらexpiresって実装されているんですね。どうしましょう。。。 
 すぐに正式作用できそうならしちゃってもいいかと。 
 >>780 
 GSTR2 も消してよさそう。従来型との互換はあるので。 
 COOKIE もとりあえず消しちゃって、お蔵入りじゃダメでしょうか。 
 condition多すぎて読むのがつらいです。 
 >>781 
 了解です。 
 
- 783 :デフォルトの名無しさん :01/09/09 01:04
 -  >>782 Expiresについては>>679参照 少なくとも転送量を増やすことはあっても 
 減らすことはないと思われ 
 
- 784 :名無し娘。 ◆vP.bOZFQ  :01/09/09 01:05
 -  あと、replace系はすべて破棄して、その分、CUTRESLINKする/しない場合の 
 >>xxx へのリンク設定部分を最適化ってことでよさそうですね。 
  
 …なんてことを考えていたら、むしろ絶対URI表記にリンク設定(<A>タグ) 
 しないことの方も考えていいような気がしてきた。この部分は.datに<A>タグ 
 ないものをread.cgiでわざわざはっているのだけど、絶対URI表記はコピペ 
 すればそのまま飛べるんだし。どうでしょう? 
 
- 785 :デフォルトの名無しさん :01/09/09 01:11
 -  >>780 
 USE_INDEX2CGIは、いまさら不要です。 
  
 >>775 
 CREATE_NAME_ANCHORなしでテストしたら、 
   >>60が、 
  read.cgi?bbs=tech&key=998695422&st=51&to=100&nofirst=true 
  read.cgi/tech/998695422/51-100 
 になるんですが、これでいいの? 
 従来仕様(st=60&to=60&nofirst=true)は考えないでいいの? 
  
 CHUNK_ANCHORで、"&n=t"ってなっているけど、nofirst=trueと混じっちゃって 
 キャッシュが効きません。 
 bbs.cgiとのからみがあるから、n=tとnofirst=trueを簡単に統一できる手段が 
 欲しいな。 
 
- 786 :775 :01/09/09 01:15
 -  >>785 
 それはread2ch.hにコメントで書いたけど、CHUNK_ANCHORもコメントアウトすれば目的の番号だけの 
 参照になるんだよな。 
 CREATE_NAME_ANCHORなしでCHUNK_ANCHORありってのはそもそも矛盾してるよね? 
 頭で条件つぶしかけるべき? 
 
- 787 :775 :01/09/09 01:18
 -  >>785 
 >CHUNK_ANCHORで、"&n=t"ってなっているけど、nofirst=trueと混じっちゃって 
 >キャッシュが効きません。 
 この点単純に修正してcommitしてみた。 
 
- 788 :名無し娘。 ◆vP.bOZFQ  :01/09/09 01:18
 -  >>783 
 了解です。expires部分もいったんソースから消してしまいましょうか。 
 >>784 
 補足。read.cgiでの動作を以下のようにしてはどうかなという提案です。 
 LIMIT_PM - LIMIT_AM:>>xxx のリンク削る。 
 LIMIT_AM - LIMIT_PM:http://... ftp://... のリンクはる。 
  
 read.cの最後4つの関数 cutWordOff,ExistHlinkX,ExistHlink,hlinkReplaceは 
 #ifndef CUTRESLINK してしまってよいようです。 
 
- 789 :772 :01/09/09 01:20
 -  >>775 
 お疲れさま。 
 rewrite_hrefの後半の書き換え、>>772に書いた通りじゃまずいって後で気がついたんだけど、 
 直してくれたんですね。どうもです。 
  
 今、夜勤さん向けにread2ch.hよりちょっとだけ詳しい機能説明書いてます。 
 勝手にON/OFF推奨してるんで、そのへんの判断がおかしかったらツッコミお願い。 
 もうちょっと時間くださいな。 
 
- 790 :デフォルトの名無しさん :01/09/09 01:29
 -  >>782 
 >>783 
 >>788 
 EXPIRESは氏んでるってば 
 まあ役に立つものではないので 
 ソースから削るのを止めはしないけど 
 (これって6411氏が入れたんだっけ?) 
 
- 791 :デフォルトの名無しさん :01/09/09 01:32
 -  ひとつひとつ。 
 >>788 
  
 >read.cの最後4つの関数 cutWordOff,ExistHlinkX,ExistHlink,hlinkReplaceは 
 >#ifndef CUTRESLINK してしまってよいようです。 
 これ当てました。 
 
- 792 :名無し娘。 ◆vP.bOZFQ  :01/09/09 01:33
 -  >>790 
 ええ、氏んでるかどうかではなく、ソースから削っちゃうかどうかを。 
 
- 793 :772 :01/09/09 01:36
 -  REWRITE_HREF2削除した。 
 
- 794 :デフォルトの名無しさん :01/09/09 01:37
 -  imodeの時に、最初から(st=1&to=10)の時だけ[次の10レス]が出ません。 
 なんか、nofirst=true相当になっている感じ。 
 
- 795 :名無し娘。 ◆vP.bOZFQ  :01/09/09 01:41
 -  >>794 
 http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999099427&ls=20 
 この問題かな。。。ずいぶん昔からですね。 
 
- 796 :説明がき−1 :01/09/09 01:41
 -  有効なオプションの説明 
 ◎Ver5.1xで導入済み 
 ○Ver5.1xで導入済みだが、変更あり 
 △新機能・大きな変更ではない等で、ON推奨 
 ▲新機能・変更が大きいので、とりあえずOFF推奨 
 ×新機能・テスト中等の理由で、開発版でもOFFになっているもの 
  
 ○CUTRESLINK 
 ファイルのreadとsplitを最適化する 
 (define名がおかしい) 
  
 ○LINKTAGCUT 
 混雑時間帯に >>000 形式のレスへのリンクを削除。 
 「レスを全部読む」の増加への対策として、 
 表示範囲外のリンクは削除しないように変更。 
 (CUTRESLINKが有効な時のみ機能する。0/1で指定) 
  
 △RELOADLINK 
 一番最後に、「更新したレスを表示」のリンクを表示する 
 連打されてもNotModifiedが返るので、大きな負荷にはならないはず。 
  
 ◎LASTMOD 
 導入済み。ほぼ必須。 
  
 ×EXPIRES 
 proxy用に、キャッシュの保持期限を出力する。 
  
 ◎NEWBA 
 BadAccessの新しいバージョンを使う。 
 稼動中。今のところ問題なし。かちゅ〜しゃ規制に注意。 
  
 ◎GSTR2 
 nofirst → n など、短縮形で指示できるようにする 
 稼動中。今のところ問題なし。 
  
 ▲USE_PATH 
  PATH_INFOを処理することにより、 
 http:://piza2.2ch.net/test/read.cgi/tech/998997848/10-20 
 のリクエストを処理できるようになる。 
 CHUNK_ANCHORとの併用で効果を発揮する。 
 http:://piza2.2ch.net/test/read.cgi/tech/ 
 時に、板のスレ一覧を表示するため、負荷が増える可能性あり。 
  
 ×COOKIE 
 Cookie による名前、E-mail フィールドの初期値の埋め込みを CGI 側で行う 
 Last-Modified付加により、proxyでキャッシュされた場合に各種の不都合 
 (最悪の場合、キャップ・トリップのパス漏れ)が発生するため使用不可に 
 
- 797 :説明がき−2 :01/09/09 01:42
 -  ◎PREVENTRELOAD 
 書き込み直後のリロードを防止する 
 FORCE_304_TIMEで指定された時間の間、304 Not Modifiedを返す 
 稼動中。 
  
 ◎GZIP 
 △ZLIB 
 出力を圧縮する。 
 ZLIBを指定すると圧縮にgzipを使わなくなるため、 
 プロセス数が減り、負荷低減につながる。 
  
 △RAWOUT 
 datの(差分)取得をread.cgiで処理する。 
 生datも圧縮して転送量を減らすことができる。 
 CGIへのリクエストが増加する可能性があるので、負荷が大きくなる可能性あり。 
 mod_gzipの設定次第では、不要になる場合も。 
  
 △USE_MMAP 
 fread(read)の代わりにmmapを使用する。 
 負荷の低減が期待できる。 
  
 ×EXPLICIT_RELEASE 
 明示的に資源を解放する。 
 CGIプロセスが終了すれば、資源は解放されるので明示的な解放は不要。 
 逆に、解放処理が負荷を増加させる危険があるので、OFF推奨。 
  
 ×USE_INDEX 
 read.cgi側によるindexの実装(experimental) 
 /board/dat/idx/ディレクトリがあれば、各レスのindexを作成する。 
  
 ×ALL_ANCHOR 
 ▲CHUNK_ANCHOR 
 トップに「全部読む」/CHUNK_NUM毎に区切ったレスへのanchorをつける 
 どちらかはあった方がよさそうだけど、 
 CHUNK_ANCHORには、現在、副作用があるので。 
 ※表示範囲外への >>000 形式のリンクを、1レス分であっても 
 CHUNK_NUMレス分へのリンクに変更してしまう。 
  
 △LATEST_ANCHOR 
 「最新レス LATEST_NUM」をつける 
 
- 798 :説明がき−3 :01/09/09 01:42
 -  ▲SAGE_IS_PLAIN 
 sageレスのとき、名前を太字にしない 
 (<a href="mailto:sage">の代わりに<font color=>をつける) 
 若干転送量が減るが、見た目が変化する。 
  
 ×USE_INDEX2CGI 
 index2.cgiがあったら、「掲示板に戻る」のリンク先をindex2.cgiにする 
 もはや不要? 
  
 △CHECK_MOD_GZIP 
 mod_gzipが導入されていたら、「掲示板に戻る」のリンク先を 
 /板名/ にする。 
 (OFFにすると、戻り先はaccept-encodingによって、/index.htmか/index.htmlになる) 
  
 △CUT_DATE_STRING 
 "投稿日:"を非表示にする 
  
 ▲CREATE_NAME_ANCHOR 
 各レスにアンカーをつける。 
 CHUNK_ANCHORとの併用でキャッシュ効果が上がる可能性があるが、 
 転送量を増やす結果になる可能性もある。 
 これをOFFにした場合でも、CHUNK_ANCHORをOFFにしないと、 
 >>000 形式のリンク先が広範囲となるため、 
 転送量を増やす可能性がある。 
  
 △USE_SETTING_FILE 
 板毎に設定が書いてあるファイルを使用する。 
 板のディレクトリにSETTING_FILE_NAMEのファイルがあり(SETTING.TXTと同じ場所)、 
 有効なエントリがあれば、デフォルト値を置き換える。 
 SETTING_R.TXTは 
 --- 
 FORCE_304_TIME=30 
 LIMIT_PM=23 
 RES_NORMAL=50 
 MAX_FILESIZE=512 
 LINKTAGCUT=0 
 --- 
 など。空行可。'='前後の空白不可。'='がなかったり、マッチしなかったりしたら無視 
 最後の行に改行が入ってなかったら、その行も無視 
 現在設定可能な値は、 
 RES_YELLOW 
 RES_REDZONE 
 RES_IMODE 
 RES_NORMAL 
 MAX_FILESIZE (Kbyte単位で設定) 
 LIMIT_PM 
 LIMIT_AM 
 FORCE_304_TIME (PREVENTRELOAD有効時のみ) 
 LATEST_NUM (LATEST_ANCHOR有効時のみ) 
 LINKTAGCUT (CUTRESLINK有効時のみ) 
 
- 799 :775 :01/09/09 01:45
 -  あ、>793 は私。名前書き間違えた 
 
- 800 :796-798 :01/09/09 01:47
 -  説明がき書いている間に、すでになくなってしまったものがいくつか・・・ 
 ON推奨/OFF推奨は俺の主観なので、他の人の意見も聞いて、 
 合意のうえで夜勤さんに提案したいな。 
 
- 801 :デフォルトの名無しさん :01/09/09 01:50
 -  △CUT_DATE_STRING 
 "投稿日:"を非表示にする 
 えーと、今現在のbbs.cgiでは":"のようですが、 
 そのあたりの対応は大丈夫でしょうか? 
 
- 802 :775 :01/09/09 01:51
 -  >>801 
 その通りになってるつもりですがどうでしょうか(^^; 
 
- 803 :775 :01/09/09 01:54
 -  ×なやつ全部消していいすかね? バッサリと。 
  
 ×EXPIRES 
 ×COOKIE 
 ×EXPLICIT_RELEASE ; これは…残す? (^^; 
 ×USE_INDEX  ; これは残す? 
 ×ALL_ANCHOR 
 ×USE_INDEX2CGI  
 
- 804 :デフォルトの名無しさん :01/09/09 01:58
 -  >>802 
 datには"投稿日"なんて文字は元からないのか。 
 今バージョンでは、":"が表示されてません。 
 
- 805 :名無し娘。 ◆vP.bOZFQ  :01/09/09 01:59
 -  >>803 
 NEWBA,GSTR2 の旧部分も削っちゃってよいと思います。 
 >>796 NEWBA のかちゅ〜しゃ規制部分も、おそらく大丈夫そうですし。 
 
- 806 :775 :01/09/09 02:00
 -  >>804 
 こりゃまた失敬。直しました。 
 
- 807 :775 :01/09/09 02:12
 -  とりあえず以下のものをバッサリ削除した。 
  
 NEWBAの旧部分 
 EXPIRES 
 USE_INDEX2CGI 
 COOKIE 
 
- 808 :775 :01/09/09 02:21
 -  LASTMODはON固定ってことでcondition消しますか? 
  
 GSTR2はすでに昔のコードは無いみたい。1文字か完全一致かの 
 条件分けになってますね。 
 
- 809 :デフォルトの名無しさん :01/09/09 02:27
 -  imodeのむりやり修正。 
 なんか根本的に間違っている気がするが、ないと困るので。 
 いんちきでごめん。 
  
 dat_out()中に一行追加。 
  if (out_html(level, line, lineNo)) 
   break; 
 + if (lineNo==1 && is_imode() && nn_st==1) ++out_resN; 
 
- 810 :775 :01/09/09 02:35
 -  >>809 
 あてた。 
 
- 811 : ◆D69Zsbfg @夜勤 ★ :01/09/09 02:36
 -  どんなもんでしょ? 
 全ファイル(makefile含む)を どこかに上げていただけると 
 とっても嬉しいです。 
  
 で、kaba とかでテストしてみたいです。 
  
 まだのようでしたら、また明日 お伺いしますが、、、 
 
- 812 : ◆D69Zsbfg @夜勤 ★ :01/09/09 02:36
 -  本当に、みなさんすみませんねぇ、 
 感謝 感謝 です。 
 
- 813 :775 :01/09/09 02:38
 -  夜勤さん、ご苦労さまです。 
 最新ソースはcvsから随時 
 http://www.gedoh.org/aki/2ch/current/bbs/ 
 にコピーされていて、 
 その全部が read.tgz に圧縮されているようです。 
  
 read2ch.h で設定をいろいろいじる必要があるかもしれません。 
 特にバージョン名(笑) 
 
- 814 :775 :01/09/09 02:39
 -  >>813 
 あぎゃ。 
 × ご苦労さまです 
 ○ お疲れ様です 
  
 細かいかな(^^; 
 
- 815 :775 :01/09/09 02:48
 -  各設定の説明は 
 >>796-798 
 でなされていますが、 
 現時点の状態で出しちゃっていいんでしょうかね(笑) 
 他の皆はどうしたんだろう。寝た? 
 
- 816 :名無し娘。 ◆vP.bOZFQ  :01/09/09 02:52
 -  >>815 
 ソース追いきれずにコメント不能状態です(氏 
 一度どこかに導入してもらって仕切り直せれば、それが一番楽かもしれませんね。 
 
- 817 :デフォルトの名無しさん :01/09/09 02:57
 -  >>784(>>788で補足)に書いてあることは、 
 ressplitter_split()内の 
 #if 1 
 #else 
 #endif 
 を 
 #ifndef シンボル名(NO_LINK_URL_BUSY,etc) 
 #else 
 #endif 
 にすれば、ほぼ実現するんじゃなかろうか? 
 (レス1の時の動作とi-mode対応がどうかな) 
 
- 818 : ◆D69Zsbfg @夜勤 ★ :01/09/09 02:58
 -  まず、全部ダウンロードして、サーバにアップして 
 make しました。 
 このように言われました。 
  
 gcc -c read.c -DHAVE_READ2CH_H -Izlib -g -O2 -Wall -funsigned-char -o read.o 
 read.c: In function `dat_read': 
 read.c:1254: `MAP_FAILED' undeclared (first use this function) 
 read.c:1254: (Each undeclared identifier is reported only once 
 read.c:1254: for each function it appears in.) 
 make: *** [read.o] Error 1 
 
- 819 :775 :01/09/09 03:00
 -  >>818 
 USE_MMAP時のOS側の定義が足りないようですね。 
  
 read2ch.hで#define USE_MMAPをコメントアウトするといかがでしょうか。 
 
- 820 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:02
 -  USE_MMAP コメントアウチおしました。 
  
 こんどは、 
  
 gcc -c datindex.c -DHAVE_READ2CH_H -Izlib -g -O2 -Wall -funsigned-char -o datind 
 ex.o 
 datindex.c: In function `create_index': 
 datindex.c:372: `MAP_FAILED' undeclared (first use this function) 
 datindex.c:372: (Each undeclared identifier is reported only once 
 datindex.c:372: for each function it appears in.) 
 datindex.c: In function `open_dat': 
 datindex.c:412: `MAP_FAILED' undeclared (first use this function) 
 datindex.c: In function `datindex_open': 
 datindex.c:457: `MAP_FAILED' undeclared (first use this function) 
 make: *** [datindex.o] Error 1 
 
- 821 :デフォルトの名無しさん :01/09/09 03:02
 -  ってゆーか、Linuxでmmapが失敗したら返す値(シンボル)って何だろ? 
 
- 822 :デフォルトの名無しさん :01/09/09 03:03
 -  現バージョンでの範囲外へのリンクがますいです。 
 PATHで呼ばれた時は大丈夫だけど、現行形式で呼ばれたときに 
 read.cgi?bbs=tech&key=998997848101-150#145 
 なんてことになってしまいます。 
  
 転送量削減が主なら、PATHで呼ばれたかをチェックしてリンク先を変えることになるのかな。 
 
- 823 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:03
 -  × コメントアウチおしました。 
 ○ コメントアウトしました。  
 
- 824 :デフォルトの名無しさん :01/09/09 03:04
 -  >>820 
 ぐえ。datindex.cって、USE_INDEX時にしか使わないモジュールですね。 
 これ外しましょう(笑) 
 Makefileの 9行目、 OBJS = の行で、"datindex.o"を削除してください。 
 
- 825 :デフォルトの名無しさん :01/09/09 03:07
 -  >>821 
 http://www.linux.or.jp/JM/html/LDP_man-pages/man2/mmap.2.html 
 一応、MAP_FAILEDみたいですが。 
 
- 826 :デフォルトの名無しさん :01/09/09 03:08
 -  USE_INDEXとか、USE_PATHが#defineされたままだったりして 
 
- 827 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:09
 -  いぇーい 
  
 http://kaba.2ch.net/test/read5x.cgi?bbs=news&key=999960057 
 
- 828 :デフォルトの名無しさん :01/09/09 03:10
 -  >>825 
 ヘッダ構成の違い? 
 
- 829 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:10
 -  >>824 さんに言われた通り 
 datindex.o を削除したら、できましたー。 
 
- 830 :775 :01/09/09 03:11
 -  >>827 
 おお! 動いてる! 
 read2ch.hはどのように変更しましたか? >夜勤さん 
 それを元に一旦CVS側で区切り(タグ)を付けたいですね。 
 
- 831 :デフォルトの名無しさん :01/09/09 03:12
 -  次のバージョンでは 
 #ifndef MAP_FAILED 
 #define MAP_FAILED (void *)(-1) 
 #endif 
 をread2ch.hに入れたほうが良さそうやね 
 
- 832 :デフォルトの名無しさん :01/09/09 03:12
 -  n=tが効いてないような…。 
 http://kaba.2ch.net/test/read.cgi?bbs=news&key=999960057&st=16&n=t 
 
- 833 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:13
 -  >>830 
 read2ch.h は、まだ何も変更してないですー。 
 
- 834 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:14
 -  >>832 
 あっまだ、read.cgi にはしてないです。 
 read5x.cgi です、 
 
- 835 :デフォルトの名無しさん :01/09/09 03:15
 -  CREATE_NAME_ANCHORとか、有効になってる。 
 夜勤さん、暇な時にでも>>796-798にある説明を見て、 
 何をON(define)にして何をOFFにするか決めちゃうと良いと思うです。 
 
- 836 :デフォルトの名無しさん :01/09/09 03:17
 -  ああなるほど、リンクをクリックするとread.cgiのほうに 
 飛んじゃうのか。自分の名前を取得するようにできる? 
 
- 837 :♯6411 :01/09/09 03:17
 -  >>818 おつかれさまです。 
  
 んっと、暇あったら、 
 $ fgrep -n MAP_FAILED /usr/include/*.h /usr/include/sys/*.h 
 の実行結果を教えていただけませんか? 
  
 何のディストロなんだろ?? 
 
- 838 :デフォルトの名無しさん :01/09/09 03:18
 -  >>834 夜勤さんへ。 
 暫らくread5x.cgiでテストするのでしたら、read2ch.hで 
  
 #define CGINAME "read5x.cgi" 
  
 にしていただけないでしょうか。 
 
- 839 :デフォルトの名無しさん :01/09/09 03:19
 -  とりあえず、これだと次の10レスが表示されるけど、これでいいのかな? 
 http://kaba.2ch.net/test/read5x.cgi?bbs=news&key=999960057&imode=true&st=1&to=10 
 
- 840 :775 :01/09/09 03:19
 -  >>838 
 rewrite_href内でCGINAME使ってない(涙 
 
- 841 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:19
 -  なにもでないです >>837 
 fgrep -n MAP_FAILED /usr/include/*.h /usr/include/sys/*.h 
 
- 842 :♯6411 :01/09/09 03:21
 -  >>840 …油断してた… 
  
 >>841 了解、MAP_FAILED再定義すべきですね。 
 
- 843 :775 :01/09/09 03:22
 -  じゃあ、一度ここで判明したりしたいくつかの修正を加えて 
 cvsに上げますかね? 
 それをまた夜勤さんにdownloadしてもらう形とか。 
  
 夜勤さん、時間どれぐらいとれますか? 
 
- 844 :デフォルトの名無しさん :01/09/09 03:22
 -  >>837 
 http://www.maido3.com/server/usagi/ によると 
  Linux2.2.19 Slackware 
 だそうです。 
  
 今時だとslackware使っている人は少ないか。 
 
- 845 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:23
 -  >>838 
 やりましたー 
 http://kaba.2ch.net/test/read5x.cgi?bbs=news&key=999920210 
 
- 846 :デフォルトの名無しさん :01/09/09 03:25
 -  http://kaba.2ch.net/test/read5x.cgi/news/999960057/ 
  
 あひゃ 
 http://kaba.2ch.net/test/read5x.cgi/news/ 
 
- 847 :デフォルトの名無しさん :01/09/09 03:25
 -  http://kaba.2ch.net/test/read5x.cgi?bbs=news&key=999920210#20 
 ここで>>9がなぜか#95にリンクしてる 
 
- 848 : ◆D69Zsbfg @夜勤 ★ :01/09/09 03:25
 -  >>843 
 あせりは禁物かと、、、 
 また、明日の今ごろ登場予定。。。 
 
- 849 :775 :01/09/09 03:27
 -  >>848 
 おお。>847 とかも出てるし、明日の夜までに直す形がイイ感じ? 
 
- 850 :デフォルトの名無しさん :01/09/09 03:27
 -  >♯6411氏 
 digest.[ch]いらなくなったのなら、MakefileのSRCSから消してちょうだい。 
 あと、datindex.cの中身全部を#ifdef USE_INDEXで括っておくように。(w 
 
- 851 :名無し娘。 ◆vP.bOZFQ  :01/09/09 03:30
 -  夜勤さん&みなさまお疲れさまですー。 
  
 MAP_FAILED >>831 でよろしそう。 
 gzipぱっと見問題なさそう。zlib使えてるってことかな? 
 
- 852 :音楽侍 ◆NtVkSITE  :01/09/09 03:30
 -  確認しましたです。>5x 
 HTTP1.0と1.1で「掲示板に戻る」のindex.htm(l)の切り替え確認しました。 
  
 51- 101-ですが、頭に「1」の書き込み表示がないのは仕様でしょうか? 
 もしかするとちょっと不便かもしれません。 
 
- 853 :デフォルトの名無しさん :01/09/09 03:32
 -  n=tはキャッシュが効かないからnofirst=trueにしたんじゃ 
 なかったっけ? 
 
- 854 :デフォルトの名無しさん :01/09/09 03:35
 -  >>848 
 お疲れ様でした〜 
 
- 855 :デフォルトの名無しさん :01/09/09 03:47
 -  USE_PATHで旧形式を指定されたときはリダイレクトするか 
 BASEを吐いて常に新形式でリンクするというのはどうします? 
 
- 856 :855 :01/09/09 03:52
 -  いまのところはGSTR2と一緒で隠し機能にしたほうがいいかな 
 
- 857 :- :01/09/09 04:02
 -  http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=151&to=200&nofirst=true 
  
 >> のリンクが、最大レス番号を超えてないものでも一部切れてたりするんですが・・・ 
 154 160 171 など 
 
- 858 :デフォルトの名無しさん :01/09/09 04:10
 -  とりあえずtag打っときなさいな。 
 
- 859 :857 :01/09/09 04:11
 -  あれ、仕様でしたか?582あたりの。 
 
- 860 :デフォルトの名無しさん :01/09/09 04:24
 -  >>858 
 tag名どうしまっか? 
 
- 861 :デフォルトの名無しさん :01/09/09 04:27
 -  >>857って、何かリンクする条件が逆のような気がする 
 表示範囲内→リンクしない(タグを削除) 
 表示範囲外→リンクする 
  
 とりあえず、今出ている不具合は、↑と 
 MAP_FAILEDの再定義>>831 
 リンク先(rewrite_hrefの#)>>847 
 CHUNK_ANCHORで1-が無い>>852 
 ぐらいか? 
 
- 862 :857 :01/09/09 04:28
 -  http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=196&to=196&nofirst=true 
  
 >> のリンクは read.cgi を read5x.cgi に直したとしても飛べません 
 
- 863 :775 :01/09/09 04:29
 -  >>862 
 それ、>>840 (涙 
 
- 864 :デフォルトの名無しさん :01/09/09 04:35
 -  >>860 
 YAKIN0909 とか 
 ReleaseVersionになるのは、一日一回がせいぜいでしょ。 
 
- 865 :775 :01/09/09 04:37
 -  >>864 
 YAKIN20010909でtag打っときました 
 
- 866 :名無し :01/09/09 04:43
 -  バージョンを実際の5.XXに合わせるべきだと思います。 
 
- 867 :デフォルトの名無しさん :01/09/09 04:46
 -  今回は、仮リリースだからね。ver14だし。 
 正式にインストールされた時は、実際のバージョンにすべきだけど。 
 
- 868 :775 :01/09/09 04:50
 -  >>831 
 read2ch.hだとincludeのタイミングが速かったりするので、read.hに入れた 
 
- 869 :857 :01/09/09 04:51
 -  >>863 
 えーと、st=xx&to=xxの形式なのに、↓で無条件に xx-xx を付けてるのが問題ではないかと。 
 わかりづらかったらゴメン 
  
 #ifdef USE_PATH 
 d += sprintf(d, 
      "<a href=\"%s%d-%d", 
      depth_expr, 
      mst, mto); 
 #else 
 d += sprintf(d, 
      "<a href=\"%s&st=%d&to=%d&nofirst=true", 
      depth_expr, 
      mst, mto); 
 #endif 
 
- 870 :775 :01/09/09 04:52
 -  >>840 
 CGINAME参照するようにした 
 
- 871 :775 :01/09/09 04:53
 -  >>850 
 >あと、datindex.cの中身全部を#ifdef USE_INDEXで括っておくように。(w 
 括った(笑) 
 
- 872 :デフォルトの名無しさん :01/09/09 05:05
 -  やっぱ ネスケ4.72ではgzip圧縮した場合にContent-Lengthが入ってると 
 Last-Modifiedが無効になるみたい 
  
 HTTP/1.1 200 OK 
 Date: Sat, 08 Sep 2001 20:00:12 GMT 
 Server: Apache/1.3.6 (Unix) PHP/4.0.3pl1 mod_ssl/2.3.6 OpenSSL/0.9.3a 
 Content-Encoding: gzip 
 Last-Modified: Sat, 08 Sep 2001 19:33:13 GMT 
 Content-Length: 974 
 Connection: close 
 Content-Type: text/html 
  
             場所: http://kaba.2ch.net/test/read5x.cgi?bbs=news&key=999920210 
      ファイルMIMEタイプ: text/html 
            ソース: 現在、ディスクキャッシュに入っています 
 ローカル キャッシュ ファイル: M0IH2L6U 
         最終更新日時: 不明 
         最終更新日時: 不明 
          内容サイズ: 38018 
           有効期限: 日付なし 
          文字セット: Shift_JIS 
         セキュリティ: このドキュメントでは暗号化によるセキュリティ保護は行われていません。 
  
 HTTP/1.1 200 OK 
 Date: Sat, 08 Sep 2001 20:01:35 GMT 
 Server: Apache/1.3.6 (Unix) PHP/4.0.3pl1 mod_ssl/2.3.6 OpenSSL/0.9.3a 
 Content-Encoding: gzip 
 Last-Modified: Sat, 08 Sep 2001 19:33:13 GMT 
 Connection: close 
 Content-Type: text/html 
  
             場所: http://kaba.2ch.net/test/read.cgi?bbs=news&key=999920210 
      ファイルMIMEタイプ: text/html 
            ソース: 現在、ディスクキャッシュに入っています 
 ローカル キャッシュ ファイル: MUOF7EA1 
         最終更新日時: 09/09/01 04:33:13 地方標準時 
         最終更新日時: 09/08/01 19:33:13 世界標準時(GMT) 
          内容サイズ: 41675 
           有効期限: 日付なし 
          文字セット: Shift_JIS 
         セキュリティ: このドキュメントでは暗号化によるセキュリティ保護は行われていません。 
 
- 873 :775 :01/09/09 05:13
 -  >>869 
 PATHではなく旧形式で呼ばれたときに、USE_PATH時でも旧形式で >> のリンクを 
 生成するようにしてみた。 
 
- 874 :775 :01/09/09 05:16
 -  んじゃ寝るー。 
 
- 875 :名無し娘。 ◆vP.bOZFQ  :01/09/09 06:04
 -  明日あたりに新スレ立ててきますので、それまでにこのスレのまとめが 
 できるようにお願いいたしますです。 
  
 実装・検討待ちの案一覧 
  
 gzip/zlib関連conditionの整理 
  gzip/zlibをconditionなしで採用し整理 
  
 PATH_INFO 
  >>869 >>873 
  リンク先がいろいろおかしい 
  ・http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=196&to=196&nofirst=true 
  ・http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=1&to=10 の 1 
  ・http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=1&to=1 
  ・http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=151&to=200&nofirst=true 
  
 CHUNK_ANCHORで1-が無い 
  >>852 
  
 CUTRESLINK, replace系関数 
  >>736 
  とにかく整理 
  
 URL記述に対するリンク設定も時間帯によらせる 
  >>817 
  
 <a name>をつけるかつけないかをconditionによらせる 
  
 "投稿日"非表示を時間帯によらせる 
  
 スレスト時FORM 
  >>11 
  
 dat制限サイズ警告 
  >>740 
 
- 876 :名無し娘。 ◆vP.bOZFQ  :01/09/09 06:04
 -  mmap時にlockすべきか 
  >>139 >>425 
  
 行末の空白削除 
  >>723 
  
 NN4.72でgzip圧縮&&Content-LengthがあるとLast-Modifiedが無効 
  >>872 
  
 .hからいろいろなくなってるけど? 
  >>670 
  http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998695422&st=81&to=81&n=true 
  
 キャッシュであぼーんされたレスが見える?(詳細不明) 
  http://teri.2ch.net/test/read.cgi?bbs=saku&key=996761078&st=408&to=408&nofirst=true 
  
 FORCE_304_TIMEの動的変動 
  鯖負荷に応じて動的に変更する 
  
 外部設定ファイル 
  >>798 
  
 dat,kako 
  /kako/ に対応 
  ツール作者さんに対応お願い 
   * raw=xxx.yyy の形式でリクエスト。 xxx=最終レス番号, yyy=そのときのサイズ。 
   * 一行目はステータス: 
   * [+OK] の場合は差分のみを送信する。 
   * [-INCR] (Incorrect)の場合はすべてのデータを送信する。 
   * [-ERR (テキスト)]の場合はなんかエラーが起きた。 
  
 datの一部についてのLastModを求める 
 
- 877 :名無し娘。 ◆vP.bOZFQ  :01/09/09 06:05
 -  deflate 
  そのうち対応 
  
 板ダイジェスト 
  そのうち対応 
  
 スレッド一覧 
  そのうち対応 
  
 スレインデックス 
  >>680 >>696 
  そのうち対応 
  
 condition一覧(更新しなくちゃ) 
  >>796-798 
  
 r2chhtml.hいろいろ 
  http://natto.2ch.net/test/read.cgi?bbs=hp&key=999020167&ls=20 
  http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&ls=20(前スレ) 
  
 その他 
  http://www.gedoh.org/aki/2ch/tiki/ 
 
- 878 :デフォルトの名無しさん :01/09/09 06:55
 -  /dat/が見れない状態が続くならdat制限サイズ警告は 
 優先度高いですね 
 
- 879 :デフォルトの名無しさん :01/09/09 07:10
 -  >>793でREWRITE_HREF2は削除したって書いてますけど 
 まだソースに残ってませんか? 
 
- 880 :デフォルトの名無しさん :01/09/09 07:12
 -  >>875 
 http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=1&to=10 の 1 
 これは、2-5は現在表示中に全部含まれているので、#2で正しいと思いますが。 
 
- 881 :デフォルトの名無しさん :01/09/09 08:08
 -  lockに関しては やるとしたらread.cgiではshared lock(F_RDLCK) 
 bbs.cgi等の書き込み側ではexclusive lock(F_WRLCK)になるんだろうけど 
 どっちにしろbbs.cgi等の書き込み側の協力がないと...... 
 
- 882 :デフォルトの名無しさん :01/09/09 08:17
 -  http://kaba.2ch.net/test/read5x.cgi?bbs=news&key=999911192&ls=50 
 1000超えのスレッドや停止されたスレッドでは 
 「新レスの表示」も不要ですね。 
 
- 883 :デフォルトの名無しさん :01/09/09 08:46
 -  #ifdef Katjusha_Beta_kisei 
 "Kathusha", 
 #endif 
  
 つづりが間違っています。 
 "Katjusha", 
 
- 884 :デフォルトの名無しさん :01/09/09 09:35
 -  >>883 
 直した。 
  
 >>875 
 リンクを貼ってくれない場合や、#95などが出る原因を修正。 
  
 if (!*zz_http_user_agent && !*zz_http_language) 
 というのがあるんだが、*が付いてるのは理由があるのか? 
 NULLチェックのつもりだと思うんだが。 
 
- 885 :デフォルトの名無しさん :01/09/09 09:51
 -  >>884 
 if (!zz_http_user_agent) 
 zz_http_user_agent = KARA; 
 if (!zz_http_language) 
 zz_http_language = KARA; 
  
 ってのが別にあるからな。とはいえ 
 if ( zz_http_user_agent == KARA || zz_http_language == KARA ) 
 とか 
 if ( zz_http_user_agent[0] == '\0' || zz_http_language[0] == '\0' ) 
 って感じで分かりやすくして欲しい気はするが.. 
 
- 886 :デフォルトの名無しさん :01/09/09 10:32
 -  nofirst=trueの表記を統一しました。 
 #define NO_FIRST "&n=t" で省略形式に統一可能。 
  
 >>879 
 REWRITE_HREF2の削除もれを消しました。 
  
 >>796-798に手を加えてconfig.txtとして追加した。 
 conditionをいじったら、config.txtもいじってね。 
 http://www.gedoh.org/aki/2ch/current/bbs/config.txt 
 実情にあってない所があったら指摘してください。 
 
- 887 :881 :01/09/09 11:06
 -  fcntl()でのshared/exclusive lockだと read.cgiがひっきりなしに呼ばれていると 
 bbs.cgi等の書き込み側がexclusive lockを取得できなくなってしまう可能性もあるな... 
  
 となると 書き込み側では 
   1. まず別のファイル名でオープンして(例えば"987654321.new")そこに書き込む 
   2. 書き込みが終わったら rename("987654321.new", "987654321.dat") を実行 
 って感じでやってもらう方がいいのかも これならread.cgi側でのlockは 
 考えなくてもいいんだな bbs.cgi等の書き込み側の排他制御は必要だろうけど 
 
- 888 :デフォルトの名無しさん :01/09/09 11:58
 -  CUTRESLINK関係の話が、 
 -DCUTRESLINKで加えられた変更全体を指すのか、 
 レスのリンクをカットする機能のみを指すのか、若干わかりにくい。 
  
 CUTRESLINKの名前をOPTIMIZE_SPLIT等に変更して、 
 本来のリンクをカットする部分のみを#ifdef CUTRESLINKで囲うことを希望。 
 
- 889 :775 :01/09/09 14:10
 -  >>886 
 REWRITE_HREF2削除に漏れあったのか。修正さんくす 
 
- 890 :775 :01/09/09 14:17
 -  CUTRESLINKはONの状態で採用ってことでOFF時のコード消さない? 
  
 CUTRESLINKまわりの二重状態がいちばんソース見難く、でかくしてる感じだし。 
 
- 891 :デフォルトの名無しさん :01/09/09 14:31
 -  とりあえずの行末の空白削除(タグ消し)対策 
 ressplitter_split()の、case ' ': 
 -  if (bufp == *This->buffers) /* 名前欄が半角空白の場合 */ 
 -   *bufp++ = ' '; 
 +  if (bufp == *This->buffers  /* 名前欄が半角空白の場合は最低1文字必要 */ 
 +   || (resnumber && isSJIS1(*bufp-1))) /* 行末の文字化け対応 */ 
 +   *bufp++ = ' '; 
 /* 
 resnumberのチェックを外せば名前・メール欄の 
 直後の空白もある程度消せるようになるが、 
 厳密に判定しないと(名前欄が)でこぼこに 
 なってしまうので、もう少し待ち。 
 */ 
 転送量的には、"名無しさん"の"ん"の直後の空白が(今のままでは) 
 削除できないのが痛い(3byte前から調べれば削除できる)ので、 
 空白が必要かを完全に判定する厳密なルーチン 
 (末尾から調べ、長くても数文字で終わるはず)を作成予定。 
 名前とメールの直後の空白が消せるし、 
 <br>前の空白もまだ結構残っているので、 
 処理を少し複雑にしてでもやる価値はあると見る。 
  
 もう一点。 
 index.htmlに合わせる場合、 
 メール欄が"0"の場合は""として扱うほうが良いのかな、と。 
 その場合、 
 splitting_copy()の最後に、 
 + if (s[1][0] == '0' && s[1][1] == '\0') 
 +  s[1][0] = '\0'; 
 つければOK。 
 以上は、http://teri.2ch.net/accuse/dat/994071363.datを出力して動作確認。 
  
 http://teri.2ch.net/test/read.cgi?bbs=accuse&key=994071363&st=448&to=449 
 の問題は、dat内に'&','<',"http://"が現れるたびに直前の文字をチェックして 
 ' 'を入れるか判定する必要がある割には、実際に壊れている割合は非常に少なく、 
 費用対効果の点で疑問が残るので、OFF推奨のconditionとして実装予定。 
 
- 892 :デフォルトの名無しさん :01/09/09 14:58
 -  >>890 
 個人的には賛成。 
 Ver5.12でも使われているし、ON前提で書かれている機能もけっこうある。 
  
 他にも同意する人がいて、反対する人が現れなかったら、 
 必要なのは「決断」? 
 
- 893 :名無し娘。 ◆vP.bOZFQ  :01/09/09 16:20
 -  >>880 
 その通りでした(^^; 
 >>890 >>892 
 決断の一助となるべく賛成を表明(^^ 
 
- 894 :775 :01/09/09 16:21
 -  >>893 
 賛成多数につき(笑) 
 やりまーす 
 
- 895 :775 :01/09/09 16:33
 -  >>894 
 ということでCUTRESLINKをON固定として条件削除しました。 
 
- 896 :892 :01/09/09 16:46
 -  >賛成多数につき(笑) 
 笑った。 
 
- 897 :892 :01/09/09 16:51
 -  そういえば、LASTMODもまだON固定にしてなかったよね? 
 ネスケ関係の問題ってLastModifiedを吐く側には対処できそうにないし、 
 ON固定にして、万一不具合が出てもその都度対処すればよいのではないかと。 
 
- 898 :名無し娘。 ◆vP.bOZFQ  :01/09/09 17:01
 -  >>895 
 おつかれですー。 
 >>897 
 賛成ですー。 
 
- 899 :名無し :01/09/09 17:11
 -  批判要望板では、曜日は表示して〜〜〜とのことです。 
 会社行く日なのか判断出来なくなっちゃうよ〜〜〜。 
 
- 900 :775 :01/09/09 17:14
 -  >>897 
 んじゃLASTMODもON固定にしときます。 
  
 >>899 
 確かに曜日賛成。 
 
- 901 :775 :01/09/09 17:21
 -  >>900 
 LASTMOD ON固定にした。 
  
 >>891 
 +   || (resnumber && isSJIS1(*bufp-1))) /* 行末の文字化け対応 */ 
 これってSJISの1バイト目でも2バイト目でもつかえるコードがたまたまそこにあると 
 誤動作するよね? 
 
- 902 :デフォルトの名無しさん :01/09/09 17:22
 -  「投稿日:」は削っていいから、「(日)」を・・・。 
 
- 903 :775 :01/09/09 17:23
 -  >>902 
 でも曜日ってread.cgiで消してるんじゃないんだよね(笑) 
 
- 904 :名無し娘。 ◆vP.bOZFQ  :01/09/09 17:26
 -  私も曜日賛成。でも曜日はbbs.cgiなんですよねぇ。 
 read.cgiで現在時刻/日付でも表示しますか? 
 
- 905 :デフォルトの名無しさん :01/09/09 17:26
 -  http://homepage2.nifty.com/katuya/mp/index.html 
 わからないやつはここへ書き込め 
 
- 906 :名無し娘。 ◆vP.bOZFQ  :01/09/09 17:28
 -  もうちょっとこのスレで粘って、>>875-877 でやりやすいとこから実装して 
 削っちゃって下さい。 
 >.hからいろいろなくなってるけど? 
 がちょっと気になります。。。 
 
- 907 :デフォルトの名無しさん :01/09/09 17:42
 -  >>901 
 誤動作(余分に不要な空白を吐く)けど、html上では無視されるので 
 大丈夫ではないかと。 
 というか、<br>の直前でも同じアルゴリズム(超単純な判定)で空白をカットしているはず。 
 
- 908 :デフォルトの名無しさん :01/09/09 17:44
 -  >>878に賛成。 
 今のところめいめいにdatをチェックして警告、スレ移行を行っているようだが、 
 dat/が見られないとそれもままならなくなり、混乱を招く可能性が高いのでは? 
 
- 909 :775 :01/09/09 17:44
 -  >>875 
  
 >PATH_INFO 
 具体的にどんな問題だっけ。最初のやつは >>873 で解決してるはずだけど 
 ">>1"があるときにnofirst=trueでリンクしてしまって結局飛べないってのはあるか。 
  
 >CHUNK_ANCHORで1-が無い 
 無い? あるようにも見えるけど 
  
 >CUTRESLINK, replace系関数 
 CUTRESLINK削除済み 
  
 ><a name>をつけるかつけないかをconditionによらせる 
 CREATE_NAME_ANCHORになってる 
  
 >スレスト時FORM 
 > >>11 
 なんか「ストッパー」があるかどうか判定するコードは入ってるみたい。 
  
 >>877 
 >condition一覧(更新しなくちゃ) 
 cvsのconfig.txtでメンテしてる 
 
- 910 :775 :01/09/09 17:59
 -  >>909 
 >>PATH_INFO 
 >具体的にどんな問題だっけ。最初のやつは >>873 で解決してるはずだけど 
 >">>1"があるときにnofirst=trueでリンクしてしまって結局飛べないってのはあるか。 
  
 ">>1"のときに限りst=1&to=1&nofirst=trueにして一つだけ見られるようにした。 
 範囲指定時は1は除外されるままだけど。 
 
- 911 :名無し娘。 ◆vP.bOZFQ  :01/09/09 18:12
 -  >>909 
 >PATH_INFO 
 残りは 
 http://kaba.2ch.net/test/read5x.cgi?bbs=net&key=998373518&st=151&to=200&nofirst=true 
 だけかな。リンクはったりはらなかったりしている。完全に逆転しているわけでもないようで。 
 >CHUNK_ANCHORで1-が無い 
 "1-"ではなく"1"ですね、おそらく。nofirst=trueになってしまっているのは 
 不便ではなかろうかということだとおもいます。>>910でおっしゃっている通りで。 
 どっちがよいのでしょうねぇ。 
  
 >>875-877 以降のもの 
 config.txtにcondition一覧(SETTING_R.TXTの有効事項も) 
 lock >>881 >>887 
 
- 912 :775 :01/09/09 18:27
 -  >>911 
 >リンクはったりはらなかったりしている。 
 これは>>884で修正したみたい。 
 
- 913 :デフォルトの名無しさん :01/09/09 18:39
 -  >>882は? 
 >>903 
 曜日は内部で解析してるからやろうと思えばできるはず… 
 
- 914 :デフォルトの名無しさん :01/09/09 18:52
 -  r2chhtml.h内のRELOADLINK関係でCGI_NAMEが使われてないっす。 
 CUTRESLINKがON固定になったので、res_split,findSplitterは消し。 
 doReplace, someReplaceも消し。 
 (out_htmlx内でsomeReplaceを読んでいる部分は全て不要) 
  
 警告出ししてみた。 
  
 read2ch.h 
 /* 「大きすぎます」の警告を出すまでのサイズ(KB単位) 
  MAX_FILESIZE - CAUTION_FILESIZE*1024 を超えたら警告 
  これが未定義なら、警告は出さない */ 
 #defineCAUTION_FILESIZE16 
 /* デバッグ用 
 #defineMAX_FILESIZE_BUSY(MAX_FILESIZE - 64 * 1024) */ 
  
 r2chhtml.h 
 /* ファイルサイズやばい: %d=超えた大きさ %d=表示できない大きさ %s=付加文字列 */ 
 #define R2CH_HTML_HEADER_SIZE_REDZONE \ 
  "<p><table><tr><td bgcolor=red>\n" \ 
  "<font color=white>サイズが%dKBを超えています。%dKBを超えると%s表\示できなくなるよ。</font>" \ 
  "</td></tr></table>" 
  
 read.c html_head内の、最後のif(is_imode())の直前あたりに、 
 #ifdefCAUTION_FILESIZE 
  if (zz_fileSize > MAX_FILESIZE - CAUTION_FILESIZE * 1024) { 
   pPrintf(pStdout, R2CH_HTML_HEADER_SIZE_REDZONE, 
    MAX_FILESIZE/1024 - CAUTION_FILESIZE, MAX_FILESIZE/1024, ""); 
  } 
 #ifdefMAX_FILESIZE_BUSY 
  else if (zz_fileSize > MAX_FILESIZE_BUSY - CAUTION_FILESIZE * 1024) { 
   pPrintf(pStdout, R2CH_HTML_HEADER_SIZE_REDZONE, 
    MAX_FILESIZE_BUSY/1024 - CAUTION_FILESIZE, MAX_FILESIZE_BUSY/1024, "時間帯によっては"); 
  } 
 #endif 
 #endif 
 
- 915 :775 :01/09/09 18:59
 -  >>914 
 とりあえず 
 r2chhtml.hのRELOADんとこでCGINAMEを使うようにして、 
 read.cでres_split, findSplitterは削除した。 
 
- 916 :デフォルトの名無し :01/09/09 19:07
 -  そろそろ次のスレッドの準備を 
 名無し娘。よろしく!  
 
- 917 :914 :01/09/09 19:08
 -  あ、警告文字列はコピペだし、 
 #ifdefで判断する部分と実際の数値を同じdefineで扱ってしまっているので、 
 その辺は適宜変更お願いします。 
 
- 918 :774 :01/09/09 19:13
 -  >>914 
 適当に突っ込んでみた 
 
- 919 :775 :01/09/09 19:15
 -  >>918 
 774って買いてしまった。775ね 
  
 >>914 
 >doReplace, someReplaceも消し。 
 >(out_htmlx内でsomeReplaceを読んでいる部分は全て不要) 
 これイマイチ不安なんだけど、どうなのかな。 
 
- 920 :デフォルトの名無しさん :01/09/09 19:15
 -  /* 
 findSplitterの代わり 
  
 これも削除しましょう。関数がなくなったのにコメントだけ 
 残ってると混乱の元 
 
- 921 :デフォルトの名無しさん :01/09/09 19:27
 -  >>919 
 someReplaceは !TYPE_TERI のconditionの中にしかありません。 
 不安ならdoReplace, someReplaceを 
 #ifndef TYPE_TERI 
 #endif 
 で括っては。 
 
- 922 :775 :01/09/09 19:34
 -  >>920-921 
  両方やった。 
 
- 923 :デフォルトの名無しさん :01/09/09 19:54
 -  http://kaba.2ch.net/test/read.cgi?bbs=news2&key=999391480 
 http://kaba.2ch.net/test/read5x.cgi?bbs=news2&key=999391480 
 これって倉庫落ちしてHTML化を待っているdatの保存場所が 
 変わったことを意味してると思うんですけど、保存場所を 
 教えてもらうことはできるんでしょうか? 
 ブラウザで見ることができない位置(public_htmlの外とか)にあれば 
 とくに差し支えないと思うんですけど。 
 
- 924 :デフォルトの名無しさん :01/09/09 20:17
 -  ストッパー・1000オーバーのRELOADLINK非表示 
  
 dat_out後半の#ifdef RELOADLINK - #endif を 
 最後の 
  if (strstr("ストッパー")・・・ 
 と 
  html_foot() 
 の間に移動。 
 if 文内の条件を 
  if (!level && lineMax == lineLast) { 
 →if (!level && lineMax == lineLast && lineMax <= RES_RED && !threadStopped) { 
 に変更。 
 
- 925 :775 :01/09/09 20:21
 -  >>924 
 あてた 
 
- 926 :デフォルトの名無しさん :01/09/09 20:22
 -  最近のストッパーは投稿日が「停止」になってるので 
 それの対応も必要ではないかと。 
 
- 927 :デフォルトの名無しさん :01/09/09 20:25
 -  if( s[2]!=0 && strstr( s[2], "ストッパー" )) threadStopped=1; 
 ↓ 
 if( s[2]!=0 && (strstr( s[2], "ストッパー" ) || strstr( s[2], "停止" )) threadStopped=1; 
 でいいかな? 
 
- 928 :デフォルトの名無しさん :01/09/09 20:26
 -  閉じ括弧が1個足りなかった。 
 if( s[2]!=0 && (strstr( s[2], "ストッパー" ) || strstr( s[2], "停止" )) ) threadStopped=1;  
 
- 929 :デフォルトの名無しさん :01/09/09 20:28
 -  「停止」になってるスレひとつ教えて(笑) 
 datとってきて確認したかったり 
 
- 930 :デフォルトの名無しさん :01/09/09 20:30
 -  じゃあ一例 
 http://ton.2ch.net/test/read.cgi?bbs=gline&key=997994037 
 
- 931 :775 :01/09/09 20:34
 -  >>930 
 さんくす。確認したのでcommitした 
 
- 932 :名無し娘。 ◆vP.bOZFQ  :01/09/09 20:41
 -  みなさまお疲れさまです。新スレです 
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&ls=20 
  
 このスレで完結できそうな話題は、このスレで続けちゃっていいと思います。 
 次スレに持ち越しそうなものは、早めに見切りをつけて移動しましょう(^^ 
 
- 933 :デフォルトの名無しさん :01/09/09 20:59
 -  >>923 
 過去ログ倉庫のスレにも情報無いですね。 
 http://green.jbbs.net/computer/bbs/read.cgi?BBS=20&KEY=992663547&LAST=50 
 次スレに持ち越して、夜勤さんに聞いてみるしかないか。 
 ひみつかもしれないけど。 
 
- 934 : ◆D69Zsbfg @夜勤 ★ :01/09/09 21:14
 -  秘密というか、今の状態は暫定です。 
 dat とかその辺は、全面改修の可能性あり。 
 たぶん、dat 直読みはできなくなるでしょう。。。(多分だけどね、まだ決まっていない) 
 
- 935 :デフォルトの名無しさん :01/09/09 22:07
 -  こんな早い時間?から、お疲れさまですー。 
 
- 936 :名無し娘。 ◆vP.bOZFQ  :01/09/10 00:29
 -  このスレで実装・検討待ちの案一覧 
  
 gzip/zlib関連conditionの整理 
  gzip/zlibをconditionなしで採用し整理 
  
 #define Katjusha_Beta_kisei されていない(元はdefineされていた) 
  
 URL記述に対するリンク設定も時間帯によらせる 
  >>817 
  
 "投稿日"非表示を時間帯によらせる 
  
 FORCE_304_TIMEの動的変動 
  鯖負荷に応じて動的に変更する 
  
 CHUNK_ANCHORでnofirst=trueになっているが、どうか 
  
 mmap時にlockすべきか 
  >>139 >>425 
  
 dat,kako 
  /kako/ に対応 
  ツール作者さんに対応お願い 
   * raw=xxx.yyy の形式でリクエスト。 xxx=最終レス番号, yyy=そのときのサイズ。 
   * 一行目はステータス: 
   * [+OK] の場合は差分のみを送信する。 
   * [-INCR] (Incorrect)の場合はすべてのデータを送信する。 
   * [-ERR (テキスト)]の場合はなんかエラーが起きた。 
  
 datの一部についてのLastModを求める 
  
 NN4.72でgzip圧縮&&Content-LengthがあるとLast-Modifiedが無効 
  >>872 
  
 キャッシュであぼーんされたレスが見える?(詳細不明) 
  http://teri.2ch.net/test/read.cgi?bbs=saku&key=996761078&st=408&to=408&nofirst=true 
  
 deflate/板ダイジェスト/スレッド一覧/スレインデックス 
  >>680 >>696 
  そのうち対応 
  
 過去datの場所が変わりそう 
  >>923 >>934 
  
 condition一覧/SETTING_R.TXT記述一覧 
  http://www.gedoh.org/aki/2ch/current/bbs/config.txt 
  追加すべきもの 
   >>914 
    CAUTION_FILESIZE xx, MAX_FILESIZE_BUSY (xx) (デバッグ用) 
   http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998695422&st=81&to=81&n=true 
    CM_BBSPINK, LOGLOGOUT x, TYPE_TERI, Katjusha_Beta_kisei 
  
 r2chhtml.hいろいろ 
  http://natto.2ch.net/test/read.cgi?bbs=hp&key=999020167&ls=20 
  
 その他 
  http://www.gedoh.org/aki/2ch/tiki/ 
 
- 937 :デフォルトの名無しさん :01/09/10 00:59
 -  >>914を確認したいんだけど、現在kaba鯖上に450KBとか、そういうでかいdat 
 が見当たらない…… 
  
 どのように動作確認すべきだろうか? 
 
- 938 :デフォルトの名無しさん :01/09/10 00:59
 -  >>937 
 MAX_FILESIZEを小さく書けばいいんでは 
 
- 939 :デフォルトの名無しさん :01/09/10 01:04
 -  >>937 
 確認のために巨大なコピペを貼りまくる 
 ↓ 
 アクセス制限を喰らう 
 ↓ 
 (゚д゚)ウマー 
  
 ってかkaba鯖バージョンは警告未対応では? 
 
- 940 :937 :01/09/10 01:47
 -  >938 
 ……おれはなにをボケているんだろうか。 
 多謝。 
  
 >939 
 アクセス制限は勘弁願いたいが、警告未対応というのはマジですか? 
 テストされていないということ? 
 
- 941 :デフォルトの名無しさん :01/09/10 01:50
 -  >>940 
 警告のコードが入ったのは夜勤さんが昨夜入れてからだってこと。 
 今日入ったpiza2版にはたぶん入ってる。 
 つーかいい加減新スレ行きなされ。 
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521 
 
- 942 :937 :01/09/10 01:52
 -  恥の上塗りだ…… 
  
 >940の発言は忘れてください…… 
 
- 943 :デフォルトの名無しさん :01/09/10 06:38
 -  とにかく、この2日間は、大車輪の活躍をしてくれた、 
 775さん、 
 名無し娘。 ◆vP.bOZFQさん 
 884さん、 
 886さん、 
 等に感謝したい。 
  
 本筋に関係ないので前スレで。 
 
- 944 :デフォルトの名無しさん :01/09/10 22:23
 -  [r2chhtml.h] 
 //*********************************************** 
 ・追加 
 #define R2CH_HTML_TAIL_SIMPLE \ 
  " (%02d:00PM - %02d:00AM の間一気に全部は読めません)<br>\n" 
 /* テストなので使っていないけど */ 
 #define CHUNKED_ANCHOR_SELECT_HEAD(bbs,key) \ 
  "<form><select onchange='" \ 
  "var st=parseInt(this[selectedIndex].text);" \ 
  "location=\""CGINAME"?bbs="bbs"&key="key"&st=\"+st+\"&to=\"+(st+49)+\"&"NO_FIRST"\";"\ 
  "'>" 
 #define CHUNKED_ANCHOR_SELECT_STARTNUM(num) \ 
  "<option>"num"-" 
 #define CHUNKED_ANCHOR_SELECT_TAIL \ 
  "</select></form>" 
  
  
 [read2ch.h] 
 //*********************************************** 
 ・ALL_ANCHORとLATEST_ANCHORをなくしたいので 
 LATEST_NUMの扱いをRES_NORMAL等と同様にしてほしい。 
  
 //*********************************************** 
 ・追加 
 /* select form形式で CHUNKED_ANCHORを表示する */ 
 /*#define CHUNKED_ANCHOR_WITH_FORM 
 「掲示板に戻る」「レスを全部」「最新レス」との統一が取れていない 
 */ 
 
- 945 :デフォルトの名無しさん :01/09/10 22:24
 -  [read.c] 
 //*********************************************** 
 ・前半にある#ifdef LATEST_ANCHOR - #endif を 
 全て条件を外し、中身を生きに。(全部 #ifdef USE_SETTING_FILE の中) 
  
 //*********************************************** 
 ・out_html()の後半、/* imode */ の手前、 
   if (isbusytime && out_resN > RES_NORMAL) { 
    ・・・ 
    return 1; 
   } 
 の部分を、 
   if (isbusytime && out_resN > RES_NORMAL) { 
 #ifdef CHUNK_ANCHOR 
    pPrintf(pStdout, R2CH_HTML_TAIL_SIMPLE, LIMIT_PM - 12, LIMIT_AM); 
 #else 
    ・・・ 
 #endif 
    return 1; 
   } 
 に。 
 
- 946 :デフォルトの名無しさん :01/09/10 22:25
 -  //*********************************************** 
 ・html_head() 
 #ifdef CHUNK_ANCHOR 
  int i; 
 #endif 
 警告が出るので削除。 
  
 //*********************************************** 
 ・同、html_head()の真中辺りから、 } else { の手前(その下がimode)まで、 
 #ifdef ALL_ANCHOR 
  ・・・ 
 #endif 
 #ifdef CHUNK_ANCHOR 
  ・・・ 
 #endif 
 #ifdef LATEST_ANCHOR 
  ・・・ 
 #endif 
 を、 
  /* ALL_ANCHOR は常に生きにする 
     ただし、CHUNK_ANCHORが生きで、かつisbusytimeには表示しない */ 
 #ifdef CHUNK_ANCHOR 
   if (!isbusytime) 
 #endif 
   { 
 #ifdef USE_PATH 
    if (path_depth) 
     pPrintf(pStdout, 
      R2CH_HTML_PATH_ALL_ANCHOR); 
    else 
 #endif 
     pPrintf(pStdout, 
      R2CH_HTML_ALL_ANCHOR, 
      zz_bs, zz_ky); 
   } 
   html_thread_anchor(1, first_line()-1); 
 に。 
 
- 947 :デフォルトの名無しさん :01/09/10 22:26
 -  //*********************************************** 
 ・html_foot() 
 最初から、 
  if (line <= RES_RED && !stopped) { 
 の手前までを、 
 static void html_foot(int level, int line, int stopped) 
 { 
 #if 0 
  /* 初期化した数値を再び使うのはダイジェスト関係だけのはず */ 
  out_resN = 0; /* ここで初期化するといいらしい? */ 
 #endif 
  
  if (is_imode()) { 
   html_foot_im(line,stopped); 
   return; 
  } 
  if (last_line() < lineMax) { 
   /* RELOADLINKの表示条件の逆なんだけど */ 
   html_thread_anchor(last_line() + 1, lineMax - LATEST_NUM); 
 #ifndef CHUNK_ANCHOR 
    /* 最新レスnnがかぶるので苦肉の策 
       LATEST_ANCHORを生きにして、なおかつ末尾に持ってきているので 
       out_html内の R2CH_HTML_TAILを修正するほうが 
       処理の流れとしては望ましいが、 
       「混雑時にCHUNK_ANCHORを非表示にする」等の場合には 
       再修正が必要なので保留 */ 
   if (!(isbusytime && out_resN > RES_NORMAL)) 
 #endif 
   { 
    /* LATEST_ANCHORも常に生きにする */ 
 #ifdef USE_PATH 
   if (path_depth) 
    pPrintf(pStdout, 
     R2CH_HTML_PATH_LATEST_ANCHOR, 
     LATEST_NUM, LATEST_NUM); 
   else 
 #endif 
    pPrintf(pStdout, 
     R2CH_HTML_LATEST_ANCHOR, 
     zz_bs, zz_ky, 
     LATEST_NUM, LATEST_NUM); 
   } 
  } 
 に。 
 
- 948 :デフォルトの名無しさん :01/09/10 22:27
 -  //*********************************************** 
 html_head()の手前あたりに、以下・・・最後までを追加 
  
 #ifdef CHUNK_ANCHOR 
 /* first-lastまでのCHUNKED anchorを表示 
    firstとlastはレス番号。firstに0は渡すなー */ 
 static void html_thread_anchor(int first, int last) 
 { 
  int line = ((first - 1)/ CHUNK_NUM) * CHUNK_NUM + 1; 
  if (first <= last) { 
 #ifdef CHUNKED_ANCHOR_WITH_FORM 
   pPrintf(pStdout, CHUNKED_ANCHOR_SELECT_HEAD("%s", "%s"), 
    zz_bs, zz_ky); 
   for ( ; line <= last; line += CHUNK_NUM) { 
    pPrintf(pStdout, CHUNKED_ANCHOR_SELECT_STARTNUM("%d"), 
    line); 
   } 
   pPrintf(pStdout, CHUNKED_ANCHOR_SELECT_TAIL); 
 #else 
   for ( ; line <= last; line += CHUNK_NUM) { 
 #ifdef USE_PATH 
    if (path_depth) 
     pPrintf(pStdout, 
      R2CH_HTML_PATH_CHUNK_ANCHOR, 
      line, 
      line + CHUNK_NUM - 1, 
      line); 
    else 
 #endif 
     pPrintf(pStdout, R2CH_HTML_CHUNK_ANCHOR, 
      zz_bs, zz_ky, 
      line, 
      line + CHUNK_NUM - 1, 
      (line == 1 ? "" : NO_FIRST), 
      line); 
   } 
 #endif 
  } 
 } 
 #else 
 #define html_thread_anchor(first, last)  /* (void)0   nothing */ 
 #endif /* CHUNK_ANCHOR */ 
 
- 949 :デフォルトの名無しさん :01/09/10 22:28
 -  /* 最初と最後に表示されるレス番号を返す(レス1を除く) 
    imode未対応, isprintedと同じ動作を。 
 */ 
 static int first_line() 
 { 
  if (nn_st) 
   return nn_st; 
  if (nn_ls) 
   return lineMax - nn_ls + 1; 
  return 1; 
 } 
 static int last_line() 
 { 
  /* html_footを呼ぶ時に最終表示行を渡すようにすれば要らないんだけど */ 
  int line = lineMax; 
  if (nn_to && nn_to < lineMax) 
   line = nn_to; 
  if (isbusytime) { 
   int busy_last = first_line() + RES_NORMAL - 1 - is_nofirst(); 
   /* 細かい計算間違ってるかも */ 
   if (busy_last < line) 
    line = busy_last; 
  } 
  return line; 
 } 
 
- 950 :775 :01/09/10 22:36
 -  これは何ですか? (^^; 
 
- 951 :次スレ166 :01/09/11 17:35
 -  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 
 
- 952 :外出ですか? :01/09/11 22:40
 -  http://ton.2ch.net/test/read.cgi?bbs=sec&key=996966367&st=40&to=40&nofirst=true 
 
- 953 :外出ですか? :01/09/11 22:42
 -  スレ違い。 
 
- 954 :スレ埋め改良スレッド :01/10/14 20:43
 -      スレを埋めに来ました 
 ______ __________ 
          ∨ 
    ------------- 、____ 
   /  ̄ ̄ ̄.// ̄ ̄|| |___/\○ ○ 
  /     //     .|| |  \\○○○○ 
 [/______. //[ ]    || |    \\○○ ○ 
 .||     |_| ̄ ̄  .|.| |___\\○○○○ 
 .lO|--- |O゜.|______ |.|_|ニニニニニニl.|○○○○ 
 |_∈口∋ ̄_l______l⌒ l.|_____| l⌒l_||  ○○○○ 
 ──`--'───`ー'─── `--' `ー' ┐ ○○○○ 
                          │  ○○○○ 
                          │   ○○○○ 
                          │ ミ  ○○ ○○   〃 
                          │  ;:○○ ○○; ’〃、、.. 
                          | ミ ミ\○ ○゙○ ○/ミ 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~〜〜〜〜~~~~~~~~~~~~~~~~~~~ 
 
- 955 :  :01/10/19 17:22
 -  http://www.oldandmature.de/oldandmature3/pictures/menapril0005.jpg 
 
- 956 :-- :01/10/19 17:26
 -  http://www.oldandmature.de/oldandmature3/pictures/menjuly0075.jpg 
 
335KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30