Chalice for Vim Vol. ..
[2ch|▼Menu]
39:名無しさん@お腹いっぱい。
05/02/19 09:23:55 t2ZOg0No
"+"って何?
横から失礼。

40:名無しさん@お腹いっぱい。
05/02/19 11:30:33 SUrJ76OK
>>39
自動巡回

おれも初めて知ったのだが、数秒の間がないほうがいいと思った。

41:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/19 12:11:27 saeeryoU
>>38
> +で巡回中、暇なので別のvimで文を書いていたとします。
> すると、コマンドプロンプト起動の瞬間そっちにフォーカスを
なるほど。確かに一瞬フォーカスを持っていかれますね。ただしフォーカスは戻って
きてます。'shell'とかの設定の可能性もあるかもしれません。

> 持っていかれ、IMEで入力途中の文はひらがなのまま確定されて
それは使っているIMEの種類や設定で回避できるのではないでしょうか。XP付属のIME
Standard 2002で試した限りでは確定されませんでした。


>>40
> おれも初めて知ったのだが、数秒の間がないほうがいいと思った。
Chaliceのポリシーとして、2chのサーバーに負荷をかけないようにしています。正確
にはプログラムとして、自動的に2chへ連続アクセスして負荷をかけることを嫌った
のです。これについては変更することはありません。

本当に素早く巡回したいならばSpace連打したほうが遥かに効率的です。その際に発
生する2chへの負荷を許しているのは、それがプログラム的なものではなくユーザの
意思によるとみなしているからです。

42:40
05/02/19 12:16:28 SUrJ76OK
>Chaliceのポリシーとして、2chのサーバーに負荷をかけないようにしています。正確
>にはプログラムとして、自動的に2chへ連続アクセスして負荷をかけることを嫌った
>のです。これについては変更することはありません。
なるほど。納得しました

43:名無しさん@お腹いっぱい。
05/02/19 16:08:35 T+35GjRX
>>42
横から口出しスマソだが、それって意味あるのか?
回数を減らすとか、深夜帯にずらすとかなら解るが、
1つの端末から発生する負荷はシリアルなものなので、
時間を空けようが詰めようがサーバリソースには関係ない。
むしろ、HTTP1.1で1コネクション多数GETした方がいい。
どちらの形でもたいして負荷がかからないなら、人間を
待たせない方が良い。
人間は待たされると、中断しリトライするので鯖に余計な
負荷がかかる。

44:名無しさん@お腹いっぱい。
05/02/19 18:31:41 f06uqwlp
言いたいことはわかるが、この場合の待たせ方は
中断しリトライさせる種類のものではないと思われ

45:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/19 19:25:11 saeeryoU
>>43
2つの点を見過ごしています。

第一に、1つの端末がかける負荷ではなく、複数の端末がかける負荷の合計を問題に
しているのです。そのアクセス方法が、複数の端末によって同時に実行される可能性
を避けています。

第二に、この件について重視しているのは実効性(43さんの言う「意味」)ではなく、
ソフトウェアとしての立ち位置です。Chaliceユーザの数なんてたかが知れています
から、1つのソフトウェアがそうしたところで「2chの負荷が下がる」わけがないのは
明らかです。しかしだからと言って、短い時間で大量にアクセスを発生させる仕組み
を持ったソフトウェアにはしない、ということです。

「keep-aliveでマルチgetすれば」という案には少なからず納得する部分があります
が、Chalice(Vimスクリプト)という枠組みにとっては荷が勝ち過ぎです。

46:名無しさん@お腹いっぱい。
05/02/19 20:22:15 /CLco8so
>>41
ありがとうございます。
フォーカス持って行かれるのは仕様ってことでつね。

確定するかどうかは、入力先のアプリケーションにも依存するようです。
ちゃんと各アプリケーションで検証はしていませんが、フォーカスに
あわせて移動先のテキストボックスに入力中の文字列が付いて来る場合も
あれば、移動元で確定されるときもありますので。

そもそも確定どうこうより先に、フォーカスを持っていって欲しくない
わけですが、それはあきらめて暇なときにこつこつスペース巡回します。

47:名無しさん@Vim%Chalice
05/02/19 20:45:12 exLmBXLC
おじさんは、このスレを見ていました。
バッファロー【BBR-4HG/4MG 統合スレッド】 その5
スレリンク(hard板)

"DANGOpn1U2" というトリップの荒らしが気に入らないので、
ローカルあぼーんするために次の設定をしました。
let chalice_ngwords='DANGOpn1U2'

消えた。
「ローカルあぼーん」よくぞ作ってくれた。
Chalice サイコー!

48:名無しさん@お腹いっぱい。
05/02/19 20:45:37 8FsqGxBx
>>45
>第一に、1つの端末がかける負荷ではなく、複数の端末がかける負荷の合計を問題に
>しているのです。そのアクセス方法が、複数の端末によって同時に実行される可能性
>を避けています。
誤解されているようですが、多数の端末を前提とした上で書いています。
1つの端末がパラレルでアクセスをしないのであれば、2chでのアクセスパターンでは
sleep有り無しで鯖に対する多重度に違いはありません。
特定時刻にDLとか、他者の端末と同期制御をするなら別ですが。
むしろ規制システム(BBQサーバ等)でキャッシュに残っているので、sleep無しの方が
軽負荷です。

>第二に、この件について重視しているのは実効性(43さんの言う「意味」)ではなく、
>ソフトウェアとしての立ち位置です。Chaliceユーザの数なんてたかが知れています
>から、1つのソフトウェアがそうしたところで「2chの負荷が下がる」わけがないのは
>明らかです。しかしだからと言って、短い時間で大量にアクセスを発生させる仕組み
>を持ったソフトウェアにはしない、ということです。
残念ながら、仮に2chの全ユーザがChaliceを使用したとしても、負荷に違いはないで
しょう。
ご自分の信念を主張をされるのはとても良いことと思います。
ですが、意味のないものを褒めたたえ、逆の手法(他の大多数のSW)を言外に貶すのは
いかがなものかと思います。

>「keep-aliveでマルチgetすれば」という案には少なからず納得する部分があります
>が、Chalice(Vimスクリプト)という枠組みにとっては荷が勝ち過ぎです。
色々書きましたが、スクリプトで通信SWを作るのは単純にすごいと思っています。
是非、鯖の視点で開発を続けて頂けたらと願っております。



49:名無しさん@Vim%Chalice
05/02/19 20:48:43 exLmBXLC
やってもうた。
>>47 が「ローカルあぼーん」されてしまった _| ̄|○

chalice_ngwords の中身に気をつけて、
ちゃんと正規表現にしておきましょう。

50:名無しさん@Vim%Chalice
05/02/19 21:14:27 exLmBXLC
chalice_ngwords は、「生 DATに対して」の正規表現なんだね。
Chalice で見えている状態ではないんだね。

と、他の人も陥るかもしれない穴なのでカキコ。

51:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/19 22:34:29 saeeryoU
>>48
負荷をどのようなものとして定義しているかが、微妙に異なってる気がします。

> 1つの端末がパラレルでアクセスをしないのであれば、2chでのアクセスパターンでは
> sleep有り無しで鯖に対する多重度に違いはありません。
> 特定時刻にDLとか、他者の端末と同期制御をするなら別ですが。
> むしろ規制システム(BBQサーバ等)でキャッシュに残っているので、sleep無しの方が
> 軽負荷です。
そこのところもう少し詳細に書いてもらえませんか。鯖といってもどのレベルでの多
重度を言い、また転送量についてはどうなるか、といったあたりも一緒に考えてくだ
さい。

鯖側のCPU負荷、ディスクI/O負荷なんてものは、年々PCが高性能化低価格化していく
中で、ソフトウェアや構成による工夫もできますから、無いとはいえませんが実はそ
んなに気にしてません。Chaliceが育った背景において、焦点をあわせていた負荷の
問題は最終的に転送量です。単位時間当たりのアクセス回数が減れば、多少のオー
バーヘッドはあるかもしれませんが、一定期間中の総転送量が減るという寸法です。
# 何気にdeflateや差分取得に対応しているのも、単にスピードだけではなく、その
# あたりが動機としてあるわけです。

> 意味のないものを褒めたたえ、逆の手法(他の大多数のSW)を言外に貶すのは
> いかがなものかと思います。
Chaliceとしての在り方を述べたまでで、そのような意図を勝手に妄想され、しかも
それがまるで私の主張であるかのように書かれるのは非常に心外です。ここで否定さ
せていただきます。

52:名無しさん@お腹いっぱい。
05/02/20 00:45:56 6l/WJUr4
>>51
>問題は最終的に転送量です。単位時間当たりのアクセス回数が減れば、多少のオー
>バーヘッドはあるかもしれませんが、一定期間中の総転送量が減るという寸法です。
なぜ総転送量が減るのでしょう?
巡回に1minかかろうが5minかかろうが、1日の総転送量は変わりませんよね?
多重度の話は、HTTPセッション(すなわち入り口から全て)についてです。
自分の処理も伸びるのと同様に、他人の処理も伸びています。
すなわちある瞬間の接続数に変わりがないということです。
まぁ、鯖と接続している時間に(細切れになっているとは言え)変わりがないのですから、
当たり前の話です。

>Chaliceとしての在り方を述べたまでで、そのような意図を勝手に妄想され、しかも
>それがまるで私の主張であるかのように書かれるのは非常に心外です。ここで否定さ
>せていただきます。
少々過激な表現だったのは謝罪致します。
が、「他者のやり方は鯖に負担をかける。私は負担をかけない」と言っているのと
同じですよね?
もしこれが、皆が「なるほど!」と納得できるようなロジックであればなんら問題あり
ませんが、有効性が疑わしいものを主張されても(゚Д゚)ハァ?となるだけです。


53:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 01:52:13 zbkcXIE4
>>52
> 巡回に1minかかろうが5minかかろうが、1日の総転送量は変わりませんよね?
巡回をひたすら繰り返すという最悪のケースにおいて、ある期間(例えば1日)に可能
な巡回回数、アクセス回数の最大値が減ります。その例でも5分の1です。>>43ではそ
れが有効だと主張されませんでしたか?
> 回数を減らすとか、深夜帯にずらすとかなら解るが、
# IDが違ってるから43と同一の方だと断定はできませんが、万が一違っていたらご
# めんなさい。

> が、「他者のやり方は鯖に負担をかける。私は負担をかけない」と言っているのと
> 同じですよね?
誤解です。私は他所のソフトウェアについて、この一連の議論中、一切の評価・主張
をしていません。そもそも他者のやり方など知りませんから、それらについて
Chaliceと同じか違うかの検証さえできないし、まして評価もできません。

Chaliceの巡回については、Space連打を自動でやってくれるようなものを要望されま
したが、それをそのまま実装してしまうとGETを連発するという下品なアクセスに
なってしまうことが明らかでした。製作者としてChaliceにそのようなアクセスをさ
せることを許さない、そう主張しているだけです。

個人的に祭スレは大好きなのにも関わらず、特定スレの自動ウォッチ機能(r連打)を
実装をしていないのは、ほぼ同じ理由です。

# ただしChaliceを使っているユーザに対して、そのように使ってしまうことについ
# てまで禁止することはできません。私の主張に共感できないのであれば、制限を取
# り外してしまわれても、致し方の無いところです。

54:名無しさん@お腹いっぱい。
05/02/20 08:32:20 6l/WJUr4
>>53
>巡回をひたすら繰り返すという最悪のケースにおいて、ある期間(例えば1日)に可能
>な巡回回数、アクセス回数の最大値が減ります。その例でも5分の1です。>>43ではそ
>れが有効だと主張されませんでしたか?
回数を減らすのは有効な負荷削減の方法です。
もっともこの方法では、最大値こそ5分の1ですが有効な削減率としてはかなり低いで
しょう・・・。
他のSWにも連続アクセス制限を実装したものもいくつかあります。
一般的には単純なsleep等ではなく、過去のアクセス時間を記録し一定条件を満たさな
いと巡回できなくするものが大多数ですが・・・。
しかしながら、これは1つの端末がかける負荷を削減していますよね?
そしてそれを言い出したのも私です。

KoRoN@Vim%Chalice ◆8XALICEsdkさんは、>>45のレスで私の疑問に対して以下のように
回答されています。
>第一に、1つの端末がかける負荷ではなく、複数の端末がかける負荷の合計を問題に
>しているのです。そのアクセス方法が、複数の端末によって同時に実行される可能性
>を避けています。
私には、KoRoN@Vim%Chalice ◆8XALICEsdkさんの主張である
「1つの端末がかける負荷ではなく、複数の端末がかける負荷の合計」
について、なぜsleepが有効であるか理解できないのです。


55:名無しさん@お腹いっぱい。
05/02/20 09:25:09 LvEeRnpC
横から見てて思ったんだが、
まず「負荷削減」と「負荷分散」とを区別して欲しい。
もう一つ、その反義語であるところの、「負荷の合計」と「負荷の集中」とも
混同されてる気がする。

単一の端末において、sleepは負荷削減にはならないけど負荷分散は
できるってことなんだよね。
複数の端末の場合、sleepによって「複数の端末によって同時に
実行される可能性」は減る。それによって「負荷の集中」を避けられるが、
「負荷の合計」は変化してないんじゃないの?

56:名無しさん@お腹いっぱい。
05/02/20 10:49:17 DM4C0tPC
話が難しくて分からんのですが、結局sleepは外した方が良いということですか?

--- chalice.vim 2005-02-20 10:44:35.000000000 +0900
***************
*** 698,704 ****
          else
            if AL_hasflag(a:flags, 'semiauto')
              call s:EchoH('', s:msg_thread_nonewwait)
!             sleep 5
              continue
            else
              call s:EchoH('', s:msg_thread_nonewarticle)
--- 698,704 ----
          else
            if AL_hasflag(a:flags, 'semiauto')
              call s:EchoH('', s:msg_thread_nonewwait)
!             "sleep 5
              continue
            else
              call s:EchoH('', s:msg_thread_nonewarticle)

57:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 11:53:44 zbkcXIE4
>>54
> もっともこの方法では、最大値こそ5分の1ですが有効な削減率としてはかなり低いで
> しょう・・・。
5分の1となったのは、1minと5minという具体的な数値が>>52で挙げられたからです。
実際には回線の状態にもよりますが、10〜50倍の違いはあります。

> 「1つの端末がかける負荷ではなく、複数の端末がかける負荷の合計」
> について、なぜsleepが有効であるか理解できないのです。
前から言っている通り実際の使用では、一人二人が制限を外して自動巡回を一日中繰り
返したところでインパクトは全然ないでしょう。恐らくChaliceのユーザ数から考えて
も、全員が同じことをしてもほとんど影響は無いでしょう。

だからといって製作者がオリジナルコードでそうしてしまうと、世の中に存在する
Chalice全てが単位期間(例えば1日)に発生しうる総アクセス数、この文脈では転送量と
同義と捉えても、負荷と言ってしまってもいいと思いますが、それが最悪のケースを考
えるとやや多くなります。そこでウェイトを入れることで、1端末から単位時間あたり
にアクセスする回数を抑制することで、全体としての負荷の削減を狙う。これで納得で
きませんか?

58:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 12:02:28 zbkcXIE4
>>55
> まず「負荷削減」と「負荷分散」とを区別して欲しい。
微妙なところです。「負荷削減」の定義として時間という次元が考慮されないのであれ
ば、その定義はあまり有効ではなくなってしまうのではないでしょうか。つまり負荷を
考えるときに時間軸は外せない、ということです。

負荷を巡回1回あたりに対応するものとして捉えるならば、「制限しても負荷量は変わ
らん」というのは確かにその通りなんですが、負荷を考えるときには時間という次元を
外すわけには行きません。

> 実行される可能性」は減る。それによって「負荷の集中」を避けられるが、
> 「負荷の合計」は変化してないんじゃないの?
巡回1回に対応する負荷量は変化しません。が、一日あたりに巡回できる回数が減るの
で「『一日あたりの』負荷の合計」は…あとは上記>>57と同文です。


ユーザが快適だとしても、それにより全体に迷惑をかける状況がある程度以上の確信度
で想定されるのならば、Chaliceとしてそれを実装するわけにはいかない、というのが
製作者としてのスタンスです。Chaliceをご利用になる上ではそこのところご理解くだ
さい。
# 残念なことですが理解いただけず制限を外された場合については、それを私の制御下
# におくことはできません。


>>56
製作者としては外さないでください。とお願いすることしかできません。なおそのパッ
チが公式版に取り込まれることは決してないことを宣言しておきます。

59:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 12:19:11 zbkcXIE4
>>57
> 実際には回線の状態にもよりますが、10〜50倍の違いはあります。
:s/違いは/違いが/

> も、全員が同じことをしてもほとんど影響は無いでしょう。
当然、2chが処理している膨大なトラフィックを前提にすれば、です。

> にアクセスする回数を抑制することで、全体としての負荷の削減を狙う。これで納得で
:s/全体としての負荷/全Chaliceが単位時間当たりに発生させうる負荷の合計/

60:名無しさん@お腹いっぱい。
05/02/20 13:11:17 QJ9fMZ+3
自動巡回を一日中繰り返すようなレアな人のことを考えたり、
いわゆるひとつの万が一な最悪の状況を想定したり、
必要ない気もするけど、
まぁポリスーは理解できる。
だけど
1.負荷x5   1.負荷x5   ...

1.負荷     1.負荷     ...
2.負荷     2.負荷     ...
3.負荷     3.負荷     ...
4.負荷     4.負荷     ...
5.負荷     5.負荷     ...
になってもたいして変わらないと思えなくもない。
ちなみに私は自動巡回は使わない人なのでどうでもいいです。
Chalice便利ですね。

61:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 14:19:13 zbkcXIE4
>>60
> 自動巡回を一日中繰り返すようなレアな人のことを考えたり、
Chaliceを作ってた頃の自分は少なくとも20分に一回は巡回してたり(苦笑
2chジャンキーでしたから。ってそれは今もか? orz

> いわゆるひとつの万が一な最悪の状況を想定したり、
それを極力考えない富豪的アプローチっていうのもありますけど、世の中にはそうで
ない非常に慎重なソフトウェアってのもあるもんです。ある時点においてリソースに
は必ず限界がありますから、慎重にすることは決して無駄ではありません。

ちなみに富豪的アプローチ自体は、研究の段階では非常に有効かつ強力だと考えてま
す。実際楽だし。でも商品や製品、いわゆるパッケージにする段階ではちゃんと実情
に摺り寄せが必要ですね。なんてことを考えながら仕事してます。まさに今そこで苦
しんでいるわけですが。

> になってもたいして変わらないと思えなくもない。
>>58の前半を参照してください。

62:55
05/02/20 15:14:02 LvEeRnpC
私は、時間軸を考慮しなければ「負荷削減」と「負荷分散」とは
同義と捕らえてもいい(後回しにすれば刹那的には減っているように
見える)が、時間軸を考慮しないと意味がないので、区別して欲しい、
と言っているつもりです。
全体の負荷は変わらないから、分散すべしと言いたいのだと思って
いたのですが、そうじゃないようですね。

一日あたり、と時間を限定する意味がわからないです。
その場合単位時間は一日でも一分でも一月でもいいわけですよね。
そりゃもちろん、sleepが入っていることで負荷は時間軸方向に
分散され、「単位時間当たりの」負荷は減ります。
が、負荷の合計は結局変化していないと思うのですが。

>:s/全体としての負荷/全Chaliceが単位時間当たりに発生させうる負荷の合計/
むしろわからなくなったのですが、何を合計しているのでしょう。
各Chaliceが単位時間当たりに発生させる負荷を合計する?

63:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 18:20:27 zbkcXIE4
>>62
> その場合単位時間は一日でも一分でも一月でもいいわけですよね。
> そりゃもちろん、sleepが入っていることで負荷は時間軸方向に
> 分散され、「単位時間当たりの」負荷は減ります。
> が、負荷の合計は結局変化していないと思うのですが。
もちろん単位時間はどう設定しても構いません。1日としたのはわかりやすさのた
め。常に単位時間における負荷を論じようとしているのは、例えばサーバのレンタル
料金にしても、転送量にともなう課金にしても、それらは単位時間ごとに発生してい
るからです。あとは>>58の第2パラグラフ参照。

> 各Chaliceが単位時間当たりに発生させる負荷を合計する?
そういうことです。総体としてのChaliceが発生させうる「単位時間当たりの」負荷。

64:名無しさん@お腹いっぱい。
05/02/20 20:01:13 LvEeRnpC
>>63
1日に引っかかったのは、単位時間を設定することそのものの意義に疑問が
あったためです。どんな単位時間でも区切る意味はなくて、転送量の総量が
全てだと考えているのですが。

あと、負荷と課金とは関係ないので論ずるのはやめましょう。

>負荷を巡回1回あたりに対応するものとして捉えるならば、「制限しても負荷量は変わ
>らん」というのは確かにその通りなんですが、負荷を考えるときには時間という次元を
>外すわけには行きません。
えぇ、>>62で書いた通り、最初から時間を考慮した場合の話をしています。

65:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 21:13:36 zbkcXIE4
>>64
> あったためです。どんな単位時間でも区切る意味はなくて、転送量の総量が
> 全てだと考えているのですが。
>
> あと、負荷と課金とは関係ないので論ずるのはやめましょう。
いいえ。そうはいきません。そもそも私の目的は「自動巡回時に何故ウェイトが入っ
ているか」の説明です。もしもサーバにアクセスした結果、サーバ運営者にまったく
の費用負担が生じないとか、アクセスした本人に(サーバ運営にかかる)負担が生じて
いるのであれば、そんなウェイトは存在しなかったでしょう。

なので純粋に自動巡回だけにフォーカスして、その処理速度を速くする(負荷を減ら
す)方法を論じる、なんていうことは眼中にありません。そういうのはもっとちゃん
としたブラウザにお任せします。

66:名無しさん@お腹いっぱい。
05/02/20 21:34:53 6l/WJUr4
いつの間にかレスがたくさんついていますね。

時間軸方向に負荷を分散させようとしていらっしゃるのだと思いますが、
前に私が発言した「2chのアクセスパターン」を考えて頂きたい。
時間軸における負荷の分散とは、ある瞬間における鯖にかかるアクセスの
多重度を下げることです。
時間軸での負荷分散は、ピーク時間帯のアクセスを暇な時間帯に移すことで
実現します。

無秩序に発生するアクセスの多重度が、高々数秒のsleepによって下がりますか?

>>57
>5分の1となったのは、1minと5minという具体的な数値が>>52で挙げられたからです。
>実際には回線の状態にもよりますが、10〜50倍の違いはあります。
10〜50倍の根拠を示してください。
もう一度言いますが、人間は24時間繰り返すようなことはしないので上記の例では
max5倍です。
朝昼晩と1日3回巡回する人がいたとして、負荷に違いがありますか?

>> 「1つの端末がかける負荷ではなく、複数の端末がかける負荷の合計」
>> について、なぜsleepが有効であるか理解できないのです。
>だからといって製作者がオリジナルコードでそうしてしまうと、世の中に存在する
>Chalice全てが単位期間(例えば1日)に発生しうる総アクセス数、この文脈では転送量と
>同義と捉えても、負荷と言ってしまってもいいと思いますが、それが最悪のケースを考
>えるとやや多くなります。そこでウェイトを入れることで、1端末から単位時間あたり
>にアクセスする回数を抑制することで、全体としての負荷の削減を狙う。これで納得で
>きませんか?
理解できません。
それは「1つの端末がかける負荷の削減」です。
説明になっていません。


67:名無しさん@お腹いっぱい。
05/02/20 21:46:25 QxQbvFxO
もう無視した方がいいんじゃね?
まだ続けるつもりならID:6l/WJUr4は本日中にトリップ付けるように。


68:名無しさん@お腹いっぱい。
05/02/20 21:52:49 6l/WJUr4
>>55
>単一の端末において、sleepは負荷削減にはならないけど負荷分散は
>できるってことなんだよね。
残念ながら、負荷分散になっていません。
負荷分散とはピークを避けることです。
5秒で2chは変わりません。

>複数の端末の場合、sleepによって「複数の端末によって同時に
>実行される可能性」は減る。それによって「負荷の集中」を避けられるが、
これも違います。
例えるなら以下のような状況です。

30人のグループがA〜E(計150人)まであります。
それぞれ自分の車で高速道路を移動し、ゲートが5個ある料金所を抜けるとします。

この状況下で、各グループ内でメンバーが数珠繋ぎに抜けるのと、メンバー間に
他のグループの車4台を入れるのとで、料金所のおじさんの負荷は変わりますか?

ここでは
 車=1スレ取得
 1グループ=巡回(つまり1巡回30スレ)
 料金所=2ch
 料金所のおじさん=サーバの中の人=httpd等

時間軸における負荷の分散とは、ピークの回避です。

>「負荷の合計」は変化してないんじゃないの?
その通りです。


69:名無しさん@お腹いっぱい。
05/02/20 21:57:13 6l/WJUr4
>>61
>> 自動巡回を一日中繰り返すようなレアな人のことを考えたり、
>Chaliceを作ってた頃の自分は少なくとも20分に一回は巡回してたり(苦笑
20分っていうのは他人の書き込み待ちですよね。
つまり・・・
 巡回所要時間=1分の場合
   巡回1分+19分のアイドルタイム
 巡回所要時間=5分の場合
   巡回5分+15分のアイドルタイム
何も変わらないと思います。


70:名無しさん@お腹いっぱい。
05/02/20 22:06:41 6l/WJUr4
>>65
>なので純粋に自動巡回だけにフォーカスして、その処理速度を速くする(負荷を減ら
>す)方法を論じる、なんていうことは眼中にありません。そういうのはもっとちゃん
>としたブラウザにお任せします。
負荷の削減にはいろいろな方法があります。
代表的なものは負荷の分散(ピークの分散=1端末の負荷は変わらない)と
トランザクションの削減(1端末の負荷を下げる)です。
Chaliceのやり方は、トランザクションの削減です。
負荷の分散と混同してはいけません。
そして、トランザクション削減の為にアクセス規制をする場合には、一般的に
sleepではなく、前回アクセス時間を管理します。
なぜなら・・・sleepは人間も機械もただ待っているだけなのですよ?


71:名無しさん@お腹いっぱい。
05/02/20 22:19:02 QJ9fMZ+3
>>67
えーーー、おもしろいからもっとやって欲しいのに
そして最終的にどこぞの板から詳しい人呼んできてどっちが正しいか判定してもらうの
だけどちゅーとはんぱな人が集まっちゃって、そこで祭に発展ですよ

72:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 22:25:58 zbkcXIE4
>>69
決定的に論点がズレています。

私がウェイトによって減らされると考えている負荷は、料金所のおじさんの負荷では
ありません。そこを車が通過することで劣化する高速道路のほうで、その修繕費の負
荷です。たとえば100台車が通るたびに100万円の修繕費がかかるような道路(そんな
道路は嫌ですが、湾岸とか走っているとあながち笑えない)で、月あたり(単位時間)
の修繕費を安くするには、単純に通る車の数を減らすことです。
# もちろん実際の道路はそう単純ではありませんが。

道路であれば、通勤の往復で2回通るというのがアクセスパターンに当たるでしょう
が、そのような普通の人のことを考えているわけではありません。その道路を何往復
もするような走り屋さん達の存在を規制するという考え方です。規制の方法は、1日
にその道路を走れる回数の上限を直接設定する方法が考えられますが、Chalice的に
は一度通った後一定の時間は通れないようにすることで、間接的に上限を設定してい
るのです。

66さんは、その道路の瞬間的な通行量を減らすことを考えているようです。私が考え
ているのは一定の期間を区切った総通行量です。

あとは落穂ひろい。

> 10〜50倍の根拠を示してください。
ウェイトをはずした場合、Chaliceは5秒の間にで10スレ〜50スレ程度の更新チェック
ができるということです。

> 理解できません。
> それは「1つの端末がかける負荷の削減」です。
上記、通行量の捉え方の違いを、もう一度よく考えてください。

ちなみに私、自動巡回はしないで、スペース連打です。

73: ◆t8Jnd/PNuU
05/02/20 22:27:22 6l/WJUr4
>>67
スレ汚しスマソ(´・ω・`)
負荷削減に絶対の自信を持っておられたようなので、どのような仕組みか
興味があったのですが、精神的な抑止効果であることが解りましたので
私からの発言はもうしません。

でも恐らく異論反論お在りだと思いますので、私宛に書き込みがあれば
レスつけさせて頂きます。
トリップつけましたので不快に思われている方は、ローカルあぼーんを
お願いします。
数日で消えますので、ご容赦ください。


74:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 22:33:25 zbkcXIE4
>>72
> 66さんは、その道路の瞬間的な通行量を減らすことを考えているようです。私が考え
> ているのは一定の期間を区切った総通行量です。
私が「Chaliceのウェイトで削減できると」考えているのは、です。

>>70
トランザクション、まさにそうですよね。ただサーバ毎の前回アクセス時間ではなく、
Chaliceとしての前回アクセス時間によって管理している。

> なぜなら・・・sleepは人間も機械もただ待っているだけなのですよ?
それが非効率だと思うならば自動巡回は使わないでください。そうしてもらうための
ウェイトによる制限でもありますから。

75: ◆t8Jnd/PNuU
05/02/20 22:53:17 6l/WJUr4
>>72
>決定的に論点がズレています。
論点がずれているのはとっくに把握しています。
KoRoN@Vim%Chalice ◆8XALICEsdkさんが1端末の負荷削減と負荷分散を混同して
おられたので、両方の回答をしているだけです。
都合の悪いことには満足にご回答頂けないようですが、もう一度聞きます。
以下についてご回答ください。

KoRoN@Vim%Chalice ◆8XALICEsdkさんの主張では、走り屋が走るのを減らすことが
1端末あたりの負荷削減ではないとのことですが(下記参照)、1端末の負荷を
削減しない(=走り屋が走る回数を変えない)状況でどのように負荷を下げて
いらっしゃるのですか?

>KoRoN@Vim%Chalice ◆8XALICEsdkさんは、>>45のレスで私の疑問に対して以下のように
>回答されています。
>>第一に、1つの端末がかける負荷ではなく、複数の端末がかける負荷の合計を問題に
>>しているのです。そのアクセス方法が、複数の端末によって同時に実行される可能性
>>を避けています。

>> 10〜50倍の根拠を示してください。
>ウェイトをはずした場合、Chaliceは5秒の間にで10スレ〜50スレ程度の更新チェック
>ができるということです。
そのことに意味がありますか?

>> 理解できません。
>> それは「1つの端末がかける負荷の削減」です。
>上記、通行量の捉え方の違いを、もう一度よく考えてください。
それを言うなら、通行量の捉え方ではなく負荷の定義が違うと書くべきです。
そして、私が問題視しているのは「1端末の負荷削減ではない」という発言についてです。
一度きちんとパフォーマンス分析、トラフィック分析、負荷分散について勉強されることを
お勧めします。


76:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 23:12:57 zbkcXIE4
>>75
> KoRoN@Vim%Chalice ◆8XALICEsdkさんの主張では、走り屋が走るのを減らすことが
> 1端末あたりの負荷削減ではないとのことですが(下記参照)、1端末の負荷を
> 削減しない(=走り屋が走る回数を変えない)状況でどのように負荷を下げて
> いらっしゃるのですか?
その人として走る場合(Spc連打)には、それを減らすことはしていないだけです。逆
にプログラムとして自動的に走ろうとした場合(+)には、sleepを設定することで間接
的に回数を削減(というより制限)しています。

> そのことに意味がありますか?
どういう意味を求めているのですか?

> >> 理解できません。
> >> それは「1つの端末がかける負荷の削減」です。
> >上記、通行量の捉え方の違いを、もう一度よく考えてください。
> それを言うなら、通行量の捉え方ではなく負荷の定義が違うと書くべきです。
既に>>51で書いています。通行量の捉え方と書いたのは、t8Jnd/PNuUさんが料金所の
話を持ち出したから、です。

> そして、私が問題視しているのは「1端末の負荷削減ではない」という発言についてです。
> 一度きちんとパフォーマンス分析、トラフィック分析、負荷分散について勉強されることを
> お勧めします。
「Chaliceがウェイトを外したからと言って、ユーザが少ないのだから負荷はたいし
て増えない」という反論に対する予防線と捉えてください。

(続く)

77:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 23:15:32 zbkcXIE4
>>73
> 負荷削減に絶対の自信を持っておられたようなので、どのような仕組みか
> 興味があったのですが、精神的な抑止効果であることが解りましたので
「負荷削減一般に対する策」とは一度たりとも言ってません。「Chaliceとして提供
しうる負荷削減策」という意味でなら自信をもっています。より正確に言うならば
「Chaliceという表現に『埋め込まれた』、負荷削減(負荷増大の防止)という思想・
指向」と「現状の実装」に自信を持っています。

どうもt8Jnd/PNuUさんはその手の専門家でいらっしゃるようですね。私としてはその
「現状の実装に対する自信」を打ち砕いてくれるのであれば、大歓迎です。是非パッ
チを書いて打ち砕いてやってください。逆に、前者については打ち砕くことはこの場
では恐らく不可能です。

>>43における要求は、「現状の実装」を取り外すこととみなせます。代案の実装があ
ればは大歓迎ですが、それが無い状況で外せと要求されても、それは前者の「思想・
指向」の削除と同意であるため到底受け入れられない、ということです。

78:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 23:18:47 zbkcXIE4
>>76
> その人として走る場合(Spc連打)には、それを減らすことはしていないだけです。逆
> にプログラムとして自動的に走ろうとした場合(+)には、sleepを設定することで間接
私がSpcを連打する(実際そうしている)ことと、Spcを連打と同じ操作をするプログラ
ムを配布することでは、意味合いや責任の大きさがまったく違うという思想が元に
なっています。

79:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/20 23:35:51 zbkcXIE4
>>77
> 「現状の実装に対する自信」を打ち砕いてくれるのであれば、大歓迎です。是非パッ
> チを書いて打ち砕いてやってください。逆に、前者については打ち砕くことはこの場
現状の使い勝手は可能な限り変えない方向だと嬉しいですねぇ。
# 特にSpc連打。

80:名無しさん@お腹いっぱい。
05/02/21 00:22:12 uNF3asf5
自動巡回って始めて使って見たけど、リストを一回なめて終わりじゃないんだね
新着が見つかるまで延々とリストを繰り返しチェックしつづける
これならウェイト付きでいいと思う
てっきりリストを一回なめて終わりだと思ってたよ
そうならウェイトないほうがいいよね
っていうかそういうのが欲しい

81:64 ◆ykxf8q2QCM
05/02/21 00:44:22 TX2oWOPu
わしもトリップつけます。
>>65
負荷(ピークロード)が減っても、総転送量が減らなければ、課金は
減りませんよね。
そもそも課金を切り離せないといいつつ、今まで負荷の話だけしていて、
突然思い出したかのように課金の話を持ち出されても困ります。

しかも、トラフィックに対する課金は一般的に95パーセンタイル
されるので、同じ総転送量であれば、トラフィックが均一に分散して
いるよりも、時間の短いピークトラフィックが高い方が課金は
安くなってしまいます。

あと、わたしは今まで自動巡回の処理速度を速くするなんてことを
論じたつもりはありません。
わたしにも定義に勘違いがあったようですが、負荷の低減と分散の
定義が納得できなかったので、確認したかったのです。

82: ◆.ePYOQ4sjo
05/02/21 00:49:48 AWKMOFKX
祈念パピコ

83:名無しさん@お腹いっぱい。
05/02/21 00:51:55 tQ+UNIwX
>>82
ID が AWK で全部大文字だね。

84:名無しさん@お腹いっぱい。
05/02/21 00:56:47 DwkxXI+f
>>80 そんな機能があったのかぁ。
sleepする/しないとうより自動巡回という機能自体が
首都高周回行為を助長する邪悪機能とおもうので
無くすべきじゃないかなぁ。


85:64 ◆ykxf8q2QCM
05/02/21 01:14:48 TX2oWOPu
>>68
>この状況下で、各グループ内でメンバーが数珠繋ぎに抜けるのと、メンバー間に
>他のグループの車4台を入れるのとで、料金所のおじさんの負荷は変わりますか?
あ、大きな勘違いしてました。
最近待ち行列の計算できないので例えのままにしますけど、
1.グループ内の車間距離がなければ、グループごとに一つのゲートを
 使い、台数(30)分の処理時間がかかる。
2.各グループ内の車間が空いていて、かつグループごとに1車身ずれて
 到着したとする。
 前の車が処理待ちだった場合、隣のグループに車間が空いていたら、
 そこに埋まる。結果、車間はおじさんが処理している間に埋められ、
 負荷は変わらない。
ということでしょうか。
この場合、車間距離が処理時間以上に空いていれば(clientのwait時間を、
httpdの処理時間が十分下回っていれば)、グループ内で前の車がゲートを
でてから次の車が到着するので、おじさんの手が空いている時間ができ、
ピークは時間軸方向に分散できているのでは。
まだ勘違いしていますかね…。

わたしの勘違いは、ゲートではなく道路で考えていたことです。
車間をあけて走っていれば、任意の瞬間に道路上に存在している車の
台数は減っていますから、総通行量は変わらないけど分散できていると
思っていましたが、httpdが処理しているのを忘れていました。

86: ◆t8Jnd/PNuU
05/02/21 01:18:46 l2uBXJDN
>>76
>> KoRoN@Vim%Chalice ◆8XALICEsdkさんの主張では、走り屋が走るのを減らすことが
>> 1端末あたりの負荷削減ではないとのことですが(下記参照)、1端末の負荷を
>> 削減しない(=走り屋が走る回数を変えない)状況でどのように負荷を下げて
>> いらっしゃるのですか?
>その人として走る場合(Spc連打)には、それを減らすことはしていないだけです。逆
>にプログラムとして自動的に走ろうとした場合(+)には、sleepを設定することで間接
>的に回数を削減(というより制限)しています。
えーと・・・、にほんごわかりますか?
それともようごがむずかしかったですか?
「1たんまつのふか」っていみわかりますか?


87:名無しさん@お腹いっぱい。
05/02/21 01:21:08 AWKMOFKX
>>84
スペース押しっぱにするとキーリピートがかかって
逆に余計に読み込んでしまうから付けたつー部分もあるのですぅ。

しかしtripよりIDの方がカッコ良くて髭

88: ◆t8Jnd/PNuU
05/02/21 01:23:01 l2uBXJDN
>>84
>>80 そんな機能があったのかぁ。
>sleepする/しないとうより自動巡回という機能自体が
>首都高周回行為を助長する邪悪機能とおもうので
>無くすべきじゃないかなぁ。
なんというか・・・ここの作者さんは、言っていることとやっていることが
食い違っていますね・・・。


89: ◆t8Jnd/PNuU
05/02/21 01:36:16 l2uBXJDN
>>77
>「Chaliceという表現に『埋め込まれた』、負荷削減(負荷増大の防止)という思想・
>指向」と「現状の実装」に自信を持っています。
こんな機能をつけておいて、ですか?
>自動巡回って始めて使って見たけど、リストを一回なめて終わりじゃないんだね
>新着が見つかるまで延々とリストを繰り返しチェックしつづける
これ、新着なかったらすっごく鯖に負荷かけるんですが・・・。

>どうもt8Jnd/PNuUさんはその手の専門家でいらっしゃるようですね。私としてはその
>「現状の実装に対する自信」を打ち砕いてくれるのであれば、大歓迎です。是非パッ
>チを書いて打ち砕いてやってください。逆に、前者については打ち砕くことはこの場
>では恐らく不可能です。
なんというか・・・がんばれ!・・・と、思ってしまいました。
とりあえず議論のすり替えは不要です。
それと胸を張るのは、ちゃんと自分のロジックを説明し共感を得てからにしてください。
用語の使い方の間違いを指摘されているようでは、もっと努力が必要ですよ?

>>43における要求は、「現状の実装」を取り外すこととみなせます。代案の実装があ
>>43は「ようきゅう」じゃなくて「ぎもん」ですよ?


90:名無しさん@お腹いっぱい。
05/02/21 02:23:14 uNF3asf5
単なる説明べたなだけじゃないかな

例題1:
今、スレの栞を自動巡回するとする。
自動巡回とはスレの栞に登録しているスレを、新着レスが見つかるまで
順番に更新チェックする機能である。
スレの栞に登録しているスレの数はとりあえず関係ないので無視する。
ここで、仮に1時間後に新着レスが見つかると仮定すると。

1.ウェイトを5秒かけた場合
  3600秒(一時間) / 5秒 * 1回 = 720アクセス

2.ウェイトをかけない場合
(5秒で10から50回のアクセスが発生するらしいので、ここでは仮に
5秒で50回のアクセスが発生するものとする。つまり1秒で10回のアクセス)
  3600秒(一時間) * 10回 = 36000アクセス

(1)と(2)により、この例では、
5秒のウェイトをかけた場合には、ウェイトをかけない場合よりも、
一時間あたり35280回のアクセス(一端末の負荷)を抑えられることが分かる。
すなわち一時間あたりの(全ての端末の)負荷の合計を抑えられるということである。
そして、ウェイトを5秒かけた場合に(2)と同じだけアクセスしようとした場合、
50時間を必要とする。言いかえると1時間かかる処理を50時間かけてするようにしている
のでこれはすなわち負荷の分散をしているのである(?)。

91:おじさん@Vim%Chalice
05/02/21 02:37:24 tQ+UNIwX
>>80
> 自動巡回って始めて使って見たけど、リストを一回なめて終わりじゃないんだね

マニュアルを読もう。
chalice_cruise_endmark
を調べてごらん。
ソースも見てごらん、終了処理の判定部分。

これが、リストを一回なめて終わりにするための仕組み。
これでイイのだ。 Chalice サイコー!

92:おじさん@Vim%Chalice
05/02/21 02:48:47 tQ+UNIwX
>>84
> >>80 そんな機能があったのかぁ。
マニュアル読んでから発言しようよ。
それとも最近できた機能なのかな???
そうだったら仕方がないけどさ。

> sleepする/しないとうより自動巡回という機能自体が
> 首都高周回行為を助長する邪悪機能とおもうので
> 無くすべきじゃないかなぁ。
エー、おじさん困る。
短時間に、何度も巡回させるつもりは無いんだよ。

Chalice サイコー!

93:名無しさん@お腹いっぱい。
05/02/21 03:08:23 uNF3asf5
>>91
正直すまんかった。
でもそれって意味あるのかなぁ。
自動巡回はバックグラウンドで自動的に更新チェックをさせる、っていう用途でしょ。
そのためにウェイトかけてるわけだし。
おれみたいに気が向いたときにお気に入りスレの新着レスをチェックする、っていう
用途だと、ウェイトが邪魔で激しく使い物にならない。

94:名無しさん@お腹いっぱい。
05/02/21 03:21:02 i/t4PAtH
t8Jnd/PNuUは自動巡回の機能がどういうものかも知らずに
妄想で「負荷は変わらない」って言ってたわけだ。

自動巡回なら、負荷を下げるために間隔をあけるのはあたりまえ。

こんどは「自動巡回そのものが悪だ」とか筋違いなこと言ってるし。
もう、あほかと。

95:名無しさん@お腹いっぱい。
05/02/21 03:41:06 DwkxXI+f
>>92
マニュアルはman じゃ無くてdocにあるやつでいいのかな。
正直、最近使い始めたので知りませんでした。

chalice_cruise_endmarkを見つけたらそこで終わり、
見つからなくても1回なめて終わるなら「邪悪」は撤回します。

96:名無しさん@お腹いっぱい。
05/02/21 05:26:42 6yP6wsZu
スクリプト読んでて、ほのかな疑問が。
ChaliceではHTTPヘッダのIf-Modified-Sinceって使ってますか?
304 HTTP_NOT_MODIFIEDをチェックしている部分は見つかったんですが、
cURLのオプションでヘッダにIf-Modified-Sinceを設定している部分が
見あたらなかったので。

97:名無しさん@お腹いっぱい。
05/02/21 07:52:17 R4G9aOsZ
>>94
>t8Jnd/PNuUは自動巡回の機能がどういうものかも知らずに
>妄想で「負荷は変わらない」って言ってたわけだ。

そうは読みとれないな。
#自分はt8Jnd/PNuU氏ではないよ。念のため。

98: ◆t8Jnd/PNuU
05/02/21 07:54:07 l2uBXJDN
とりあえず自演乙です。

だから「疑問」だと何回も言っているでしょ?
説明を求めたら「1端末あたりの負荷軽減ではない」との事。
じゃあ、あなたのやっている事はなんなのさ?とね。
世間一般ではそれを「1端末あたりの負荷軽減」て言うんですよ。

それと自動巡回機能は悪ですよ。
5sec sleepなんかでは足りません。
メールの自動取得(自動巡回)機能でもそうですが、秒単位のwaitでは
鯖に高負荷がかかります。

2chのようにユーザ数に比べてhttpdの数が圧倒的に少ないシステムで
1つのhttpdをほとんど占有するのは悪です。

こういう機能は2chブラウザの開発者は付けないものです。
なぜならhttpdを占有してしまうことが解るから。
もし解っていなかったのであれば・・・あまりにも御粗末です。

とはいえ、こんな機能が付いていたとは思いも付きませんでした。
スレよごしスマソ。
私の技術的好奇心をまったく満たさないものであることが解りましたので
もう消えます。


99: ◆t8Jnd/PNuU
05/02/21 07:56:58 l2uBXJDN
>>97
>#自分はt8Jnd/PNuU氏ではないよ。念のため。
>>98
>とりあえず自演乙です。
うぉ!時間が近くなって私が自演しているみたいですが、別の方ですよ。




100:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/21 11:26:41 P+0QiLxs
>>96
> ChaliceではHTTPヘッダのIf-Modified-Sinceって使ってますか?
過去には使ってたのですが、あぼーん頻発対策のために止めました。更新チェック+
あぼーんチェックという2回のHTTPリクエストが必要になって、だったら1回のHTTPリ
クエストのほうが良いだろう、ということです。

101:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/21 11:50:52 P+0QiLxs
>>89
> なんというか・・・がんばれ!・・・と、思ってしまいました。
> とりあえず議論のすり替えは不要です。
その書き方は相手を「貶める形」での、すり替えですよね。

> 用語の使い方の間違いを指摘されているようでは、もっと努力が必要ですよ?
問題ありません。間違っていけないということは、まったくもってありませんから。

> >>43は「ようきゅう」じゃなくて「ぎもん」ですよ?
だとすれば、その疑問については一度答えています。それについてわからないと食い
ついてきたのはt8Jnd/PNuUさんのほうです。1対nで対応している私から見れば、43と
その後の一連のリアクションは、直前の文脈を含めて、sleepを外させるための工
作・援護にしか見えません。

102:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/21 11:55:51 P+0QiLxs
Chaliceについては説明責任がありますのでお答えしておきます。使っていないこと
からもわかるかもしれませんが、自動巡回機能は私の本意とするところではありませ
ん。しかしユーザさんからのパッチもあり、パッチを作っていただくという労力に対
して、取り込む形での妥協をしそれに応えたいと思いました。

取り込む際にいただいたパッチにはウェイトもなく、ひたすらGETを繰り返すもので
したので、そのようなプログラムを配布することはできないと判断し、ウェイトを
(確かendmarkも)追加したのです。パッチの作者さんにも納得していただけたような
ので、それで取り込みについては確定です。

現在、ウェイトの存在について質問を受ければ説明責任から「サーバーの負荷削減の
ためです」と答えています。誰にでも納得していただきやすいからです。

43とその後の一連の主張が「sleepの削除」でないとしたら、「負荷削減」という説
明のしかたが気に食わない、としか読めません。そういうことではないのでしょう
か? だとすればより良い、しかも専門用語を知らない人にもわかる程度の言葉で、代
わりの説明方法を考えていただきたいものです。

そうではなくて自動巡回機能自体を外せということでしたら、私個人としては削除す
ることに問題はないのですが、既にご利用いただいているユーザさんが納得できるよ
う、わかりやすくその理由を説明していただきたいのです。

# 自動巡回の組み込みの経過はVol2の最後近辺で見られます。

103:KoRoN@Vim%Chalice ◆8XALICEsdk
05/02/21 12:26:12 P+0QiLxs
>>101
> > 用語の使い方の間違いを指摘されているようでは、もっと努力が必要ですよ?
> 問題ありません。間違っていけないということは、まったくもってありませんから。
使った私が恥をかくだけですから問題はない、ということです。むしろどんどん指摘
してもらった方が良いでしょう。その際なるべく一般の人(といってもChaliceについ
てはVimを使うようなくらいの閾値で良いと思う)がわかる言葉で指摘してもらったほ
うが、効果的で有用です。

104:96
05/02/21 12:42:17 6yP6wsZu
>>100
> 更新チェック+あぼーんチェックという2回のHTTPリクエストが必要になって、
えーと、間違ってたら指摘して頂きたいのですけれど・・・。

現状ではあぼーんチェック(兼更新チェック)として、
ローカルdatとの差分を取得(最後の部分を重複するように)しています。
このときの取得の際にIf-Modified-Sinceをつけてはどうでしょうか? こうした場合、
1. スレッドに更新またはあぼーんがなかった場合
 HTTPステータスコード304。レスポンスボディはなし。
2. スレッドに書き込みがあった場合
 2-1. HTTPステータスコード206。レスポンスボディは前回との(一部重なった)差分。
 2-2. HTTPステータスコード200(サーバが部分的GETに対応していない)。レスポンスボディは全範囲。
3. スレッドにあぼーんがあった場合(無効な範囲を指定)
 3-1. HTTPステータスコード416。レスポンスボディはなし。
 3-2. HTTPステータスコード200(サーバが(ry )。レスポンスボディは全範囲。
# 実際のところ、2-2と3-2は考えにくいですが。
と1回のリクエストで実現できるように思われます。

いかがでしょうか。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4734日前に更新/243 KB
担当:undef