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

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

587 :デフォルトの名無しさん :01/08/26 17:22
そういうの突き詰めていくとバックエンドのデータはRDBで管理して、クライアント処理は
Servletで、とかなってくんだけどサーバ側の事情でアーキテクチャを大きく変えるのは難しそう。

俺的には read.cgi の mod_2ch (Apache module) 化のが一つのゴールかなあ、って思うが。

588 :デフォルトの名無しちん :01/08/26 17:23
>>585
mod_gzipになるまでまだ1週間以上あるみたいだから
とりあえず今は「.html」に飛ぶようにしておいた方がいいんじゃないの?

589 :デフォルトの名無しさん :01/08/26 17:25
すこし前に11REV1を落とされた方
修正ミスでした
今は修正完了です
アドレスは同じです

590 :564 :01/08/26 17:26
よーく考えたら、Splitや置換って全体に対しては必要なかったね。
実際のls=??等のリクエストがどんな割合で来てるのかわからんけど。

つーことは逆に、
getLineMax()にFileSizeを与えて、memchrで行を数えて、
'\0'->'*'への置換をout_html()で行うようにするほうがいいかな?
レスを全部読む場合は、全体を一括スキャンしたほうが効率的だろうけど、
トータルではどうなるか。

で、もし全体をスキャンするなら、特殊文字('\0','\n','<','&'等)をテーブルにして
if (teble[*p] & flag) {
  switch (*p)
    ...
}
みたいな感じが良さそう。
else if の繰り返しや全体をswitchにしてしまうよりまともだと思う。
(負荷的には、キャッシュの関係があるから、試してみないとわからないけど)

テーブルは8bitあるから、日本語文字やURLの終端判別にも使える。
これも、スタートアップでテーブルを作るほうがソース的には楽だけど、
負荷を考えると自力で作った方が良いかもね。

なんか俺も良くわかってないから、素直に推移を見守りますわ。

591 :デフォルトの名無しさん :01/08/26 17:27
インデックス付けると、bbs.cgi以外にも、あぼ〜ん処理とかも
全部対応させなくちゃならない。それこそ大作業になるよ。

592 :デフォルトの名無しさん :01/08/26 17:28
>>587
mod_gzip付けるだけでも汎用のサーバーがどうのもめていたらしいからmod_2chというのも厳しいのではないかな?
現状のデザインに不満を漏らしつつも何とか地道な改善を施すのはPGの宿命だよ。

593 :563 :01/08/26 17:33
あ、間違ってた・・・
プログラマが2chを救う!? @プログラム板
の2号は
スキルの高い方知恵を貸してください @web制作管理板
の方の2号だ。

594 :デフォルトの名無しさん :01/08/26 17:55
だからさーーーーー、早く実際の作業始めよーよー。

595 :名無し娘。 ◆vP.bOZFQ :01/08/26 17:55
お邪魔かもしれませんが、ちとまとめてみます。(作業中)

596 :デフォルトの名無しさん :01/08/26 17:55
/*行区切りの検索、'\0'の変換、&->&の変換を一度にやるソース案*/

char* pin = BigBuffer;
char* linepin = BigBuffer;
int line = 0;

while(pin < &BigBuffer[zz_fileSize]){
  switch(*pin){
    case '\n':
      BigLine[line] = linepin;
      *pin = '\0';
      pin++;
      linepin = pin;
      line++;
      if(line > RES_RED){
        goto wend;
      }
      break;

    case '\0':
      *pin = '*';
      pin++;
      break;

    case '&':
      if(strncmp(pin, "&", 5) == 0){
        pin += 5;
      }else if(strncmp(pin, "&", 4) == 0){
        /*・・・・(^^;*/
        pin += 4;
      }
      break;

    default:
      pin++;
      break;
  }

}

wend:
/*続き*/;

597 :デフォルトの名無しさん :01/08/26 17:57
JavaやDelphiのような優れた言語を使わず、
Cなんていう時代遅れの処理系を使っているのはなぜなんでしょう。
それとも、ドキュンしかいないのでしょうか。

598 :名無し娘。 ◆vP.bOZFQ :01/08/26 18:00
(あ、お話はどんどん続けておいてください)

599 :sage :01/08/26 18:01
速いからじゃないの?

600 :デフォルトの名無しさん :01/08/26 18:01
>>597
おまえいつからプログラムはじめた?

601 :デフォルトの名無しさん :01/08/26 18:01
Delphiて・・・2ちゃんってNTサーバーだっけ?

602 :デフォルトの名無しさん :01/08/26 18:02
あおりはほーちちまちょー

603 :デフォルトの名無しさん :01/08/26 18:02
>>597
はいはい中学生は学校の宿題でもしてて

604 :デフォルトの名無しさん :01/08/26 18:03
597 はいつもの厨房なので無視という方向で。

605 :デフォルトの名無しさん :01/08/26 18:05
ところでこれまでに出た改良案をすべて
取り込んだものはどれくらい早くなるの?
誰か試して。

#俺もやりたいけど今手元にwinしかない、、。

606 :デフォルトの名無しさん :01/08/26 18:07
>605
ダッシュでCygwin落とせ。apacheも動くぞ。
http://sources.redhat.com/cygwin/

607 :デフォルトの名無しさん :01/08/26 18:10
>>597
実際軽く動くのはどっち?

608 :デフォルトの名無しさん :01/08/26 18:11
bbs.cgiのソースは何故公開されない?

609 :デフォルトの名無しさん :01/08/26 18:13
>608
実はばっちりログを保存していて、
それがばれるのがいやだから。

だったりして。

610 :デフォルトの名無しさん :01/08/26 18:14
>>608
ソース見ていたずらを思いつく人が出てくるからでは?

611 :デフォルトの名無しさん :01/08/26 18:21
>>607
言語の種類だけで決まる話では無い

612 :デフォルトの名無しさん :01/08/26 18:21
本気で2chのシステムを最適化したいんなら
bbs.cgiとか、他のモジュールも公開するべきだな。
さらに俺を2週間ほど雇えば負荷総合的な負荷は5%程度まで縮小するかもな。
まあ人月300くらいはもらうけど。

613 :デフォルトの名無しさん :01/08/26 18:22
安直にパスが全てべた書きされてるのではないか?
いろいろな管理用コマンドとかもいっしょに。

614 :名無しさん :01/08/26 18:23
一晩で軽くなるなら、いままで何やってたんだ?

615 : :01/08/26 18:24
>>612 現状を把握せずに、成果を約束できるのか?(w

616 :デフォルトの名無しさん :01/08/26 18:26 ID:14u64k9s
短期的には、既存のスクリプトの改良/高速化の方向ですが、
結局は最初の議論に戻って、2ch全体のシステム設計から
やり直さないといけないと思います。

そちらのシステムデザインのスレを立てて始めたらどうでしょう?
スレを建てる前に、まず、
 ・マスター(現在の2ch開発スタッフが望ましい)
  準マスター
 ・仕様、ソースなど現時点での決定事項がアップロードされる場所
   http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage で良いでしょう
これらを決めて、スレのトップに明記する。
・・・でないと、スレ全体読み直すだけでかなりの労力です。

read.cgiだけではなく、データフォーマットから全てやり直さないと
駄目でしょう。。。オープンソースで常に改良していった方が。

617 :デフォルトの名無しさん :01/08/26 18:26 ID:Y5ufE4Do
>>615
「こんな外注先は害虫」の見本だよなぁ…

618 :名無し :01/08/26 18:28 ID:cNxfOPbY
read.cgi 更新してみてよ。
サーバー管理者いないんですか?

619 :デフォルトの名無しさん :01/08/26 18:28 ID:K3x70GYg
>>614
あの…一晩48時間なんだけど・・・

620 :デフォルトの名無しさん :01/08/26 18:29 ID:goYJpq5c
>478-479 修正案
char *zz_GetString2(char *dst,char tgt)
{
int i, len;
int ch = (int)'&'; int ch2 = (int)'=';
char *kk = zz_query_string;
char *kk0, *kk1;
for(i=0;i<200;i++)
{
if(kk[0] == tgt)
{
kk0 = strchr(kk,ch); /* & */
if(!kk0) kk0 = strchr(kk,(int)'\0');
kk1 = strchr(kk,ch2); /* = */
len = kk0 - kk1 - 1;
if(len > 0)
{
if(kk0) *kk0 = '\0';
strncpy(dst,kk1+1,20);
dst[20-1] = '\0';
if(kk0) *kk0 = '&';
return dst;
}
}
kk = strchr(kk,ch);
if(!kk) break;
kk++;
}
}
機能は >94 参照。zz_GetEnv から、
zz_GetString2(zz_bs ,'b');
などのように呼んでください。

該当部分(
bbs=unix&key=998764722&st=23&to=34&nofirst=true&imode=true
のような文字列を zz_query_string としての、連続7回の呼び出し)
の100万回の処理時間は、手元の環境で
修正前 51.3s → 修正後 6.1s 。

>497-498 によれば処理時間への影響は小さいけれど、
リンク部分の文字列を短くできます。

621 :デフォルトの名無しさん :01/08/26 18:29 ID:K3x70GYg
>>618
しばらくは各自localhostでテスト運用だな。

622 : :01/08/26 18:29 ID:C1Z3lpu.
>>616
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage
そこ、CGIのリンクで保存しにくい。
普通にリンク貼れって漢字?

623 :名無しさん :01/08/26 18:29 ID:rVzqRC42
ん?アイデー?

624 :名無し娘。 ◆vP.bOZFQ :01/08/26 18:32 ID:7Eg.mvRo
あの、抜本的見直しもいいとは思いますが。。。
抜本的なのと、そうでないのはわけた方がいいと思います。
とりあえずは、既存の関数の機能は変えない範囲で、最適化を
行うべきかと。
#抜本的見直しを運営が望んでいるかもよくわからないですし。

625 :デフォルトの名無しさん :01/08/26 18:33 ID:goYJpq5c
>608-615
サーバごとなどに異なる規制部分は非公開としても、
全体に共通の部分は公開された状態で、気づいた人が
欠点を指摘していった方が安全性は高くなるかと。
(その意味で、 read.cgi と違いすぐ入れて様子を見るのは危険)

管理側にも検討して欲しい。

626 :デフォルトの名無しさん :01/08/26 18:36 ID:1sXjF0HU
こういう前提があるから、やはりCGIレベルでどこまで最適化できるか?
しか当面ありえないでしょ。

>39 名前:夜勤 ★ 投稿日:2001/08/25(土) 19:34
>Apache に手を加える(パラメータ)を変更する というのはできないです。
>なぜなら、このサーバと同じサーバという売りでレンタルサーバ業を
>営んでいるもので、汎用的なサーバじゃなきゃだめなんです、すんません。

627 :デフォルトの名無しさん :01/08/26 18:38 ID:aVwVHBUM
この板にも強制IDが出てるな・・・何故か。
微々たるもんだが、ID:???の場合に出力を止めれば、
数百バイト程度は得するぞ。
・・・Non-Accept-Encoding: gzip なら。

628 :デフォルトの名無しさん :01/08/26 18:39 ID:mpESCVMc
>>624
書き直しはほとんど行われず、
P2Pは来週末にも終らず忘れ去られ、
とりあえず当面を乗り切っただけで
次の危機の時にまた盛りあがるが、果たせずに一票。

629 :デフォルトの名無しさん :01/08/26 18:40 ID:ph4Tm7AM
>627
全板強制IDっぽい。人減らし作戦の一環でしょう。

630 :デフォルトの名無しさん :01/08/26 18:45 ID:A3jnb8oE
全板だね。「材料物性板」とかまでID表示になってる。(w

631 :名無し :01/08/26 18:51 ID:cNxfOPbY
負荷が増える前に、プログラムを更新した方が
いいと思われます。

632 :デフォルトの名無しさん :01/08/26 18:52 ID:cvrtcctM
モー娘メンバー発表まであと2時間。

633 :名無し娘。 ◆vP.bOZFQ :01/08/26 18:55 ID:7Eg.mvRo
>>632
ああ、それまでにまとめ作業終えたい(笑
現在 1/3 ほど終了

634 :デフォルトの名無しさん :01/08/26 18:57 ID:56vmLS/g
人を減らしたいのなら、書き込みだけじゃなくてread.cgi起動する度に
ログを取ってる事も周知させれば?

635 :デフォルトの名無しさん :01/08/26 19:01 ID:IO6XhCZY
>>634
いまだに2chは匿名性だから来たのにとか
ニュー速の厨坊がほざいてるからねw

636 :デフォルトの名無しさん :01/08/26 19:04 ID:PGbsVVuc
でも int logOut(char *txt) は削るべきでは?
匿名とかそういうのじゃなくて負荷の問題で。
ログはApacheのログが別にあるからいいでしょ。

637 :デフォルトの名無しさん :01/08/26 19:08 ID:PbVG8tb2
>人を減らしたいのなら、書き込みだけじゃなくてread.cgi起動する度に
>ログを取ってる事も周知させれば?

あんたソース読んでないでしょ?
read.cgi内でやってるのは不正なUserAgentの記録
だいたいApacheがアクセスログ取ってるだろが

638 :636 :01/08/26 19:12 ID:bQ7eOgW2
あぁ、Apache側 でUAまで記録してるとは限らないのか。
個人的にいつもCombineなログを取っているので早とちり。

#っていうか私のIDかっこ悪い。 PGだってさ。

639 :636 = 638 :01/08/26 19:13 ID:bQ7eOgW2
ID変わった。なぜ?

640 :デフォルトの名無しさん :01/08/26 19:14 ID:UBBPE9x.
実はID出てること自体がバグとか

641 :デフォルトの名無しさん :01/08/26 19:17 ID:tdpKykIg
hour もID算出に使ってるんだろうね。

642 :デフォルトの名無しさん :01/08/26 19:18 ID:HihBi4VA
IDは、投稿日の文字列も元にしてるからね。
で、20や曜日を削ったから、おなじみのエンバ(以下略

643 :デフォルトの名無しさん :01/08/26 19:18 ID:nq7nF8XA
minの一桁目とIPアドレス?

644 :643 :01/08/26 19:19 ID:nq7nF8XA
test

645 :デフォルトの名無しさん :01/08/26 19:19 ID:HihBi4VA
リンクの出力を減らすのは賛成だけど、
一番食ってるのはスレへのリンクではなく、
>>999のリンクだからねぇ。
ご丁寧にst=nn&to=nn&nofirst=trueまで付いてるから。
nofirst=true や imode=true を nofirst=1 や n=1 等に対応して、
なおかつ最も重要なのは、bbs.cgiがdatに書きこむ内容を変更しないと。

646 :643 :01/08/26 19:20 ID:nq7nF8XA
再test

647 :名無し :01/08/26 19:20 ID:GLhprhn.
ID変わるバグか。IDの意味無し?

648 :デフォルトの名無しさん :01/08/26 19:21 ID:tdpKykIg
>645
st -> s
to -> t
nofirst -> nf
でいいんじゃない?それに =true 付けるのも無駄。

649 :636 :01/08/26 19:21 ID:bQ7eOgW2
IDは従来はdateとIPアドレスの一部から算出していたはず。
もし新たにhourも加わったとしても 636 と 638 で変わったのは説明できないような...

650 :名無し :01/08/26 19:21 ID:GLhprhn.
ID変わらないから大丈夫だ。

651 :デフォルトの名無しさん :01/08/26 19:23 ID:NGu5IyHk
ID変わるかな(1

652 :デフォルトの名無しさん :01/08/26 19:23 ID:NGu5IyHk
IDが変わるかな(2

653 :643 :01/08/26 19:25 ID:Y.ZOSOn2
ID→IP
http://www35.tok2.com/home/testsan/search.cgi

654 :デフォルトの名無しさん :01/08/26 19:26 ID:tdpKykIg
19時何分かに salt が変わった?
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998818852&st=132&to=132

655 :636 :01/08/26 19:27 ID:bQ7eOgW2
一週間ぐらい前に作ったID逆変換スクリプトで試したら今のIDは正しく逆変換
出来るけど>>636のは結果が出なかった。何か間違ってあわてて直したのかな?

656 :名無し娘。 ◆vP.bOZFQ :01/08/26 19:28 ID:E1hp.8JQ
ふぅ、おわりました。このスレッドにあがった点は網羅したつもりです。
ここに貼っていくつもりです。
手を付けやすい所から1つ1つmergeしていくことになるでしょうか。

657 :名無し娘。 ◆vP.bOZFQ :01/08/26 19:29 ID:E1hp.8JQ
(参照情報)

▲現在の最新版
 http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read11.rev1.c

▲read.cgiの概観
 >>90 >>94 >>96

▲ハイパーリンク設定関連
 >>76

▲read.cgiをプロファイラ(gprof)に掛けてみた結果
 >>497 >>498

658 :デフォルトの名無しさん :01/08/26 19:29 ID:i045ysP2
>>656
お疲れさまです。

659 :名無し娘。 ◆vP.bOZFQ :01/08/26 19:29 ID:E1hp.8JQ
(自作された関数に関する情報、アルファベット順)

●char *doReplace(char *des,char *str0,char *str1)
 引き値:
 返戻値:*des のうち *str0 末尾の次のポインタ
 機能:返戻値&*des のうち *str0 がみつかったら *str1 に置き換え
 ※案 >>138 >>168 >>271 >>272

●char *findSplitter(char *stt,int sp)
 ※案 >>505 >>507 >>513 >>514 >>518 >>519 >>520

●char *zz_GetString(char *dst,char *tgt)
 ※案 >>620 >>645 >>648

●int BadAccess()
 引き値:なし
 返戻値:USER_AGENT が正当であれば1、不正であれば0
 呼関数:int logOut(char *txt)
 ※char *zz_http_user_agent の判別順の最適化
 ※案 >>79 >>84

●int hrefStop(char x)
 ※テーブル化
 ※案 >>27 >>30 >>35 >>49

●int html_banner()
 引き値:なし
 返戻値:なし(returnせず)
 機能:バナー部分を標準出力に
 呼関数:int html_error999(char *mes)
     int html_foot_im(void),int html_foot(int line) 内でコメントアウト
 ※#ifdef CM_BBSPINK によって2種類存在

●int html_bannerNew()
 引き値:なし
 返戻値:なし(returnせず)
 機能:バナー部分を標準出力に
 呼関数:int html_error(char *mes)
 ※案 >>45 >>48

●int logOut(char *txt)
 引き値:用途不明
 返戻値:ファイルエラーで0、それ以外1
 呼関数:int BadAccess()

660 :デフォルトの名無しさん :01/08/26 19:29 ID:UBBPE9x.
Wikiの内容はmergeしてるんかな?

661 :名無し娘。 ◆vP.bOZFQ :01/08/26 19:30 ID:E1hp.8JQ
(その他、全体に関する技術的情報)

◆dat_read(); dat_out();
 全レスbufに溜める方式で良いのか?
 ※案 >>148 >>167 >>275 >>520 >>530

◆fread(); BigBufferの取り扱い
 mmap() に置き換え(\0 を * に置き換えていることを踏まえつつ)
 ※案 >>205 >>227 >>232 >>247 >>521 >>542 >>544 >>546 >>549 >>552 >>558 >>564 >>590 >>596

◆printf()
 呼び出し回数削減
 puts()で可能なところは代用
 "\n"を削除

◆strstr()
 自作関数で代用
 案 >>328

◆Makefile
 >>426

◆&(amp)問題
 >>596

◆時刻の解析
 >>473 >>477 >>482 >>489 >>515 >>517

◆グローバル変数をできるだけローカル変数にする

◆その他、HTMLとかJavaScriptとか(このスレでは議論しないでください)
 >>437

662 :名無し娘。 ◆vP.bOZFQ :01/08/26 19:32 ID:E1hp.8JQ
>>660
Wikiをmergeしたものもあるのですが、あちらは、こちらで話がそこそこ
かたまったものを載せているようですから、ここには含めませんでした。

今後、関数毎に作業を進めるようでしたら、関数毎の引き値などの一覧も
作りますが、どうしましょうか。

663 :名無し :01/08/26 19:46 ID:GLhprhn.
モーニング娘の負荷危機まで1時間ちょっと

664 :デフォルトの名無しさん :01/08/26 19:49 ID:1UQ.S61Y
Wikiで draft なページ作ったら?

665 :616 :01/08/26 19:56 ID:.7OZ9ZNw
名無し娘。さんお疲れ様です。分かりやすくなりました(^^

>>624

そうなのですよね。運営側が付け焼き刃で当面を乗り切れば良いと
考えているのか。でなければ、昨夜の状況になる前に手を打てたのに。
(頻繁にマイナーチェンジしていましたが)

ver5.02って?

666 :♯6411 :01/08/26 19:57 ID:vqaeONJ.
>>496 >>499
bzip2のアルゴリズムは、圧縮・伸張とも
ストリーミングに向いてないのだ。
そもそも高速化しにくいし。

667 :♯6411 :01/08/26 19:58 ID:vqaeONJ.
>>560 >>561 っていうかgccだったら
__builtin_strlen()と同義じゃないかしら?
(未確認)

668 :デフォルトの名無しさん :01/08/26 19:58 ID:EDp.9ERA
モー板関連にも早く新しいread.cgiを導入しないと
意味が無いんじゃないかと思うのですが、
運営側の人何しているのでしょう・・・・

669 :デフォルトの名無しさん :01/08/26 20:00 ID:MV3zKzJ.
>>662
>Wikiをmergeしたものもあるのですが、あちらは、こちらで話がそこそこ
>かたまったものを載せているようですから、ここには含めませんでした。
結果を載せるだけじゃなくって
議論の場としては2chスレよりwikiのがやりやすいんじゃない。

[[read.cgiを高速化2]]はプログラム板で占拠して
ある程度自由に使ってしまっていいと思う。

670 : ◆T/5GEU6k :01/08/26 20:01 ID:T8m3jVH2
トリップ廃止?

671 : ◆T/5GEU6k :01/08/26 20:02 ID:T8m3jVH2
>>666-667
#全角かぁ。スマソ

672 :名無し娘。 ◆vP.bOZFQ :01/08/26 20:05 ID:E1hp.8JQ
>>669
議論をどちらでやるのか、私にはよくわからなかったので、
経緯をまとめるだけにしちゃいました(^^;

堅実なところはさっさと実装していって、議論の的を絞るのもいいかな
と思います。indentだけでもやって、どこかにUPしましょうか。。。
# これやっとけ、ってのがあればやっときます(笑

673 :デフォルトの名無しさん :01/08/26 20:19 ID:lmB6Nfnc
>>659
>●int BadAccess()
>返戻値:USER_AGENT が正当であれば1、不正であれば0

返戻値が逆っぽいです。

674 :名無し :01/08/26 20:26 ID:GLhprhn.
読み込み途中で止まったようになる。
その後読み込みまた止まったようになる。
最期にまた読みこむ。

なんでだろう?

675 :デフォルトの名無しさん :01/08/26 20:48 ID:UUVa.jxU
書き込みが終わりましたって表示はいるの?

676 :デフォルトの名無しさん :01/08/26 20:48 ID:xL7OsRZc
http://bbs_cgi.tripod.com/
globalを通してみました。全行にアンカー振ってあります。
また、-krでindent通したものもおいてあります。

677 :676 :01/08/26 20:55 ID:xL7OsRZc
今気づいた。
read.cgiを弄っているのに、アカウント名がbbs_cgiだ(汗

678 :名無し娘。 ◆vP.bOZFQ :01/08/26 20:59 ID:E1hp.8JQ
>>673
そうですね(^^;
>>676
お疲れさまです。

ところで、ざっと復習してみると、amp問題と、BadAccess()あたりは
ソースに組み込んでもよさそうですね。
# BadAccess() は"#ifdef NEWBADA"とかなんとかにしておく。

2時間ほど新メンバー見てきます(爆死

679 :デフォルトの名無しさん :01/08/26 21:06 ID:PbVG8tb2
>>674
gzip圧縮してるからでしょ

680 :デフォルトの名無しさん :01/08/26 21:07 ID:8728MBZU
書き込み時に、それがTOPPAGEに変更が入る場合は、TOPPAGEを
生成して保存。
TOPPAGEの読み込みはread.cgiでなく、静的なページを送り返す
ようにしたらどうだろう。

681 :デフォルトの名無しさん :01/08/26 21:09 ID:t/kABhdw
最新レス100 → 最新レス100

3バイト節約(ワラ

682 :デフォルトの名無しさん :01/08/26 21:22 ID:r9kv7gys
>>680
負荷は劇的に減るが、gzip圧縮の恩恵がうけられなくなって転送量がふえてしまうかも

683 :デフォルトの名無しさん :01/08/26 21:25 ID:SBklp.1k
こうしてプログラマが頑張ってる横で、モー娘がどうしただので
板が落ちそうになってるのを見ると、複雑な気持ち。

684 :半角数字派 :01/08/26 21:38 ID:T95KUHcw
>>681
それは今すぐにでも採用希望(w

685 :デフォルトの名無しさん :01/08/26 21:40 ID:xL7OsRZc
>>684
ついでに、コロンが全角半角入り乱れているので整理しよう(笑

686 :デフォルトの名無しさん :01/08/26 21:42 ID:iy09H5/E
>>682
mod_gzip の導入は決定しているようなので、その辺は考えなくても良いかと。

231KB
新着レスの表示

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

0ch BBS 2004-10-30