read.cgi再開発スレ Part2
■ このスレッドは過去ログ倉庫に格納されています
◆cZfSunOs.Uさん作成のmod_cgidsoにより、大きな負荷軽減が図られたread.cgi。
このスレでは、そんなread.cgiの(再)開発・実装すべき機能について取り扱います。
前スレより:
574 名前:FOX ★[sage] 投稿日:05/01/05 15:54:28 ID:???
全てのサーバ cobra/toger/banana で read.cgi の dso化が完了。
これから href の置き換え ime.nu 対応を行い
それが終了したら第一ステップは完。
第2ステップは
2-1) bug つぶし
2-2) 仕様の変なところは変更
2-3) 時代背景にあわせたデコレーション
こんなとこかと、
前スレ:
read.cgi再開発スレ
http://qb5.2ch.net/test/read.cgi/operate/1087199303/ 書き込み規制の時間も記録しろよ
書き込める時間を記載された方が分かりやすいな >>685
>en-US 版 Firefox では言語設定で ja を加えないと
再現した。これ直してくれないと使いものにならん 特定のスレッドだけエラーと出て書き込みできないです。
同じ板でも他のスレッドは書き込み可能です。
その後もずっと書き込みできなくて、ブラウザが変ですよと表示されます。
ダメだどのスレッドにも書き込みできなくなった・・・
火炎狐2ですだ。
>>695
だから違うって。規制じゃないよ。
イキナリ特定の板が全て書けなくなったワケではない。
エラー表示で書けないスレッドが1つあり、それが時間が経つにつれ広がった。
エラー表示も最初はおすすめの所が赤でエラー表示されるだけだったが、
そのうちブラウザが変ですよと表示される様になっていった。
>>695
無知が訳もわからずにレスするな
前10resも読めないのか 削除依頼板でフォームから依頼すると削除対象アドレスとかに<ul>が付くんですけど、
javascriptモードにするとURLがリンクされなくなっちゃってます。
WinIE6とCamino1.1aでかくにん。 1 :[読み込み中。。。]:[読み込み中。。。]
[読み込み中。。。]
みっつも要らんよ
それと前の方が良かった。使いにくい
メチャメチャ遅いし
>>686 >>700 JavaScript 版を使いたくない場合は,板トップやスレ一覧にある
「read.cgi モード切替」をクリックして「CGI モード」にして下さい.
別に JavaScript 版の利用を強制する意図まではありませんので.
>>687 >>689 おすすめやエラーは,マウスカーソルを「おすすめ」や「エラー」の
文字の上に持って行けばポップアップ表示されます.
>>690 規制関連の事柄は read.html で扱う範疇を超えてますね.
それに,基本的に私は規制関連にはノータッチなんで......
>>691-692 これは昔からあった規制のようなんですが,何らかの意図があっての
規制だと思うので(例えば海外からのスパムを抑制するとか),
単純にその規制を外すってのはちょっと考え物だと思います.
とりあえず,read.js から書き込む段階でヘッダに ja を付加するようにしてみます.
# しかし,普通のフォームからの POST と XMLHttpRequest からの POST で
# ヘッダが違う部分があるのかな......?
>>699 なるほど......対処しますた.
# まぁ,これはそもそも <ul> の使い方自体がアレなんですが...... クッキー無効時に書き込みしたとき、書き込み確認のメッセージダイアログが
出て、内容確認して、変更するなら「戻る」ボタンを押してください。と言ってますが、
[OK]と[キャンセル]ボタンしかなく、[戻る]ボタンがないみたいです。 Navi2ch使ってるんだけど、スレ取得時に更新があるとあぼーん報告が出るようになった。
実際にあぼーんされたレスがないので、datを調べてみたら最初の部分に
<?xml version="1.0" encoding="Shift_JIS"?>
<text><![CDATA[
が、最後の部分に
]]></text>
がくっついていた。read.html導入前までこんなことなかったが、
何か実装に変更があった?
http://pc11.2ch.net/test/read.cgi/unix/1156781437/836-839 >>701
ポップアップ表示する意味が無い。
リンクあると思うんだけど、
マウスポインタを「おすすめ」とかから移動させると消えるし。
あと、携帯厨には根っ子から携帯厨用のインターフェイスを用意すべし。
いちいちでかいなんてモーダルダイアログで言わせるな。 >>702 それは,bbs.cgi から返されるメッセージをそのまま表示しているからですね.
read.html では,戻らずそのままの画面で変更すればおkです.
>>703 User-Agent に MSIE 6 という文字列が含まれていると,
文字化けを防ぐためナンチャッテ XML 化して返すようになってます.
なので,User-Agent に MSIE 6 が含まれないようにして dat を取得して下さい.
>>704 慣れの問題かもですが,「おすすめ⇒」の上からはみ出さないように
しながらポップアップ領域まで移動させれば消えません.
それから,>>618 >>645 あたりでも書いていますが,携帯端末等の場合は
携帯入り口 ( http://c.2ch.net/ やその他の携帯メニュー ) から入って下さい.
各鯖に直接アクセスするのは PC 用のブラウザやそれとほぼ同等の能力を持つ
フルブラウザであることが前提で,それ以外で直接アクセスするなら
自己責任ということでお願いします. >>701
>しかし,普通のフォームからの POST と XMLHttpRequest からの POST で
>ヘッダが違う部分があるのかな......?
そういえば、以前IE7で実験したときもAccept-Languageを変えたら同じエラーになりましたよ
(http://qb5.2ch.net/test/read.cgi/operate/1163825500/687 ) >>702 のは,read.js 使用時には bbs.cgi 側で表現を若干変えるようにしました.
>>707 ふむ......今は read.js 内で ja を強引に加えるようにしましたが,
それだとどうでしょうね......? IE7でJavaモードの時
おすすめやリロードなどの右にある不具合報告のリンクが”告”にしかかかっていません
おそらくはIE側のバグだとは思いますが一応報告 >>709 ども.「不具合報告」全体を <a>...</a> で囲ってるんで,
確かに IE のバグなんでしょうねぇ...... 不具合報告です。
アーケード板・スピリッツオブジオン~修羅の双星~【ザク】
http://game11.2ch.net/test/read.cgi/arc/1167030800/l50
で881レスあったのが274もでしかなくなってる、(スレッド表示では本来の数881になってる)のと、
書き込めなくなっています。(コメント入れて「書き込む」をおしたら「書き込みました」になるけど実際は書き込まれていない)
できれば何とかしてください。
既出だったらすいません。 >>711 1月19日あたりに game11 って鯖落ちしましたかね?
dat 自体が壊れていたようです.ということで dat を修復しますた.
>>713 従来版の方がよければ,板トップやスレ一覧の「read.cgi モード切替」
のところで「CGI モード」にしてみて下さい. 正直、従来版をより軽く改良するほうがいいと思う。
高機能な2chブラウザがたくさん出てるし。
どうしても高機能化するなら「read.cgi モード切替」をもっと手軽にできるようにしてほしい。
それから全部ボタン押したときの警告はいらない。 >>715
ありがとうございます。とても助かりました。
これからも運営・管理のほうがんばってください。 >>716 元々,read.js は従来 read.cgi がサーバサイドで行っていた
dat -> html 変換をクライアント側で行ってサーバサイドの処理を減らそう
ってのが出発点であって,多機能化はあくまでおまけということでした.
従来の read.cgi を軽くするには mod_cache を使うなどの方法がありますが,
サーバ側でもいろいろセッティング変更したりしなければならないので,
現時点では長期的な課題かなぁ.
>どうしても高機能化するなら「read.cgi モード切替」をもっと手軽にできるようにしてほしい。
「モード切替」をクリックするだけなのでそんなに大変なことでもないと思うんですが,
どちらかというと方法の周知の問題かなぁ...... 頻繁に切り替えるものでもないような気もしますし.
>それから全部ボタン押したときの警告はいらない。
初期の read.js では警告はなかったんですが,
「全部」表示が重いという苦情も結構あったんで入れました.
クライアント側で dat -> html 変換を行う以上,大きな dat で
重くなるのは不可避なのに苦情を言われてもどうしようもないんで......
その代わりに,1- 101- などのリンクで Alt+Click を行えば,
ページを遷移させず dat もリロードしないまま表示を切り替えられる機能を入れています.
# GNOME などで Alt+Click が WM によって横取りされてしまう場合は,
# Shift+Alt+Click とかでお願いします. よくわかんないけど毎回「読み込んでます」って出てくるのは仕様? いっつも100になるとリロードしても更新できなくなるんですが仕様ですか? >>719 etc6 に移転する前の BE 板の仕様を引き継いでそうなってます.
>>720-721 いったん HTML ページを読み込んでから dat を取得・表示するので,仕様ですね.
>>722 使用しているブラウザは何ですか? また,それは特定のスレだけでなくすべてのスレで起こるんでしょうか? 表示まで、遅すぎなんすけどーーーー
今までが快適だったから、逆に気になるのかもしれませんが。
不具合報告のリンクは、直接ここにじゃなくて、FAQや対応先の
振り分けとかを書いたページを挟む方が良いのかも。 >>726 まぁ,「不具合報告」のリンクは状況が落ち着くまでの臨時のつもりで入れてるんですけどね.
FAQ とかは 2ch Wiki あたりにまとめるのがいいのかな.一番多い FAQ は↓みたいなのでしょうけど.
Q: 重い.今までの方がよかったので戻して下さい.
A: 「read.cgi モード切替」で「CGI モード」に設定して下さい. >>730
乙です。
>>729でリンクしました。 >>728-731 おぉ,乙&thxです.あと数日ぐらい様子見て,
落ち着いてきたら不具合報告のリンクをそっちに入れ替えようかと. 不具合というか凄く使いづらい。
マウスオンの反応も悪いし、要らないんじゃね? なれればかなり便利かも・・・?
今はまだ不慣れなので微妙に使いづらいですけど。
開発の人がんばってください >>727
「read.cgi モード切替」ってスレ内にも設置してよ
既にあるならどこ? 現時点での不具合報告(?)
IE7。
‐表示が遅い。。。。
‐スレタイがコピペできないことがある。
要望。
‐E-mail欄の隣にsage専用チェックボックスを配置してください。
もしくは「入力フォーム位置固定」の次でもいいです。 ところでそもそもの目的「サーバサイドの負荷軽減」に関して効果は現れた?
まさか手段が目的になったりしてないよね?
>>735
XPの専ブラが普通に使えますが >>736 例えばこの板なら
板トップ http://qb5.2ch.net/operate/ の右上あたり
スレ一覧 http://qb5.2ch.net/operate/subback.html の右下あたり
ですが,この板に限らず各板のトップやスレ一覧にもあります.
>>737
>表示が遅い。。。。
これは仕組み上いかんともしがたいところで......
>スレタイがコピペできないことがある。
これは,特定のスレで常に発生するのでしょうか,
それとも不規則に発生したりしなかったりするのでしょうか?
# 特に後者なら IE 側のバグっぽい気もしますが......
>E-mail欄の隣にsage専用チェックボックスを配置してください。
これはちょっとやってみます......
>>738-739 サーバサイドでの動的プログラムの実行は減少するのですが,
今の PATH_INFO 形式の URL ( http://qb5.2ch.net/test/read.cgi/operate/1105909861/l50 )
では,html ページと dat 双方へのアクセスが発生しアクセス数は増加するので,
結果的にはほとんど変わらない感じです.location.hash 形式の URL
( http://qb5.2ch.net/test/read.html#operate/1105909861/l50 ) なら
html ページのリロードを抑制できて効果は現れると思うんですが,そうすると
IE では履歴管理がうまくできなくなってしまうとか,削除依頼を従来と異なる URL で
出されてしまうと削除関連のツールが対応できなくなってしまうらしいとかで,
とりあえず従来との互換性を重視して PATH_INFO 形式をデフォルトにしています.
まぁ,モード切替をできるようにしているのはそのためでもあるんですよね.
負荷軽減の効果が顕著なら切替なしで JavaScript モード強制ということも
考えられたんですが,PATH_INFO 形式の URL を使っている限り
強制してまで使わせることもないだろうということで,
切替機能を付けて利用者側の選択に任せるようにしました. 余計な機能はつけなくていいからもっとシンプルにしろ おすすめ⇒
がクリックして固定されたり、固定されなかったりもしますね
一回クリックして固定されてくれれば有り難いですね sageチェックとかの仕様は某専ブラスレでは荒れたんだよな
十分気をつけて実装たのむ
>>742>>744
>>727 sage チェック (>>737),「おすすめ」クリックで固定 (>>743) 実装しますた.
>>746 なるほど......とりあえず様子見で......
>>747 ブラウザや PC によっては重く感じることはあるかもですね...... sageチェックの追加は、管理人の意思に反していると思うです。
管理人は、名前欄・メール欄・本文だけのI/Fであることが重要だと
どこかで言っていたような。 うっかりJavaScriptモードでスレを開こうものなら
CPU使用率は100%になるわCPUファンがやかましく回り始めるわでいいことがない
毎回CGIモードに切り替えてるがクッキー削除すると
またJavaScriptモードになるのはかなり迷惑
とりあえずスレの頭にも切り替えボタンつけてくれ >>749 そうでしたか......ってことで外しますた.
>>750 read.cgi 画面に付けても,現在表示中のものは変わりません.
次回から有効ということになりますが,それならリンク元の
板トップやスレ一覧で切り替える方が合理的じゃないかと.
ただ,現在どちらのモードかを認識しやすくするのは効果的かも?
例えばどこかの色を変えるとか...... 画面の隅に切り替えボタンと現在のモードを常に表示させればいいんでない? DHTMLって結局どうしても遅いし、デフォルトはCGIモードのほうがいいと思いますよ。 >>718
> >どうしても高機能化するなら「read.cgi モード切替」をもっと手軽にできるようにしてほしい。
>
> 「モード切替」をクリックするだけなのでそんなに大変なことでもないと思うんですが,
> どちらかというと方法の周知の問題かなぁ...... 頻繁に切り替えるものでもないような気もしますし.
違う。デフォルトを従来通りにしなかったセンスがアレなだけ。
『「モード切替」をクリックするだけなのでそんなに大変なことでもない』
なら、「read.htmlモードへの切替」で充分(「大変なことでもない」)なはずでしょう。
つまり、あなたのやったこと自体が
> 「モード切替」をクリックするだけなのでそんなに大変なことでもないと思うんですが,
これを否定している。 なんだか詳しい人の書き込みばかりで、躊躇するばかりでなく
自分と同じ訴えが書き込まれているかどうかさえ
頭が混乱して判断出来ないのでつが・・ああ、目が回る。
お願いしたい事はただ一つ。
「エラーで仕方なく再投稿したら、二重投稿だった」が
起こらない様によろおねm(_ _)m >>753 結局そうしました.まぁ,現状では read.html は使いたい人にだけ
使ってもらえばいいって感じなんで,意に沿わず使って寄せられる苦情にまで
対処するのは何かねぇ......ってところですし.
>>754 元々は
IE 7+ (初期は IE 6+), Gecko 1.8+, Opera 8+ -> デフォルトで JavaScript モード
それ以外 -> デフォルトで CGI モード
でした.これはなぜそうなっていたかと言えば,>>718 でも述べた
>dat -> html 変換をクライアント側で行ってサーバサイドの処理を減らそうってのが出発点
という時の名残です.つまり,JavaScript 版がちゃんと動くブラウザでは
サーバサイドの負荷軽減のためできればそちらを使うよう
誘導したいという意図があった,と.「どっちでも別にいいや」という
利用者ならデフォルトのままで使うでしょうし.ただ,PATH_INFO 形式の
URL を使っている限り負荷軽減の効果はあまり見込めないし,
「どうしても JavaScript 版はイヤだ」という利用者のために
選択可能にする機能を後付けしたということなんで.
>>755 それって,例えば DNS の逆引きが調子悪かったりすると
従来版でもたまに起こる現象じゃなかったかな......
とすると,どっちかというと bbs.cgi の問題じゃないかと. >>741
板のトップやスレ一覧だけじゃなくて、
「read.cgi モード切替」を"スレ内"にも設置して欲しいんですよ
例えばこのスレなら
http://qb5.2ch.net/test/read.cgi/operate/1105909861/ (l50) 内に >>1
MacでCTRLとコマンドのボタン交換出来ないのか? >>758 >>751 で
>read.cgi 画面に付けても,現在表示中のものは変わりません.
>次回から有効ということになりますが,それならリンク元の
>板トップやスレ一覧で切り替える方が合理的じゃないかと.
と書いておいたんですが,それでも read.cgi 画面内に設置してほしいんですか?
>>756 の第一段落の通り,全ブラウザでデフォルトを CGI モードにしたので,
意に反して JavaScript モードになるって利用者はもうこれ以上は出ないと思いますし. 何が嫌って、遅くなるのが嫌。
read.cgi呼び出しにわざわざl10とかつけていても
毎回(レスが増えるたびに)全.dat取得しなおしてるわけだから。
そりゃ、cgiよりユーザーランドでの負荷は減るだろうけど(dsoだとしても)
転送が数倍になって、割り込み回数を激増させて
相殺できる効果はあるのかね。
もし大差ない程度なら、読み手が軽快に感じるような手法にして欲しいわけで。
大昔の閉鎖危機でgzipを導入した時も
一般の人からの驚きは「転送量が減った」じゃなく「表示が速くなった」だったしね。
もちろん、当時とはサーバー側もクライアント側も回線の環境が全然違うけどさ。 まぁ,これまで述べたことの繰り返しになるけど
>>761 だから,選択機能を付けた上に,さらにデフォルトを CGI モードにした
(=イヤがる人には使ってもらわなくてもいいようにした)のだから,
それでもなお「重い,遅い」とかいうなら,「わざわざ JavaScript モードを
使って頂かなくても結構です」という返事をするまで,ってことです.
read.js スレの過去ログを見てもらえばわかると思いますが,
私も当初から「動的プログラムの実行は減っても html と dat 双方への
リクエストが発生するため,PATH_INFO 形式の URL を使う限りは
負荷軽減効果は微妙」とは思っていました.そのために
location.hash 形式の URL も使えるようにしたんですが,別の問題が
出てくるためデフォルトでは PATH_INFO 形式を使うようにしているんで.
もちろん,JavaScript モードは重いからイヤだという利用者もいることは認識していますが,
一方でハイパワーな PC を使っているなどで大して重さを感じないという利用者もいる,
そして従来の read.cgi より read.html の方が機能が多いので気に入って下さる利用者もいるようですし,
両方を利用できるようにした上で選択式にするのは利用者の便宜向上につながると考えています. 基本的にどのくらいのスペックがあればさくさく動かせるんですかね?
セレ2.8 メモリ512MBだとちょいおも位なんです 重い。
余計な機能は要らん。
鯖負荷軽減だけやってくれ。 >>763 重い / さくさくってのは主観に依存する部分も大きいと思うんで,一概には言えないかな......
ただ,私は Celeron 800MHz のノート PC 使ってて,read.cgi に比べれば確かにちょっと重いですが
イライラするほどってこともないです.まぁ,ブラウザにも依存しますかね.
例えばこのスレを各ブラウザで表示させてみると,なんか Opera の遅さが目立ってますが......
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
最新50 = 2.724秒, 全部 = 30.493秒
Mozilla/5.0 (X11; U; SunOS i86pc; ja; rv:1.9a2pre) Gecko/20070206 Minefield/3.0a2pre
最新50 = 2.244秒, 全部 = 26.222秒
Opera/9.10 (X11; SunOS i86pc; U; en)
最新50 = 7.324秒, 全部 = 53.164秒
>>765 確かに,Cookie のような感覚で使えるストレージ機構が JavaScript で利用できれば......
専ブラのような dat の差分取得を read.html で行ったらどうか,ってのも read.js スレの過去ログで
出ていた話なのですが,ブラウザが標準装備しているのとは別の独自のキャッシュ機構がないと
困難なんですよね.今の Cookie の仕様では,デカいデータを多数そのまま放り込むってのは無謀なんでしょうけど......
>>766 まぁそうかも知れませんね.2ch でやってる諸々のことは「業務」じゃないですし.
何がモチベーションになってるかといえば,「自分の技術的好奇心を満たす」ってのが正直なところですから.
それが利用者の嗜好に合致することもあれば,必ずしもそうでないこともあるでしょう.
ただ,個々の利用者の嗜好は様々ですから,全利用者の嗜好を同時に満たすってのは
ほぼ不可能だと思ってます.別に私に限らず,他の方が新機能実装などをした際にも
賛否両論渦巻くことも多々ありますから.
とはいえ,今回の read.html に関しては,切り替え可能にすることにより
嗜好の異なる利用者にも相応の配慮はしているのですけどね. じゃあ、あれだな。
ファイルを扱う技術仕様を策定してEcmaに提唱しれ。
そしてセキュリティホールを作ったと非難を浴びる人生万歳。 read.cちらっと読んでみたが、速度重視を謳ってるわりに、
str系大量に使ってるし、ループも大量に使ってるんだな・・・。 1000万くれたら、これのスピード15%はあげてみせるわ。 物が先だ。
物が出来たら、金は出ないが★ぐらいはもらえるかも なんでID、レスポップアップとかで余計な負荷増やすんだろうか
余計にコード量増やしてバカじゃないのだろうか >>774 それはクライアント側の処理ですね.少なくともサーバサイドの負荷には無関係です.
またクライアント側にしても,そもそもの重さの原因は「dat -> html 変換を
クライアント側で行う」という仕組み自体に起因しているものであり,
それらの機能がスレの描画時間に与える影響はほとんどないはずです.
実際,初期の read.js ではポップアップ等の機能もなく今よりシンプルなものでしたが,
特にデカい dat で描画に時間がかかる等の点ではほとんど違いはありませんでしたから. >>346
@ 恥肛母
B XXXXX(ファイブ・エックス)
C ぱすちゃC++ http://qb5.2ch.net/test/read.html/operate/1087199303/
倉庫のURLがリンクにならないんだが
ほかのブラウザでもそうなの?
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) >>779 ども.これはミスでした......ってことで修正しますた. AJAXでレス更新分の差分だけクライアントは取得すればいいんじゃね? ■不具合報告(?)その2
ニュース速報板+において。。。。
単発IDの識別も簡単だし、アンカーをクリックしなくても済むのは便利で助かります。
カーソルあわせるとIDの末端からそのスレッド内の投稿内容が表示されるのはいいのだが、
長文レスだと右端が切れてて読めないことがある。
ポップアップするのなら画面のど真ん中でお願いします。アンカーと同様に。
※もし、「あぼーん」されてたらどう表示されるのでしょうか?
同一IDのレスは全部見えなくなるか、削除された箇所のみ表示されなくなるのか…? あぼーんされたらIDもなくなるでしょ
専ブラと同じ >>784 ポップアップの位置変えますた.
あぼーんがあった場合は↓です.
>削除された箇所のみ表示されなくなる read.cgiで、Last-Modified(If-Modified-Since)を確認する負荷と
無更新時に省ける負荷の差し引きの結論は出ていないんだっけか?
前スレとかこのスレとか時折出てくる話だけども。 >>787
それは論争になってないと思う。
単に、そこまで緊急に負荷が問題になってるわけではないから放置されてるだけ。 ■ このスレッドは過去ログ倉庫に格納されています