■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド
- 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" 
  
 にしていただけないでしょうか。 
 
335KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30