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

プログラマが2chを救う!?2

264 :  :01/08/27 13:32 ID:xheJAhZs
コレもガイシュツかな?
mail欄をやめて上げ下げ専用のチェックにすれば
mail欄分、削れるのでは?

どーせメール欄とかメールリンクなんて役にたってないんだしさ。
<a href="mailto:sage "></a>この部分が減るだけでもそこそこ効果あるかと。

さげなら名前を斜体にするとか。

265 :元Winプログラマ :01/08/27 13:41 ID:mLq02ntM
メール欄わりと使われてますよ
ねたバレをメール欄に書いておいて知りたい人だけ読むようにするとか

266 :Sherry ◆RKMbxbuc :01/08/27 13:53 ID:P7yLS.2Q
新しいリンク方法を提案します.
これなら,かなりリンクの消費バイト数を減らせると思うのですが,いかがでしょ?

基本的に,数字は62進数になおします.
これで,3843 記事目までは2桁で表記できます.

スレ全体の指定は
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501
http://piza2.2ch.net/read.cgi/tech/998845501/

のように,PATH_INFO を使用するようにします.
こうすると,BASE指定などしなくても,記事番号だけでリンクが張れます.
記事番号の指定は以下のような感じで・・・

記事番号を指定する場合
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=4&to=4&nofirst=true
http://piza2.2ch.net/read.cgi/tech/998845501/4
記事番号だけを書く.
リンクは,a href=4 で張れる.

記事番号を範囲で指定する場合
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=4&to=6&nofirst=true
http://piza2.2ch.net/read.cgi/tech/998845501/4.6
開始と終了を . で区切る.

最新n記事は,
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&ls=50
http://piza2.2ch.net/read.cgi/tech/998845501/-o
-50 のように指定.

index2.htmlなどから,一定範囲を表示し,nofirst=false にあたる場合は,
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&to=100
http://piza2.2ch.net/read.cgi/tech/998845501/,1c

http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=101&to=200
http://piza2.2ch.net/read.cgi/tech/998845501/1d,3e

このように , で区切る.
0 の場合は省略可能.

267 :Sherry ◆RKMbxbuc :01/08/27 13:53 ID:P7yLS.2Q
bbs.cgi対応も必要ですが,以前の方式と新しい方式両方をサポートするようにしていて,
旧形式でリクエストが来たら新方式にLocationで飛ばすようにすれば,
read.cgi側だけで強引に対応できると思います.

a href=read.cgi?bbs=tech&key=998845501&st=4&to=4&nofirst=true
から
a href=4
なので,そのくらいしても削減したほうがよいのではないかと.

268 :デフォルトの名無しさん :01/08/27 13:53 ID:IDmmApXc
無限ちゃんねるへようこそ
http://pesuo.hypermart.net/kkk/index2.html

269 :Sherry ◆RKMbxbuc :01/08/27 13:54 ID:P7yLS.2Q
最後に,10進数<->62進数変換のソース.


#include <stdio.h>
#include <stdlib.h>

#define CHARLIST "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
#define CHARLEN 62

int from62table[128] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0,
0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
0, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0
};

270 :Sherry ◆RKMbxbuc :01/08/27 13:54 ID:P7yLS.2Q
char *to62(int num)
{
char *dst;
char *p;
char tmp;
int len;
int i;

dst = malloc(6 + 1); /* 62^6 = 0xD398ED040 */
if(!dst) {
exit(1);
}

p = dst;
while(num)
{
*p++ = CHARLIST[num % CHARLEN];
num /= CHARLEN;
}

len = strlen(dst);
for(i = 0; i < len/2; i++)
{
tmp = dst[i];
dst[i] = dst[len - i - 1];
dst[len - i - 1] = tmp;
}

return dst;
}

int from62(char *numstr) {
int num = 0;

while(*numstr)
{
num *= CHARLEN;
num += from62table[*numstr & 0x7f];
numstr++;
}

return num;
}

int main(int argc, char *argv[])
{

if(argc != 2) {
fprintf(stderr, "usgae: %s 123\n\n", argv[0]);
exit(0);
}

printf("%s\n", to62(atoi(argv[1])));
printf("%d\n", from62(to62(atoi(argv[1]))));
exit(0);
}

271 :デフォルトの名無しさん :01/08/27 14:00 ID:kQSWx7uc
>>267
LocationよりBASE hrefで新方式のパスを指定してそのまま出力したほうが
よくありませんか? リダイレクトするとリクエストの回数が2倍になるので。
しかしよく思いつくなあ。

272 :Perler ◆GSi39OA6 :01/08/27 14:01 ID:95LP96f6
>>266
PATH_INFOはいい案ですね。
62進法は、ドットとアンダースコア辺りを足して、64進数の方が6ビットずつ取り出す
だけなんで、計算が簡単な気がする。

273 :Sherry ◆RKMbxbuc :01/08/27 14:02 ID:P7yLS.2Q
>>271
確かにそうですね.(^^;
そちらの方向の方が良さそうです.

274 :デフォルトの名無しさん :01/08/27 14:03 ID:yw5i/z86
■掲示板に戻る■ がindex2.htmlなんだけど、gzip受け付ける奴には
index2.htmを渡したほうがいいじゃない。
圧縮されてるのは、htmの方だよね。

275 :デフォルトの名無しさん :01/08/27 14:20 ID:pckFEAaY
>>272
dotは範囲指定と被るから別の記号で

276 :デフォルトの名無しさん :01/08/27 14:34 ID:kQSWx7uc
62進数は手動指定がほとんど不可能になるんでちょっとやりすぎな
気がします。
冗長性が少なくなる分圧縮が効きにくくなるので圧縮を掛ければ
ほとんど変わらないのでは。
あと、「.」と「-」の意味を入れ替えることを提案します。
>>4-6のリンクは「4-6」であるほうが直感的に分かりやすいでしょう。

277 :デフォルトの名無しさん :01/08/27 14:37 ID:iuwjXswY
範囲指定はハイフンを使った方がわかりやすくていいですね。
そうなると最新記事の記号を変えなくちゃいけませんが、 "+" でどうでしょう?

278 :デフォルトの名無しさん :01/08/27 14:42 ID:CbLq.TAQ
+だとエンコーディングでスペースになっちまわねえかい?

279 :デフォルトの名無しさん :01/08/27 14:45 ID:kQSWx7uc
URIのパス部に利用可能な文字をフルに活用して、
・数字の場合は10進数として解釈
・それ以外は「_!~*'();:@&=+$」と英字を利用した64進数として解釈
とか…。
欠点は同じ内容を表すURIがやたらに増加することですが。
>>278
デコードするのはHTTPDではなくてCGIですからデコードしなければいいと思われ

280 :デフォルトの名無しさん :01/08/27 14:46 ID:pckFEAaY
1-10       1から10まで表示
3,5,7      3,5,7番を表示
1-5,50,100-110  1から5までと50と100から110まで表示
$10       最後の10レス表示
1-5,10,$20    1から5までと10と最後の20レス表示

こんなんでどう?

281 :Sherry ◆RKMbxbuc :01/08/27 14:47 ID:P7yLS.2Q
>>276
とりあえずこのスレで62進変換だけやると,
108166 8月 27 14:34 tech.html
107234 8月 27 13:43 tech2.html
28523 8月 27 14:34 tech.html.gz
28468 8月 27 13:43 tech2.html.gz
こんな感じ.
tech2の方が62進です.

たしかに,大きな変化は無いかもしれませんね.

とりあえず,keyの方は62進なり64進なり
しちゃって良いと思います.こちらはコピペで使うと思うので(^^;

282 :デフォルトの名無しさん :01/08/27 14:54 ID:kQSWx7uc
現在の「>>番号」によるリンクをdatに埋め込む方式だと、
index2からの場合とread.cgiからの場合で異なる相対パスを
参照しなくてはなりませんが、それの対策はどうなっている
のでしょうか? bbs.cgiにdat埋め込みをやめてもらう?

283 :Sherry ◆RKMbxbuc :01/08/27 15:00 ID:P7yLS.2Q
>>282
datへのリンク埋め込みをやめてもらうのが
よいのでは...
リンクはツールがはればよいことですし,
dat直読みの転送量も減らせますしね.

read.cgi側では,リンクが張ってあっても張ってなくても,
>>xxx を見てリンクを張り直すようにすれば
良いのではないでしょうか.

284 :369 ◆3XTuRnAc :01/08/27 15:01 ID:xXHglqmc
すみません、ここ2日+半日の作業の反動で、めちゃめちゃ具合悪いです。
さっきまで寝込んでて、まだ具合が回復しないんで、さらに寝込みモードに入ります。
サーバーは立ち上げっぱなしにしておくので、どうぞお使いください。

285 :デフォルトの名無しさん :01/08/27 15:12 ID:kQSWx7uc
拡張子が.cgiじゃなくなると、ロボットのクロールの対象に
なって、ロボットからのアクセス量が半端じゃなく増加する
可能性もありますが…。

286 :デフォルトの名無しさん :01/08/27 15:20 ID:U3BzOc.o
>>285
それはrobots.txtで制限。

287 :名無しさん@揚げ足 :01/08/27 15:22 ID:2Ibh3ubo
かちゅーしゃが、アボーン時.dat全部読み直すケースですが、
アボーンされた番号を別ファイルで持つってのはだめですか?
別ファイルを読み込んで、かちゅーしゃ側でアボーン処理する

288 :デフォルトの名無しさん :01/08/27 15:28 ID:plW.7Hb6
>>287
それをするぐらいなら、前の方にも話が出ているけど、
各レスの位置を記録したインデックスファイルを作る方が、
いいと思う。というか、bbs.cgiに絡む話だよ。bbs.cgiは公開
されないから、手の出しようが無い。

289 :デフォルトの名無しさん :01/08/27 15:28 ID:0cm50H8s
>>287
ってか datファイル中の指定された記事番号の行だけ返すCGI作るってのも
いいかも

290 :デフォルトの名無しさん :01/08/27 15:30 ID:kQSWx7uc
>>289
その案に賛成。その方法なら途中からでもgzip圧縮したものが取得できる。
欠点は透明あぼーんがあっても検出できないこと

291 :デフォルトの名無しさん :01/08/27 15:34 ID:7DytoZz2
2chサーバ上のCGIは、HTMLを返さず、
XML-RPC でリクエストを受け付けるというのはどうでしょう。

データ転送量、処理ともに軽くなるのでは。

292 :名無しさん@揚げ足 :01/08/27 15:34 ID:2Ibh3ubo
>>288
インデックスファイルだと新規レスでも更新されちゃいませんか?
アボーン時に更新されるファイルだと、その時だけの読み込みができると思う

293 :デフォルトの名無しさん :01/08/27 15:36 ID:kQSWx7uc
そういうブラウザで見ることをまったく考えない話題ならこっちでは
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284

294 :デフォルトの名無しさん :01/08/27 15:36 ID:kQSWx7uc
293は>>291です。

295 :291 :01/08/27 15:42 ID:7DytoZz2
>>293
失敬、似スレがすでにありましたか。
そっち行きます。

296 :デフォルトの名無しさん :01/08/27 15:49 ID:plW.7Hb6
>>292
インデックスファイルってのは、現行のread.cgiではls=1でも全てのdatを読み込んでから
処理をする、という無駄な処理を回避したい、というのがある。インデックスファイルは
基本的にかちゅ〜しゃ等の専用UAからはアクセスさせずに、read.cgiからのみ使用する
様にして、専用UAは>>289氏が提案したcgiを介して新規レスを取得するようにすれば
良いのではないか。
>>290
透明あぼ〜んは、問題だあ。datの各行の先頭(末尾でもいいや)に連番でも埋め込めな
いかなあ。dat取得時に検出できるように。

297 :デフォルトの名無しさん :01/08/27 15:54 ID:QCZ/pGb.
今は突貫工事が一段落着いたから
夜勤さん待ちって事ですか?

298 :名無しさん@揚げ足 :01/08/27 15:58 ID:2Ibh3ubo
>>296
インデックスの件了解しましたマシン負荷の話だったのですね
ただ>>289氏のcgi案でもアボーンしたレスをUAが取り込めないのではないでしょうか?

299 :デフォルトの名無しさん :01/08/27 16:05 ID:plW.7Hb6
>>298
UA内部に既に取り込んでしまったあぼ〜んを検出できないってのは
その通りだなあ。そこはユーザに自主的にツール内であぼ〜んして
もらうとか……ダメか。

300 :デフォルトの名無しさん :01/08/27 16:11 ID:CSUZ8fsE
>>299
ad hoc な対策としては、どの記事があぼ〜んされたのかを知らせる cgi を
作るっていうのはあるかな?

301 :デフォルトの名無しさん :01/08/27 16:15 ID:plW.7Hb6
個人的には、いったん自分の掌中に入った情報を、
2chの勝手な都合でこちらまで消して欲しくない、
というのが本音なのだが(w

302 :194 :01/08/27 16:17 ID:0cm50H8s
>>194 で書いたのはイメージ的にはこんな感じ 手抜きして書いたのでツッコミは勘弁(w
functionの定義なんかは別の.jsファイルにしておけば Last-Modifiedを吐いてくれれば
*.jsを何回もリロードすることはないと思うけど......


var firstNo = 100; // ページ内の最初の記事番号

function formatContent(string) {
 // '\n'を"<br>"にしたり">>nnn"やURLをリンク化させたりする
}

function Articles_write(n) {
 document.write("<dt>"+n+"名前:<font color=green><b>"+this.name+"</b></font>"
  +"投稿日:"+this.date+" ID:"+this.id
  +"<dd>"+formatContent(this.content)+"<br><br>\n");
}

function Articles(name, email, date, id, content) {
 this.name = name;
 this.email = email;
 this.date = date;
 this.id = id;
 this.content = content;
}

Articles.prototype.write = Articles_write;

var articles = new Array(
 new Articles("ななしさん", "", "01/08/27 15:30, "abcdef", "本文でーす"),
 new Articles("ななしさん2", "", "01/08/27 15:35", "ghijk", "本文でーすよ"),
   :
new Articles("ななしさんn", "", "01/08/27 15:55", "zyxwv", "本文でーすよん")
);

  :

for (var i = 0; i < articles.length; i++) articles[i].write(firstNo+i);

303 :デフォルトの名無しさん :01/08/27 16:18 ID:kQSWx7uc
現在ツール側がやっているあぼーん検出をCGIにやらせるという案を
考えてみました。
・ツールはCGIから受け取ったログの長さを合算して、現在の取得サイ
 ズを覚えておく。
・差分取得のときは、開始レス番号と終了レス番号に加えて現在の
 取得サイズを一緒に渡す。
・CGI側で現在の取得サイズを調べ、現在の取得サイズの1バイト前が
 改行でなかったらあぼーんが発生したとみなし、全レスを返す。
・現在の取得サイズはあぼーんの検出にのみ使い、あぼーんされてい
 なかったら指定された範囲のレスを返す。

304 :デフォルトの名無しさん :01/08/27 16:37 ID:U3BzOc.o
>>303
・CGI側で現在の取得サイズを調べ、現在の取得サイズの1バイト前が
 改行でなかったらあぼーんが発生したとみなし、全レスを返す。

それだと偶然改行があるとミスするから、渡されたサイズと
一つ前の番号のレスが終了している場所が一致しているかど
うか、ぐらいはやってもいいんじゃないかな。

それでも偶然の一致の可能性は残るが。

305 :♯6411 :01/08/27 16:53 ID:Gdy5fRSM
あぼーん問題。
あぼーん処理は、マーキングするだけにすれば、
.datは増えていくことはあっても縮んだりすることは
ないので、mmap()とかで処理がやりやすいんだけどねー。
もちろんあぼーんマーキングには、時刻(time_t)を
入れとくのです。
段階的にあぼーん処理を変更してくことって、
できないかしら?

306 :デフォルトの名無しさん :01/08/27 17:01 ID:qeolEtH2
個人情報なんかの理由であぼーんされるときには、
ログ上から完全に消す必要があるから、他で消す
ようにするのは不可能では?

むしろあぼーん情報を取得させて、専用ソフト側で
ローカルなログとのあぼーん同期処理をするとか。

307 :デフォルトの名無しさん :01/08/27 17:03 ID:plW.7Hb6
>>305
あぼ〜ん処理を、「あぼ〜ん」と置き換えるのではなく、特定の文字、
それもキーボードから入力できない文字(たとえば0xffとか)で上書き
するってのはどうだろう?
そうすればdatは単調増加を保証する事が出来る。

308 :デフォルトの名無しさん :01/08/27 17:06 ID:plW.7Hb6
あ、過去ログのあぼ〜ん検出は、考えてません。(藁

309 :デフォルトの名無しさん :01/08/27 17:08 ID:plW.7Hb6
もういっちょ。自己レス
>上書きするってのはどうだろう?
同じ長さだけ、上書きって事ね。

310 :♯6411 :01/08/27 17:12 ID:Gdy5fRSM
>>307 それでいいとおもう。
実際の改造手順としては。
0) あぼーん新仕様の提示、決定
1) read.cgiに新仕様を実装
2) あぼーんツール(?)を新仕様に従って改変
3) この時点で.datの半固定レコード化が決定される
4) ウマー

仕様に要求されるもの
・ログの保全。証拠隠滅のため、レコードを塗りつぶす必要蟻。
・消去した時刻を保管。L-Mを吐くために必要。time_tに準ずる情報で構わない。

311 :デフォルトの名無しさん :01/08/27 17:13 ID:CSUZ8fsE
>>306
外からの access 不能な dat file を用意しておいて、
access 可能な dat file はその file それから生成するようにする
っていう手もあるかな。

312 :仕様無しさん ◆NwLv.g/w :01/08/27 17:12 ID:ilyBDhYw
キーボードから入れられない文字列である必要はないのではないかな。
マーク付けを利用して、
"+本文でーす。" −あぼーん→ "-〓〓〓〓〓〓"
みたいな感じで。

313 :デフォルトの名無しさん :01/08/27 17:17 ID:U3BzOc.o
ついでにあぼーん時に発言同様に末尾にレコード追加できれば
差分取得ツールでもあぼーんに気づけるね。

314 :♯6411 :01/08/27 17:21 ID:Gdy5fRSM
>>313 それいいね。

315 :♯6411 :01/08/27 17:26 ID:Gdy5fRSM
ところで、各鯖のストレージ容量は
問題ないんでしょか? ファイルをいくつか
書き出してもいいのであれば、
問題解決に対するいい案がある。
(inodeサイズも問題か…?)

316 :デフォルトの名無しさん :01/08/27 17:28 ID:plW.7Hb6
となると、datファイルは以下のようになるのだろうか。

+名無しさん<>sage <>01/06/13 21:26<>暴露しろや、ゴルァ
-##########<>#####<>##############<>###########
+名無しさん<>sage <>01/06/13 21:36<>↑削除依頼出しときました。
*2
+名無しさん<>sage <>01/06/13 21:46<>お、早速あぼーんされてる

(+ 通常のレス / - あぼーんフラグ / *あぼーんしたレス番号)
差分取得cgiが3-4を取得する場合は、3行目から3行を返す。

317 :デフォルトの名無しさん :01/08/27 17:29 ID:prujT1K6
>>307
単に半角スペースが良いのでは?

318 :♯6411 :01/08/27 17:34 ID:Gdy5fRSM
>>316 日時のところ、削除日時にすると、
いろんな処理が融通利くと思われ。

319 :デフォルトの名無しさん :01/08/27 17:39 ID:plW.7Hb6
>>318
だね。

あと、マークだけど、行頭の+とか-でせずとも、現在使用している
セパレータ<>は最初の<しか見てないみたいだから、最初のセパレータ
を<-とか<*とかする事で判別できるかもしれない。

>>317
それだと、名前欄とかに半角スペースを入れられたときに誤作動しないかなあ
と思ったの。もちろんマークにするなら、何でもいいよ。

320 :デフォルトの名無しさん :01/08/27 17:43 ID:guHZp8d.
転送量の増加って、いま急に始まったことじゃないんでしょ?
どうしてここにきて取りざたされてるの?

321 :デフォルトの名無しさん :01/08/27 17:43 ID:plW.7Hb6
名無しさん<>sage <>01/06/13 21:26<>暴露しろや、ゴルァ <>
##########<-#####<>998845501#####<>########### <>
名無しさん<>sage <>01/06/13 21:36<>↑削除依頼出しときました。 <>
2<*<><><>
名無しさん<>sage <>01/06/13 21:46<>お、早速あぼーんされてる <>

こんな感じかな。

322 :デフォルトの名無しさん :01/08/27 17:44 ID:U3BzOc.o
>>321
4行目のほうにも同じ削除日時があると、ツールでいちいち取りに行かなくてもよさげ。

323 :デフォルトの名無しさん :01/08/27 17:53 ID:kQSWx7uc
あぼーんの新仕様を提示して受け入れられるとは限らないから
従来フォーマットでなんとかする方法も検討しておいたほうが
よくない?

324 :デフォルトの名無しさん :01/08/27 17:53 ID:3qcMJ/2M
>>320
サーバー管理者が増加ペースを見誤るほどだったらしい

325 :デフォルトの名無しさん :01/08/27 17:54 ID:plW.7Hb6
>>319
自己レス、セパレータはちゃんと二文字目の'>'も見てた。失礼。
でも、これはread.cのちょっとした変更で対応可能だ。

326 :音楽侍 ◆NtVkSITE :01/08/27 17:56 ID:cn52pBwI
>>320
なんと回線の帯域使用料金が従量制だから。

327 :デフォルトの名無しさん :01/08/27 17:58 ID:plW.7Hb6
>>326
それは、非常に普通の事だと思うんだけど、BigServer側から
ひろゆきの方へ、ちゃんと伝わってなかったの?

328 :デフォルトの名無しさん :01/08/27 18:02 ID:cn52pBwI
>>327
まさか。
もうずっと話し合ってたけど、事が露呈したのは、26日に夜勤さんがスレで暴露、というか音を上げて、read.c公開したからだよ。
それまでずっと、「雑談系板つぶす」って言ってたんだけど。

329 :名無しさん@揚げ足 :01/08/27 18:02 ID:2Ibh3ubo
>>321
透明アボーンも対応するなら、別な文字も割り振っとこうよ'%'とか

330 :音楽侍 ◆NtVkSITE :01/08/27 18:02 ID:cn52pBwI
>328
ちょっと日にち間違ったけど、まぁそんな理由。
 

331 :デフォルトの名無しさん :01/08/27 18:03 ID:tM5s0/C.
>325
現時点ではHTMLのタグがdatに埋め込まれているので
'<'のみでは判別不可能です。

332 :デフォルトの名無しさん :01/08/27 18:05 ID:plW.7Hb6
>>331
そだね。すっかり忘れてたよ。バカだなあ>おれ
<* とか <% とかだったら大丈夫?かな?

333 :♯6411 :01/08/27 18:12 ID:Gdy5fRSM
>>329 透明あぼーんのことすっかり忘れてたYO

334 ::~名前() :01/08/27 18:15 ID:plW.7Hb6
>329
漏れも忘れてた。
でも、この方法で行くなら、透明あぼーんは別のマークを使うなどして、
read.cgiで処理しなきゃ仕方がないよね。
(コテハンにします。)

335 :♯6411 :01/08/27 18:20 ID:Gdy5fRSM
>>331 .datの中に埋め込まれる'<' '>' (< >ニ非ズ)は、
bbs.cgiのみが生成していて、
'<>'というシーケンスが他に現れないなら…
「最新レスnn」の処理はbinary search+αに
最適化できそうだなー。
番号指定はlinear searchじゃないとダメか…

実際Linuxの場合、mmapされたファイルはたいてい
ページキャッシュに残留してる…ことが期待されるんで、
無理にlinear searchを避けることもないかな。

336 :♯6411 :01/08/27 18:22 ID:Gdy5fRSM
>>335 (< >ニ非ズ)
&gt; &lt; って書いたつもりだったのに、
そのまま取り込まれちゃったよ…鬱だ

337 :デフォルトの名無しさん :01/08/27 18:27 ID:ZIaMkoUw
ほんとに夜勤さん待ちなの?

338 :Perler ◆GSi39OA6 :01/08/27 18:31 ID:95LP96f6
http://203.174.72.113/p2pcache/P2Pcache/frame.htm

における、P2P-chacheと似たもののベータ版が完成しつつあります。

これだけ分離して、

http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722

か、新しいスレで議論したいと思うのですが如何でしょうか?

ソースについては、幾つかのバグを潰した後公開します。

339 :音楽侍 ◆NtVkSITE :01/08/27 18:33 ID:cn52pBwI
>>338
新しいスレに賛成です

340 :うんこ12号 :01/08/27 18:33 ID:XsLanPR.
http://piza2.2ch.net/test/read.cgi?bbs=musicx&key=998676619&ls=100

IEのキャッシュが問題になっていますがもう織りこみ済ですか?

341 :デフォルトの名無しさん :01/08/27 18:34 ID:Oeqm.zBM
スレに書き込んだ人を特定する方法が、

ハンドルネーム
ID
キャップ
トリップ
fusianasan

e-mail

こんなに必要だとは思えません。
どれかを削るなり、この部分のシステムをシェイプアップすることはできませんか。

342 :デフォルトの名無しさん :01/08/27 18:35 ID:cn52pBwI
>>341
それはひろゆきに聞くべきでしょう

343 :名無しさん@揚げ足 :01/08/27 18:46 ID:2Ibh3ubo
read.cgiは塗りつぶしでいいとして、UA用に>>300が必要じゃないかな
UA側は1回/日とかで>>300を読んでアボーン処理を行うとか

344 ::~名前() :01/08/27 18:52 ID:plW.7Hb6
>343
一応、>316の方法で、新規レス取得時にあぼーんを検出出来るように
考えているつもりなのだが。

345 :名無しさん@揚げ足 :01/08/27 18:55 ID:2Ibh3ubo
頭ががdiff出力として解釈してた(恥
スマソ>>344

346 :♯6411 :01/08/27 19:01 ID:Gdy5fRSM
>>344 漏れは使ってない(ほっとぞぬ)ので
わからんのだが、新しいフォーマット導入したとき
かちゅーしゃ互換にできるだろーか?
それがちょっと心配。
まー切り捨てるってのは考えられるけど(w
あぼーんを塗りつぶす、まではかちゅーしゃとかでも
見ることができるんではないかと。

347 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:03 ID:asPJm1Ug
みなさんお疲れさまです。
>>338
かなり規模の大きい話になってきましたから、「当然のこと」をきちんとまとめて、
各部を各スレに明示的に分散させると良いと思います。
・read.cgi最適化(従来との互換性を保ちつつ、新仕様の実装&バグとり)
・bbs.cgiの改善案
・bbs.cgiの作成?
・P2P-cacheの作成
大まかにわけるとこんなところですが、P2P-cacheの内部ではさらに分化もある
でしょう。
で、とにかく、各セクションが絶対に守るべき仕様を、まとめて掲げておくべき
だというのが、最もいいたいことです。
もしくは、最重点セクション以外は議論を凍結してしまった方が、むしろ
よいかもしれません(混乱を防ぐため)。
どうでしょうか。まとめてみますので、みなさんがよろしければ提示しますです。

348 :Perler ◆GSi39OA6 :01/08/27 19:03 ID:95LP96f6
>>339
タイトルとかどうしましょうか?
「キャッシュ型負荷分散システム開発スレッド」とかでいいかな?

作成もどなたかにお願いしたいのですが。。。

349 ::~名前() :01/08/27 19:05 ID:plW.7Hb6
>346
それはもう、ツール制作者さんに対応して貰うしかない。
ある程度早めに仕様を公開して、その間に対応をして貰う。
そのためには、なるべく現行の仕様から逸脱しない様に、
しなきゃならない。
まあ、それもこれも、運営側がなんと言うかにかかってるけど。

350 :Perler ◆GSi39OA6 :01/08/27 19:05 ID:95LP96f6
>>620
現在でも、キャッシュとサーバー上のデータが同じなら、リロードされても
何も送らないような仕様になっています。
10秒ごとに新規書き込みされない限り、同じことですので大丈夫だと思います。

もっと値を大きく、1度読み込まれたら5分はリロードできない、という風にすると
劇的に回線負荷は減るかもしれません。

その前に、index2.htmの負荷(キャッシュに対応していない)をなんとかする
必要がありますが。。。

351 :Perler ◆GSi39OA6 :01/08/27 19:07 ID:95LP96f6
>>350
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722
と、スレを間違えて書き込んでしまいました。。。
無視してくださいませ。

352 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:08 ID:asPJm1Ug
>>348
tech板でいいですか?よければこちらで建ててしまいますが。。。

353 : ̄ー ̄)ノ :01/08/27 19:17 ID:KeujS.U6
二日連続夜更かしで昼夜逆天誅
寝てる間にバージョンアップしてますね
夜は娘さん、昼間はPerlerさん
おつかれさまです
例のごとくミラーリンク
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.1.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/index2.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/index2.c.1

古いバージョンは
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
(↑必要ないですけどね)

354 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:18 ID:asPJm1Ug
>>348 >>352
どうやら
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722&ls=50
こちらで話が進展しているようですので、新スレではなく↑でつづけて
よろしいのでは。。。
誘導はスレ立てておこないますから。

355 :Perler ◆GSi39OA6 :01/08/27 19:19 ID:95LP96f6
>>352
板の選定はお任せします。
立ててしまってください。宜しくお願いします。

356 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:29 ID:asPJm1Ug
>>355
たてました。
あとの各話題の誘導などはおまかせください。。。

357 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:30 ID:asPJm1Ug
>>356

http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154
「キャッシュ型負荷分散システム開発スレッド」

です。

358 :仕様無しさん ◆NwLv.g/w :01/08/27 19:32 ID:LABmXIYU
>353
r2chhtml.hもお願い〜

359 : ̄ー ̄)ノ :01/08/27 19:34 ID:KeujS.U6
わかりました

360 : ̄ー ̄)ノ :01/08/27 19:37 ID:KeujS.U6
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.h

361 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:42 ID:9PuzuTEs
●2ちゃんねる開発統合スレッド(連絡用)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20

●キャッシュ型負荷分散システム開発スレッド
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&ls=20
(この話題についての情報)
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=20
 http://203.174.72.113/p2pcache/P2Pcache/frame.htm

●read.cgi開発スレッド(当面、bbs.cgiの話題も扱う)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&ls=20

●動作報告・障害報告スレッド
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733&ls=20

●2ちゃんねるWiki(全体にわたる参照事項です)
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage

362 :仕様書かきかき :01/08/27 19:49 ID:TbH.eexM
まだここで話してもいいのかな?

dat_readがとにかく効率悪いのは分かったけど
これを改善するにはdatの仕様から変えないとだめすね。

これまで改造したread.cgiはもうリリースされたの?
次期read.cgi(つーか次期2chの基本仕様)はどこで話すの?

363 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:02 ID:9PuzuTEs
>>362
えっと、read.cgiに関しては全部ここのつもりですが、
当面は、現在のread.cgi各部(各関数)の機能は変えずに、
最適化を目指し、同時に、互換性を保ちつつ、次世代read.cgiの
機能も取り込んでいくことになると思います。
#ifdef でコンパイル時に選択肢を残しつつ。

272KB
新着レスの表示

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

0ch BBS 2004-10-30