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

read.cgi改良スレッド

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ファイルの各行末にある<>前の空白も
削除可能かどうか判定されると完璧ではないかと思います.

335KB
新着レスの表示

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

0ch BBS 2004-10-30