■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド 2
- 368 :125 :01/09/16 16:10
- >>363-364
>「レスを全部読む」の件をもう忘れたらしいな。
これで、他の誰かと勘違いした。スマソ。
NORMAL_TAGCUTは、言われて見ればそのとおりかなと思ったが、
開発やめろとしか言わない誰かさんだと思ってああいう書き方をした。
ソースからなくすのは、ある程度の合意か、cvs触っているやつの独断が
必要だ。
(INDEXはまだ完全にはなくなってないよ。COOKIEは使用上の弊害が認め
られたので削除された。)
>>365-366
変更部分を確認するなら手間が少ないんだが、確認しながら変更するのは
かなり手間がいる。
「動作するところまでは確認したから、変更部分に問題ないか確認して
commitしてね。」で、read.cそのものか、diffを渡すのが手間が少なく
ていいかな。
(個人的にはreac.cそのものがいいが)
>「ピーク時の転送量と負荷の低減」でよろしいでしょうか?
「ピーク時の」って所をすぐ忘れるんだよなあ。
>>367
表現の変更で転送量に望ましい選択をしてもらえるならいいんじゃない。
- 369 :125 :01/09/16 17:02
- 上に「次50」があるのはよくない気がしてきました。
「次、次、次、あっ、ここから読もう。」があまりにも便利。
ということで、再び、上下に置くものについてのご意見をお願いします。
ver5.21の現状
上:■掲示板に戻る■ 全部 1- 前50 次50 最新50
下:掲示板に戻る 全部 1- 前50 [次50/未読] 最新50
混雑時
上:■掲示板に戻る■ 1- 前50 次50 最新50
下:1- [次50/未読] 最新50
これを
上:■掲示板に戻る■ 全部 最初から 前50 次50 最新50
下:掲示板に戻る 全部 最初から 前50 [次50/<b>未読</b>] 最新50
混雑時
上:■掲示板に戻る■ 最初から 前50 最新50
下:[次50/<b>未読</b>] 最新50
こんな感じかな。
混雑時は、下の最新50も取って未読を最優先にしたい所。
#「前、前、前」ってパターンもあるな。
#それでも「全部読む」よりはましか。
#CHUNK_ANCHORがベストな気がしてきた。
- 370 :デフォルトの名無しさん :01/09/16 17:57
- >混雑時は、下の最新50も取って未読を最優先にしたい所。
これ賛成。
それと、5.20の「新レス」(「新着」「未読」かはともかく)の見かけは、
結構好評で、悪評は少なかったように思う。
そこで、平常時を2段式にして、下半分だけのイメージを書いてみる。
続きがのある/なしで最新50が上段/下段となるのが面倒くさいけど、
こんなイメージはどうかな?(表示される文字は適当)
平常時・続きあり
――――――――――――――――――――――――――――
続きを読む 最新50
――――――――――――――――――――――――――――
掲示板に戻る 全部読む 1-50
――――――――――――――――――――――――――――
平常時・最後まで読んだ
――――――――――――――――――――――――――――
追加レス
――――――――――――――――――――――――――――
掲示板に戻る 全部読む 1-50 最新50
――――――――――――――――――――――――――――
混雑時・続きあり
――――――――――――――――――――――――――――
続きを読む 最新50
――――――――――――――――――――――――――――
混雑時・最後まで読んだ
――――――――――――――――――――――――――――
追加レス
――――――――――――――――――――――――――――
- 371 :370 :01/09/16 18:03
- 平常時の最新50をつける位置が逆だった。
続きがある時につけなくちゃだめだね。
両方につけてもいいけど。
- 372 :370 :01/09/16 18:07
- いや、371が間違いだった。
ちゃんと最新50は上段についてる。
自分でも間違えるくらいだから、使いにくいか。
- 373 :125 :01/09/16 18:42
- CHUNK方式が最も効率よさそうなんで、少し考えてみました。
混雑時の100レス制限との噛み合わせを考えて、CHUNKは100単位。
上:■掲示板に戻る■ 全部 CHUNK_ANCHOR 最新50
下:[続きを読む/新着レス]///掲示板に戻る 全部 前100 次100 最新50
混雑時
上:■掲示板に戻る■ CHUNK_ANCHOR 最新50
下:[続きを読む 最新50/新着レス]
※混雑時は表示内への>>リンクははずす。
※続きを読む/新着レスは、最後まで一気読み。
- 374 :125 :01/09/16 22:30
- 意見くれage
- 375 :名無し娘。 ◆vP.bOZFQ :01/09/16 23:14
- >>373-374
混雑時間帯には「続きを読む」に100レス制限つくんですよね?
平常時について「続きを読む」「次100」「最新50」がなんかかぶってるような気が
するんだけど、どれかをなくすとしっくりいかなく、迷っております。
混雑時間帯は
上:■掲示板に戻る■ CHUNK_ANCHOR 最新50
下:続きを読む 最新50
でOKだと思います。
- 376 :125 :01/09/16 23:57
- >>375
混雑時100レス制限はそのままです。
平常時の「次100」は、見た目の都合ということで。
害はなさそうですから。
上下のアンカーは、nofirst=trueにしないでいいんですよね。
転送量的には、nofirst=trueですけど。
上に前/次よりもCHUNK_ANCHORを推奨ってことで実装してみます。
- 377 :名無し娘。 ◆vP.bOZFQ :01/09/17 00:12
- >>376
はい。いいと思います。
- 378 :名無し娘。 ◆vP.bOZFQ :01/09/17 00:49
- 実装・検討待ちの案一覧
ETag
>>137 >>143 >>167-169 >>173 >>229-232
HEADリクエストに対しては Last-Modified と Content-Length を吐くだけにする
>>219 >>226
URL記述に対するリンク設定も時間帯によらせる
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&st=817&to=817&nofirst=true
「名前:」も「:」だけにする
</dl>するタイミング
>>126
#define Katjusha_Beta_kisei されていない(元はdefineされていた)
dat,temp,kako
dat,temp,kako を read.cgi で読む
>>203-206 >>208
datの一部についてのLastModを求める
ツール作者さんに対応お願い
* raw=xxx.yyy の形式でリクエスト。 xxx=最終レス番号, yyy=そのときのサイズ。
* 一行目はステータス:
* [+OK zzz] の場合は差分のみを送信する。zzzは差分サイズ。
* [-INCR] (Incorrect)の場合はすべてのデータを送信する。
* [-ERR (テキスト)]の場合はなんかエラーが起きた。
condition一覧/SETTING_R.TXT記述一覧
http://www.gedoh.org/aki/2ch/current/bbs/config.txt
追加すべきもの
CAUTION_FILESIZE xx, MAX_FILESIZE_BUSY (xx)(デバッグ用)
SEPARATE_CHUNK_ANCHOR(CHUNK_ANCHORが必要), CHUNKED_ANCHOR_WITH_FORM(CHUNK_ANCHOR定義時にのみ有効)
>>189-190
CM_BBSPINK, LOGLOGOUT x, TYPE_TERI, Katjusha_Beta_kisei
RAWOUT
rawmode時に圧縮対応していないと弾かれる
mmap時にlockすべきか
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&st=139&to=139&nofirst=true
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&st=425&to=425&nofirst=true
FORCE_304_TIME を鯖負荷に応じて動的に変更する
deflate
そのうち対応
- 379 :デフォルトの名無しさん :01/09/17 01:00
- すみません
>342=>345 は検討さえしていただけないのでしょうか…
- 380 :名無し娘。 ◆vP.bOZFQ :01/09/17 01:07
- >>379
失礼しました。見落としです。ぺこぺこ。
CSSによる軽量化ですね。
HTML文法にあるCSS宣言ならいいと思います。
# 意味不明かな...HTMLには無くてCSSにだけある定義使うとブラウザがまだ
# 対応し切れていないような気がしたので...ということ。
- 381 :379 :01/09/17 01:33
- >380
ありがとうございます.WEB 制作板の方の話はすっかり止まってしまっているので
こちらに直接書き込ませていただきました.
追加されるのは以下の文字列:
</title> の直前に
<meta http-equiv=Content-Style-Type content="text/css">
</script> の直後に
</script><style type="text/css"><!--b{color:green}a b{color:blue}--></style>
削除するのは <font color=green> と,対の </font> です.
>345 にも書きましたが +122-(25*age 発言) バイト減ります.
表示は NN4.78(Win) でも大丈夫なので,ほとんどのブラウザで大丈夫だと思います.
- 382 :| - -) :01/09/17 01:41
- >>378
#define Katjusha_Beta_kisei と config.txt の書き換えはやりました。
- 383 :デフォルトの名無しさん :01/09/17 01:57
- >>378
></dl>するタイミング
> >>126
出力サイズの小さい、後半であてました
- 384 :デフォルトの名無しさん :01/09/17 02:00
- >>378
>>189-190はconfig.txt見るとすでに反映されてますね。
- 385 :デフォルトの名無しさん :01/09/17 02:44
- >>378
>「名前:」も「:」だけにする
CUT_NAME_STRINGとして追加しときました。
- 386 :デフォルトの名無しさん :01/09/17 02:56
- >>378
> * [+OK zzz] の場合は差分のみを送信する。zzzは差分サイズ。
> * [-INCR] (Incorrect)の場合はすべてのデータを送信する。
INCRのときも、[-INCR zzz]という形になってるよ。サイズがついてる。
- 387 :デフォルトの名無しさん :01/09/17 03:46
- >>378
>HEADリクエストに対しては Last-Modified と Content-Length を吐くだけにする
> >>219 >>226
これやってみた。
ZLIB時:
HEADに対してはヘッダのみ出力する。内部的には全部圧縮して、結果の
Content-Lengthも出力。
GZIP時:
本文も出力しているまま。
無圧縮時:
通常のヘッダ出力後即終了。Content-Lengthは従来同様出力していない。
- 388 :125 :01/09/17 04:05
- PREV_NEXT_ANCHORと同時にCHUNK_ANCHOR/RELOADLINKを指定した時、
上:■掲示板に戻る■ 全部 CHUNK_ANCHOR 最新50
下:[続きを読む/新着レス]///掲示板に戻る 全部 前100 次100 最新50
混雑時
上:■掲示板に戻る■ CHUNK_ANCHOR 最新50
下:[次100 最新50/新着レス]
の形にした。
config.txtの内容をチェックして、ダブりと現状に合っていないものを修正。
PREV_NEXT_ANCHORで使用している文字列をr2chhtml.hに追い出した。
>>のリンクがno_first=trueになっていなかった。
- 389 :125 :01/09/17 04:32
- >>381
USE_CSSとして付けた。
一応ONにしておいた。
が、私は普段CSSはoffしてるので、ちょっとだけ悲しい。
#まずい、寝なきゃ。
- 390 :デフォルトの名無しさん :01/09/17 05:07
- >>356
これ適用してみた。
- 391 :デフォルトの名無しさん :01/09/17 06:23
- >>387
内部的に圧縮を行ったりgzipを呼んだりしてしまうと負荷が
ほとんど下がらないのでContent-Lengthは出力しなくて
いいと思います。
- 392 :デフォルトの名無しさん :01/09/17 07:26
- >>391
sousitemita.
- 393 :デフォルトの名無しさん :01/09/17 15:58
- >IEはヘッダにはAccept-Encoding: gzip, deflateと含めているにも
>関わらず、実際にdeflateでエンコードしたデータを喰わせても
>解釈できないです。
根拠はここ。
http://cvs.m17n.org/~akr/diary/d2001_01.html
ちなみにこの日記自体がContent-Encoding: deflate
で圧縮されているので尋常な手段では読めません。
一言でまとめると、HTTP仕様はzlibフォーマットのdeflateを
要求しているにもかかわらず、IEやNetscape6はzlibヘッダ
の付いていない生のdeflateストリームでないとデコード
できません。
というわけで事実上Content-Encoding: deflateは使えないです。
- 394 :デフォルトの名無しさん :01/09/17 22:44
- cvsにChangeLogファイル作ってみたよ。
今までの変更のサマリーとtagごとの採用状況をざっと書いてみました。
- 395 :369 ◆3XTuRnAc :01/09/17 23:30
- 新しいアドレスは、
ftp://10.170.136.232/incoming/
です。IP変わったのは15日の23時ちょっと前の模様。
- 396 :369 ◆3XTuRnAc :01/09/17 23:44
- あ、ちょうどいい機会なんで、dyndns取りました。
ftp://readcgi.dyndns.org/
ってことで。
あとはこれを自動更新(せめて一時間に一度程度の自動更新)
ができると良いんですが・・・。
なんとか、一日に一度はチェックするようにしたいと思います。
- 397 :名無し娘。 ◆vP.bOZFQ :01/09/17 23:55
- みなさまお疲れさまです。
★CVS使わない人は ftp://readcgi.dyndns.org/incoming/ をご利用下さい
★condition一覧/SETTING_R.TXT記述一覧 変更したら随時更新してね♪
http://www.gedoh.org/aki/2ch/current/bbs/config.txt
実装・検討待ちの案一覧 @396
ETag
>>137 >>143 >>167-169 >>173 >>229-232
URL記述に対するリンク設定も時間帯によらせる
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&st=817&to=817&nofirst=true
dat,temp,kako
dat,temp,kako を read.cgi で読む
>>203-206 >>208
datの一部についてのLastModを求める
ツール作者さんに対応お願い
* raw=xxx.yyy の形式でリクエスト。 xxx=最終レス番号, yyy=そのときのサイズ。
* 一行目はステータス:
* [+OK zzz] の場合は差分のみを送信する。zzzは差分サイズ。
* [-INCR zzz] (Incorrect)の場合はすべてのデータを送信する。zzzは送信サイズ。
* [-ERR (テキスト)]の場合はなんかエラーが起きた。
mmap時にlockすべきか
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&st=139&to=139&nofirst=true
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&st=425&to=425&nofirst=true
FORCE_304_TIME を鯖負荷に応じて動的に変更する
deflate
そのうち対応(実用困難らしい >>393)
- 398 :369 ◆3XTuRnAc :01/09/17 23:58
- たびたびすみません(^^;;。
369ってのは、ここのスレッドの番号じゃなくて、以前の騒動の時の
コテハンでして・・・。
- 399 :デフォルトの名無しさん :01/09/18 00:09
- >>397
実は>>378もそうなんだけど、リンクされているスレが3つとも、
前スレじゃなくて、このスレだったりして。
- 400 :名無し娘。 ◆vP.bOZFQ :01/09/18 00:12
- >>398
おひさしぶりです。
>>399
.....鬱氏(^^;
1000035521 -> 998997848
- 401 :デフォルトの名無しさん :01/09/18 00:15
- >>397
>★CVS使わない人は ftp://readcgi.dyndns.org/incoming/ をご利用下さい
どちらかというと新たにcvsを使いたい人は、ですね(笑)
- 402 :デフォルトの名無しさん :01/09/18 01:31
- >>397
>/tech/998997848/817
>・URL記述に対するリンク設定も時間帯によらせる NO_LINK_URL_BUSY
やっときました。
- 403 :anony ◆3XTuRnAc :01/09/18 02:03
- ちょっと要望なんですが、
■掲示板に戻る■ 1- 51- 101- 151- 201- 251- 301- 351- 401- 最新レス50
これ、上じゃなくて下においていただけないですかね。
特に「1- 51- ・・・」の部分。
いったん流し読みして、次を読むためにもう一度一番上までスクロールさせて・・・
ってのはちょっと面倒(^^;;。
- 404 :デフォルトの名無しさん :01/09/18 02:15
- >>403
下に 前100 次100 と付く予定ですが、それじゃ駄目ですか?
- 405 :anony ◆3XTuRnAc :01/09/18 02:28
- >>404
あ、そういう予定があるならそのほうがいいな。
この5.20の書式で行くのかなーと誤解してしまい。
申し訳ない。
- 406 :デフォルトの名無しさん :01/09/18 05:53
- mmap時のlockは どちらにしても読み出し側単独では不可能(というかナンセンス)で
書き込み側での対応が必要かと
- 407 :デフォルトの名無しさん :01/09/18 07:09
- んーっと、とりあえず、ETag実装してみた。
知識が足りないので、これでいいのかもよくわからない。
足りない点や見落としなど含め、意見求む。
大幅に書きなおしてくれる人も歓迎。
動作は、まず当初の目的を考えたので、
to=nnが指定されている時だけETagを出力するようにした。
main()の流れは、こんな感じ。
・・LastModifiedチェックの後、atexitを登録してから、
#ifdefPUT_ETAG
if (need_etag(st, to, ls)) {
char etag[60];
dat_read(fname, st, to, ls);
create_etag(etag);
if (match_etag(etag)) {
puts("Status: 304 Not Modified\n");
return 0;
}
printf("ETag: %s\n", etag);
}
#endif
出力部のチェックサムは、とりあえずcrc32を使い、
>>173を参考に、dat_read()の先頭でBigBufferをチェックするようにした。
また、影響を少なくするため、NotModifiedを返すのは混雑時のみにした。
出力情報は、%x形式で、
ETag: "crc-全サイズ-全レス数-送信部サイズ-送信部レス数-flag"
flagは出力が混雑時のものか、等。
かなり冗長で使っていない情報も出力しているが、
必要最小限にすべきか?
もし、ツール等が使う可能性があるなら、
to=nn以外のリクエストにも必要があるかも。
今のままだと、st=1&to=150とした場合、
時間帯が異なると必ず更新扱いされてしまう。
リクエストのレス全てから算出した値と
実際に出力するレスから算出した値を両方求め、
それぞれと比較して一致したら304を返す方が望ましい?
動作確認は、apacheをいれてないので中途半端にしか出来ていない。
・ETag出力の確認
・match_etagがtrue/falseを返す時の出力をそれぞれ確認
・HTTP_IF_NONE_MATCHをputenvして、datに手動で行を追加して確認
等はしたものの、
IEのリクエストから動作を確認したわけではないので、
ONにする前に(可能な人に)動作確認をお願いしたい。
NotModifiedを返す条件も募集中(追加をお願い)。
- 408 :デフォルトの名無しさん :01/09/18 07:09
- ところで、昨日いろいろ調べて、ようやくcheckout出来た。
(今まで、sshでつまずいていた)
WinCVSではなく、コマンドラインから動かしているけど、
updateは正常に動いているようなので、
commitも動作自体は大丈夫だと思う(これからテスト)。
よく見たら、改行コードが変換されている。
まあ、これはcommitする時に戻されるだろうからいいとして、
他に気になるのは漢字コードか。
コメントを書くのにEUCで保存できないエディタを使ったり、
間違えてSJISで保存したりすると、化けるんだろうな。
ということで、ETagの動作確認の他に、commitの動作確認もお願い。
- 409 :408 :01/09/18 07:50
- ちゃんとできたみたい。
でも、read.c以外は触りたくないし、
細かい修正は今まで通りここに書きこむ方が気楽だ。
- 410 :デフォルトの名無しさん :01/09/18 08:31
- >>408
困ったことに(笑)
read.cとr2chhtml.hはSJISだけどread2ch.hやconfig.txtなどはEUCなんですよね。
文字コード自動判別&元の文字コードを維持してくれるエディタを使うようにしないと。
改行コードについてはWinCVSなんかはテキストとして扱うものは変換してくれますね。
バイナリファイルをaddするときはバイナリフラグをつける必要があります。
- 411 :デフォルトの名無しさん :01/09/18 08:43
- >>407
need_etagを呼ぶタイミングだけど、
gzip対応かどうかを判定する前にBaddAccess()を呼ぶのはまずいっす。
etag判定時と実処理時で結果が違ってしまう。
- 412 :デフォルトの名無しさん :01/09/18 08:52
- >>407
> to=nn以外のリクエストにも必要があるかも。
to以外もすべて、ツールに限らず必要だと思う。
- 413 :411 :01/09/18 08:55
- >>411
タイミング遅らせてみた。
- 414 :デフォルトの名無しさん :01/09/18 12:10
- 「>」はタグの終了と紛らわしくない限り、「&gt;」と文字参照にする
必要はないことになっています。実際、IEやNetscapeでは
問題ありません。
文中の「&gt;」を「>」に置換すれば1つにつき3バイト節約できます。
- 415 :デフォルトの名無しさん :01/09/18 13:27
- >>414
「>」を>や「<」を<に変換するのは、本文中にタグを埋め込まれるのを
避ける意味もあるから、まずいことになりゃしないか?
- 416 :デフォルトの名無しさん :01/09/18 13:29
- あれ?
&amp;gt; って書いたのに、「>」になっちゃった。
何で?前はこれで書けてたのに。
ってことで修正
>「>」を&gt;や「<」を&lt;に変換するのは、本文中にタグを埋め込まれるのを
- 417 :415=416 :01/09/18 13:31
- さらに自己レス。かちゅ〜しゃの仕様ですね。
失礼しました。
- 418 :デフォルトの名無しさん :01/09/18 13:51
- >>414
>>で始まる他レス番号参照のところでのみ対応してみました。
あと、PATH_INFO時に他レスへのリンクが常に範囲指定になっていたのも
直しました。
- 419 :デフォルトの名無しさん :01/09/18 14:15
- 2001/09/18 13:09現在の採用状況
http://teri.2ch.net/test/read.cgi/accuse/1000730692/8
- 420 :デフォルトの名無しさん :01/09/18 15:49
- >>415
タグが閉じるのが早くなるだけだから不正にタグを埋め込まれた
場合にはむしろ望ましいはずです。
&lt;の置き換えだとかなり問題ですが。
- 421 :デフォルトの名無しさん :01/09/18 15:52
- >>416
かちゅ〜しゃのバグです。せっかく開発してるのだからread.cgiで
見てみてください。ちゃんと書けてます。
- 422 :421 :01/09/18 15:54
- 417で自己レス入ってるのが見えなかった鬱打
- 423 :デフォルトの名無しさん :01/09/18 16:52
- #ifdef NN4_LM_WORKAROUND
if (!memcmp(zz_http_user_agent, "Mozilla/", 8)
&& zz_http_user_agent[8] == '4'
&& zz_http_user_agent[10] >= '5'
&& !strstr(zz_http_user_agent, "compatible"))
putchar('\n');
else
#endif
この対策が必要なのはNN4.xでも4.5以降だけなので(それ以前
はそもそもgzipに対応していない)もっと絞り込めるはず。
それともgzip非対応バージョンでもContent-Lengthがあると
Last-Modifiedが無効になるのでしょうか。
- 424 :デフォルトの名無しさん :01/09/18 16:54
- こうしたほうがいいか。
#ifdef NN4_LM_WORKAROUND
if (!memcmp(zz_http_user_agent, "Mozilla/4.", 10)
&& zz_http_user_agent[10] >= '5'
&& !strstr(zz_http_user_agent, "compatible"))
putchar('\n');
else
#endif
- 425 :デフォルトの名無しさん :01/09/18 17:26
- USE_CSSは
・メールリンクなしのfusianasanやトリップに色が付かない
・sageリンクをクリックしていても紫にならない
・名前のリンクを選択中でも赤くならない
など、かなり見栄えへの副作用が大きいので、
とりあえずOFFを希望します。
- 426 :425 :01/09/18 17:33
- あと、
・CREATE_NAME_ANCHORが有効だとメールリンクなしの
名前まで青くなる
というのもありました。
- 427 :デフォルトの名無しさん :01/09/18 17:52
- 私の計算が間違っていなければ
<a href="mailto:sage "></a>も
<font color=#0000c0></font>も
同じバイト数で、SAGE_IS_PLAINはまったく意味がない
ので廃止を提案してみます。
- 428 :デフォルトの名無しさん :01/09/18 18:00
- #ifdef ZLIB
if ( is_head() || gzip_flag == compress_none )
#endif
{
/* HEADリクエストならここで終了 */
if ( is_head() ) {
return 0;
}
}
は不必要に冗長。
/* HEADリクエストならここで終了 */
if ( is_head() ) {
return 0;
}
と論理的に等価。
- 429 :デフォルトの名無しさん :01/09/18 20:19
- PATH仕様で「ls=」を意味する文字を、「=」から「l」あたりに
変更することを提案します。
そうすると「"」を安全に省略できるので、リンク1つにつき
さらに2バイトの節約になります。
- 430 :デフォルトの名無しさん :01/09/18 21:16
- >>428
ああ、それはHEADリクエストでも圧縮処理するように戻すことを考えて
残したんです。
- 431 :デフォルトの名無しさん :01/09/18 21:27
- >>423
誰かNNユーザーの方この検証キボン
- 432 :デフォルトの名無しさん :01/09/18 22:16
- >425-426
CSS の実装を提案した者です.ご意見ありがとうございます.
>・メールリンクなしのfusianasanやトリップに色が付かない
これは…トリップのところまで含めて </b> になってないのはなぜなんでしょう?
また,そこが太字であったら(見栄え以外の)不都合はありますか?
>・sageリンクをクリックしていても紫にならない
>・名前のリンクを選択中でも赤くならない
今は名前のところが<a><b>...</b></a>になっていますが,これを <b><a>...</a></b> には
できませんか?できるなら css 宣言の a b{color:blue} を外すだけで対応できます.
#ところでこのあたりの色,うちの IE55 NN478 Moz094 だといずれも紫にも赤にもならないのですが?
>・CREATE_NAME_ANCHORが有効だとメールリンクなしの名前まで青くなる
これは<a name></a> を<b></b> の前に置くか,あるいは <b><a>...</a></b> にして css の a b{} を外すか.
ということで,いずれも<a><b> の順番を変えるとかそういうことで対処できますが,
問題はそれをするのにどのくらい手間がかかるかということです.
<font color=green> のところは確実に減るのでその減る分に見合うだけの作業になるか
どうかですが,これは作業をしてくださる方の判断にお任せします.
- 433 :デフォルトの名無しさん :01/09/18 22:43
- >>424,431
大丈夫そうに見えるのでcommitした。(memcmpはやめてstrncmpにした)
要NN4.0xで検証
>>429
=をlにした。"は、まだ取っていない。
>>339
PATH_INFOで/の数が不正の時にエラーになるようにした。
USE_CSSはとりあえずOFFにした。
- 434 :デフォルトの名無しさん :01/09/18 22:43
- >これは…トリップのところまで含めて </b> になってないのはなぜなんでしょう?
名前欄に「</b>◆トリップ<b>」のように入るからです。
>また,そこが太字であったら(見栄え以外の)不都合はありますか?
トリップは◆があるからまだいいのですがfusianasanは騙りと区別が
付かないというかなり強力な不都合があります。
見栄えも十分問題だと思いますが。
>今は名前のところが<a><b>...</b></a>になっていますが,これを <b><a>...</a></b> には
そうすると今度はfusianasanしたとき<a>と<b>が互い違いに
なるのでネスケで細字に見えないという不都合が発生します。
というかそれでわざわざ順番を変えてもらったのです。
>#ところでこのあたりの色,うちの IE55 NN478 Moz094 だといずれも紫にも赤にもならないのですが?
うちのIE55では紫にも赤にもなるのですが。
NN478でもクリックした瞬間にはちゃんと赤になります。
>これは<a name></a> を<b></b> の前に置くか,
すると今度はメールリンクしなくなります。<a>要素をname用と
href用と2つ書いたらサイズが増えて本末転倒になりそうだし。
>あるいは <b><a>...</a></b> にして css の a b{} を外すか.
すでに述べた通り却下です。
>ということで,いずれも<a><b> の順番を変えるとかそういうことで対処できますが,
というわけでそうでもないです。あらためてUSE_CSSは
オフにすることきぼん。
- 435 :434 :01/09/18 22:45
- って書いてる間にOFFになってましたか。
- 436 :デフォルトの名無しさん :01/09/18 22:54
- >>435
名前の所を強烈にいじらないと問題ありそうだったからOFFにしました。
>>433
書き忘れ
>>427
<font color=#0000c0>を<font color=blue>に変えた。
これで一応意味はあるのかな。OFFだけど。
- 437 :432 :01/09/18 22:55
- >434
なるほど.背景をきちんと理解せずに中途半端な提案をしていたようで,申し訳ありません.
以上のようなことがあるとすると,CSS を ON にするのは難しそうですね….
やはり,見栄えを変えずに CSS でサイズ削減ってのは(今回の場合には)無理そうですね.
- 438 :デフォルトの名無しさん :01/09/18 23:06
- まだちゃんと見てないんだけど、
PUT_ETAGがあるとdat_readを複数回呼ぶ場合があるんじゃない?
サーバーの負荷の問題もあるので、Etag使用は本当に必要な場合のみに
抑えたいところ。
- 439 :デフォルトの名無しさん :01/09/18 23:22
- CSSの話は最初からボーっと眺めているだけで、
「IEとNNは大丈夫」を読んで、時代に逆行するけど
「それ以外に問題が発生したら、UserAgentからMozillaが含まる場合」などと、
昔よく行われていた(らしい)ことを考えていた。
もし、CSS使用時の他の問題が解決する目処が立ちそうなら、
UserAgentを判別してIEの場合だけCSSを使うとか、
NNの場合は<b>や<a>の順番を変える方法もありそうだね。
結構変更が大変そうだから、
転送量的に必要で、変更する手間があれば、だけど。
- 440 :424 :01/09/19 00:33
- すんまへん、大嘘ついてました。NNのgzip対応は4.06からです。
GET http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&ls=100 HTTP/1.0
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.06 [ja] (WinNT; I)
Host: piza2.2ch.net
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: Shift_JIS,*,utf-8
- 441 :デフォルトの名無しさん :01/09/19 00:38
- で、NN4.05で試すとAccept-Encodingがないにも関わらず、
なぜかgzip圧縮された内容が返ってきて見事に文字化けしたのですが、
これってread.cgi 5.20の既知の不具合でしたっけ?
もちろんキャッシュは完全にクリアしてから試しています。
GET http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521&ls=100 HTTP/1.0
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.05 [ja] (WinNT; I)
Host: piza2.2ch.net
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Language: en
Accept-Charset: Shift_JIS,*,utf-8
HTTP/1.0 200 OK
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
Date: Tue, 18 Sep 2001 15:18:37 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: Tue, 18 Sep 2001 14:22:56 GMT
Content-Length: 19216
Content-Type: text/html
- 442 :441 :01/09/19 00:42
- んーNN4.06で見てみたけど今書き込んだ内容が反映されてない…
経路上のどこかにキャッシュでもあるんだろうか…。
- 443 :441 :01/09/19 00:47
- Shift+リロードしたら圧縮されてない内容がちゃんと
返ってきました。やっぱりどこかでキャッシュされてたみたいです。
お騒がせしました。
- 444 :デフォルトの名無しさん :01/09/19 00:50
- >>441-443
Proxy-Connection: Keep-Alive
↑
この辺か?
- 445 :デフォルトの名無しさん :01/09/19 00:53
- 4.05以前の場合どのみち圧縮された内容は返されない
(=Content-Lengthは出力されない)ので、そんなシビアに
取らなくてもいいと思われ
#ifdef NN4_LM_WORKAROUND
if (!strncmp(zz_http_user_agent, "Mozilla/4.", 10)
&& !strstr(zz_http_user_agent, "compatible"))
putchar('\n');
else
#endif
- 446 :デフォルトの名無しさん :01/09/19 01:03
- >>445
あてた。
- 447 :デフォルトの名無しさん :01/09/19 01:13
- ん? 先祖がえりしてるような…。
#ifdef NN4_LM_WORKAROUND
if (!memcmp(zz_http_user_agent, "Mozilla/", 8)
&& zz_http_user_agent[8] <= '4'
&& !strstr(zz_http_user_agent, "MSIE"))
putchar('\n');
else
#endif
- 448 :デフォルトの名無しさん :01/09/19 01:24
- >>447
http://www.gedoh.org/aki/2ch/current/bbs/
の更新がとまってるみたい。
- 449 :デフォルトの名無しさん :01/09/19 01:49
- 現在の最新版を
ftp://readcgi.dyndns.org/incoming/read.tgz
に置いておきました。
- 450 :夜勤 ★ :01/09/19 03:47
- みなさん、いつもありがとうございます。
新しいの入れようと思うのですが、、、
どれ(どこ)なのかな?
- 451 :デフォルトの名無しさん :01/09/19 03:49
- >>450
>>449が最新です。
5.21の問題点
上に前、次があるのは転送量的に問題。
NORAML_TAGCUTは、要らなかった。
- 452 :夜勤 ★ :01/09/19 03:53
- >>451
どーもです。
これから、choco に入れてみます。
- 453 :夜勤 ★ :01/09/19 04:07
- Makefile:11: *** commands commence before first target. Stop.
make ここて、止まっちゃいます。
なぜに?
- 454 :デフォルトの名無しさん :01/09/19 04:10
- >>453
なぜだかわかりませんが、SRCSからの3行を削ってみたらどうでしょう?
SRCSはcgiを作るのには関係ありませんから。
- 455 :夜勤 ★ :01/09/19 04:16
- うっ
こんどは、
Makefile:71: *** missing separator. Stop.
- 456 :デフォルトの名無しさん :01/09/19 04:18
- ??
なんか、継続行を理解できないmakeな感じですね。
gmake 使えませんか?
- 457 :夜勤 ★ :01/09/19 04:20
- gmake はいってないです。
GNU Make version 3.74, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
いままでの makefile で ok ですか?
5.21のやつ
- 458 :デフォルトの名無しさん :01/09/19 04:22
- >>457
はい、SRCSに一つ追加しただけですから。
なんか変ですね。改行コードがおかしいのかしら?
- 459 :夜勤 ★ :01/09/19 04:23
- いままでの Makefile で、make しました。
choco に 5.22 入りました。
- 460 :夜勤 ★ :01/09/19 04:25
- >>458
なんか そんな感じです。
ちゃんと追っていないので、断定はできませんが、、、
何かへんなコードが紛れ込んでいるのかしらん?
- 461 :デフォルトの名無しさん :01/09/19 04:28
- >>459
ご苦労さまでした。
しかし、Makefileのどこがまずいんだろう。
SRCSの最後にChangeLogを追加しただけなんですが。
- 462 :夜勤 ★ :01/09/19 04:30
- #define R2CH_HTML_ERROR_5_TEMP \
"隊長! スレッド <font color=deeppink><b>%s.dat</b></font> は、html化されるのを待っているようです。<br>しばらく待つしかない。\n"
次期 ver では、にしていただけるとありがたいです。
- 463 :デフォルトの名無しさん :01/09/19 04:33
- >>462
やっときます。
- 464 :デフォルトの名無しさん :01/09/19 04:57
- う、imode時のPATH仕様対応をやってたんだが一足遅かったか。
[r2chhtml.h]
/* tail: npath=生成するURLその1 nst=次のxxxレス
lpath=生成するURLその2 ls=最新レスxxx */
#define R2CH_HTML_T_IMODE_TAIL(npath, nst, lpath, ls) \
" <a href=\"" npath "\">次の" nst "レス</a>" \
" <a href=\"" lpath "\">最新レス" ls "</a><br>\n"
/* tail: PATHナシ
%s=cgi %s=board %s=key %d=開始 %d=終了 %d=レス数
%s=cgi %s=board %s=key %d=レス数 %d=レス数 */
#define R2CH_HTML_IMODE_TAIL \
R2CH_HTML_T_IMODE_TAIL("%s?bbs=%s&key=%s&st=%d&to=%d&imode=true", "%d", \
"%s?bbs=%s&key=%s&ls=%d&imode=true" NO_FIRST, "%d")
/* tail: PATH仕様
%d=開始 %d=終了 %d=レス数
%d=レス数 %d=レス数 */
#define R2CH_HTML_PATH_IMODE_TAIL \
R2CH_HTML_T_IMODE_TAIL("%d-%di", "%d", \
"l%di", "%d")
/* i-Modeで見たとき: PATH仕様
%s=スレ名 %s=板 %d=一度に表示するレス数
%d=一度に表示するレス数 %d=一度に表示するレス数 */
/* </title>の前の空白は削除しないこと */
#define R2CH_HTML_PATH_IMODE_HEADER_1 \
"<html>" \
"<head>" \
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">" \
"<title>%s </title>" \
"</head>" \
"<body bgcolor=#efefef text=black link=blue alink=red vlink=#660099>" \
"<a href=\"../../../../%s/i/\">■掲示板に戻る■</a>" \
" <a href=\"1-%di\">レスを最初から読む</a>" \
" <a href=\"l%di\">最新レス%d</a>"
#define R2CH_HTML_PATH_RELOAD_I \
"<center><a href=\"%d-i\">新着レスの表\示</a></center><hr>"
#define R2CH_HTML_FORM_IMODE(depth) \
"<form method=POST action=\"" depth "bbs.cgi\">\n" \
"<input type=submit value=\"かきこむ\" name=submit> " \
"NAME:<input name=FROM size=20 value=\"\">" \
"MAIL:<input name=mail size=20 value=\"\">" \
"<br>" \
"<input type=hidden name=bbs value=%s>" \
"<input type=hidden name=key value=%s>" \
"<input type=hidden name=time value=%ld>" \
"<textarea rows=5 cols=60 wrap=off name=MESSAGE></textarea>" \
"</form><br>"
- 465 :デフォルトの名無しさん :01/09/19 04:59
- 机上デバッグしかやってないのでうまく通らないかも。
[read.c]
out_html()に追加:
#ifdef USE_PATH
if (path_depth)
pPrintf(pStdout, R2CH_HTML_PATH_IMODE_TAIL,
lineNo, lineNo + RES_IMODE, RES_IMODE,
RES_IMODE, RES_IMODE);
else
#endif
html_head()に追加:
#ifdef USE_PATH
if (path_depth)
pPrintf(pStdout, R2CH_HTML_PATH_IMODE_HEADER_1,
title, zz_bs, RES_IMODE,
RES_IMODE, RES_IMODE);
else
#endif
html_reload()に追加:
#ifdef USE_PATH
if (path_depth)
pPrintf(pStdout, R2CH_HTML_PATH_RELOAD_I, startline);
else
#endif
html_foot_im()に追加・変更:
#ifdef USE_PATH
if (path_depth)
pPrintf(pStdout, R2CH_HTML_FORM_IMODE("../../../"), zz_bs, zz_ky, currentTime);
else
#endif
pPrintf(pStdout, R2CH_HTML_FORM_IMODE(""), zz_bs, zz_ky, currentTime);
- 466 :デフォルトの名無しさん :01/09/19 05:01
- >>462
done.
tag: YAKIN20010919を打った。
MakefileのSRCSを分割してみた。これでなんとかならないかな?
- 467 :名無し娘。 ◆vP.bOZFQ :01/09/19 13:12
- みなさんお疲れさまです。
5.22のユーザーインタフェース(?)すごく使いやすい。。。とてもお気に入りです。
使いやすすぎるのが転送量的に問題とならないことを祈ります。
326KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30