■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
プログラマが2chを救う!?
- 110 :デフォルトの名無しさん :2001/08/25(土) 23:21
-  >>107 
 そうそう、それ良くないよ。
 
 
- 111 :デフォルトの名無しさん :2001/08/25(土) 23:21
-  >>103 
 それがいいと思う。
 ただそうする場合、向こうにその方針伝えて置いた方がよさげ。
 
 
- 112 :デフォルトの名無しさん :2001/08/25(土) 23:21
-  むこうで作ってるのはgzip対応版でしょ? 
 向こうはデータの入出力に手を入れている。
 こっちはデータの解析・加工に手を入れている。
 違うところを修正しているのだから問題ないと思うけど。
 
 
- 113 :デフォルトの名無しさん :2001/08/25(土) 23:22
-  http://5ch.tanuq.net/ 
 5chへ移動
 
 
- 114 :デフォルトの名無しさん :2001/08/25(土) 23:22
-  むこうは間に合わせの quick hackだから、 
 こっちはちゃんと書き直すのがよいと思われ。
 
 っていうか、mmapして行数数えたほうがよくねえか?
 
 
- 115 :UNIX板より :2001/08/25(土) 23:23
-  read.cgi ver5 
 419 名前:夜勤 ★  投稿日:2001/08/25(土) 23:20
 piza2 に入りました。
 私は 転送量と load average を観察中。。。
 
 
- 116 :デフォルトの名無しさん :2001/08/25(土) 23:25
-  >>112 
 今必要とされてる課題は転送量の削減だから、
 それ以外の改良を同時に施してもわけわからなく
 なるか。
 あっちがリリースされてからのほうがいいよ
 
 
- 117 :デフォルトの名無しさん :2001/08/25(土) 23:26
-  とりあえず、サーバへの負荷よりも、トラフィックが問題らしい。 
 
 
- 118 :デフォルトの名無しさん :2001/08/25(土) 23:27
-  いま read4.c と read5.c compare したけど 
 gzip関連以外は特に変えてないみたいだよ
 
 
- 119 :デフォルトの名無しさん :2001/08/25(土) 23:27
-  レス1件ごとに処理する方式にしない? 
 とゆーかそれなら、練習の為に書いたコードが手元にある。
 
 
- 120 :デフォルトの名無しさん :2001/08/25(土) 23:31
-  ここは緊急的なスクリプトの改変をするスレじゃない。 
 とりあえずはgzipの部分と直行性のありそうな、htmlの生成の部分を
 最適化しときましょうってスレ。
 
 
- 121 :  :2001/08/25(土) 23:33
-  なんかunixスレが荒されてる 
 
 
- 122 :265 :2001/08/25(土) 23:35
-  >>119 
 アップきぼんぬ。
 
 http://server2047.virtualave.net/gorogorogoro/2chresque/
 
 か
 
 ftp://210.170.209.10/incoming
 ↑UNIX板で提供されたんだけどたぶん大丈夫でしょう
 
 
- 123 :デフォルトの名無しさん :2001/08/25(土) 23:42
-  read.cgi 5.00 gzip対応版がとりあえずは動作している模様 
 読み込みの早さから、圧縮は成功している・・と思われる
 
 2ch閉鎖の危機なんだと
 http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998695422
 
 
- 124 :デフォルトの名無しさん :2001/08/25(土) 23:43
-  ここの鯖、圧縮対応したの?妙に早い気がするんだが 
 
 
- 125 :sage@sage.com :2001/08/25(土) 23:43
-  やっぱりout_htmlとその周りの関数の最適化が一番よいのかな。 
 
 あとバッファに全部読み込まず適時fseekして読み出す場合、
 fseekのオーバーヘッドはどうなのかな?
 
 
- 126 :デフォルトの名無しさん :2001/08/25(土) 23:44
-  左下の表示 readcgi が ver5 になってる。 
 うまくいったのか?
 圧縮に対応してないクライアントだとどうなるんだ?
 
 
- 127 :デフォルトの名無しさん :2001/08/25(土) 23:45
-  >>126 
 BadAccessではじかれるんじゃない?
 
 
- 128 :UNIX板より :2001/08/25(土) 23:45
-  >>126 
 切り捨て
 
 
- 129 :デフォルトの名無しさん :2001/08/25(土) 23:45
-  ダウンロードになるんじゃない? 
 
 
- 130 :デフォルトの名無しさん :2001/08/25(土) 23:46
-  あら、切り捨てか 
 
 
- 131 :デフォルトの名無しさん :2001/08/25(土) 23:47
-  やったみたい ↓のバージョン参照 
 
 
- 132 :デフォルトの名無しさん :2001/08/25(土) 23:50
-  プログラム板住人じゃないけど 
 Win2kSP2+NN3.03Gold[ja]で問題なく表示されるよ
 
 HTTP1.1でmod_gzip が対応らしい、HTTP1.1に対応していない
 クライアントの場合は圧縮せずに転送する模様
 
 
- 133 :デフォルトの名無しさん :2001/08/25(土) 23:52
-  >>132 
 ありがと
 
 
- 134 :デフォルトの名無しさん :2001/08/25(土) 23:54
-  >>126 単に生でだらだら出されるだけだよ 
 wwwoffleで確認
 
 
- 135 :  :2001/08/25(土) 23:54
-  微妙に軽い気がする 
 
 
- 136 :しんがり :2001/08/25(土) 23:57
-  i-mode(D503i)でモナー板の表示確認しました。 
 手動でls=5にしましたが(^_^;)
 http://piza2.2ch.net/test/read.cgi?bbs=mona&key=998714496&ls=5&imode=true
 
 
- 137 :デフォルトの名無しさん :2001/08/25(土) 23:57
-  はえー。凄いな皆。 
 
 
- 138 :79 :2001/08/26(日) 00:07
-  /* 
 doReplace
 
 文字列 des の中で最初に現れた str0 を str1 に書き換える。
 des が十分大きく無いと、どうなるかはわからない。
 
 例えば des が [A][str0][B] であれば str0 を str1 に置き換え [A][str1][B] になる。
 このとき戻り値は B のポインタになる(B に対して doReplace を行うため)
 */
 char * doReplace( char * des, char * str0, char * str1 )
 {
 char *p;
 char t[SIZE_BUF];
 
 int str0_length;
 int str1_length;
 
 /* 置き換えるべき文字列の位置を取得 */
 p = strstr(des, str0);
 if (p == NULL) {
 return NULL;
 }
 
 str0_length = strlen(str0);
 str1_length = strlen(str1);
 
 /* 部分文字列以後の文字列を一時保存 */
 strcpy(t, p + str0_length);
 
 /* des に書き戻す */
 strcat(p, str1);
 strcat(p + str1_length, c);
 
 /* 部分文字列以後の文字列の位置を返す */
 return p + str1_length;
 }
 
 doReplace の無駄を少し無くしました。
 一応テストしましたが、もしかしたらバグがあるかも知れないです。
 
 
- 139 :デフォルトの名無しさん :2001/08/26(日) 00:08
-  [2ちゃんねる閉鎖騒動関連リンク集] 
 http://members.home.ne.jp/f-line/2ch.htm
 主な経緯は批判要望板を参照のこと。
 
 現在、piza2鯖にread.cgi 5.00 gzip対応版が入った模様。
 とりあえず動作していて、読み込みの早さからみると、
 圧縮は成功している・・と思われる。
 これが、8月危機の救世主になるか?
 
 …実況に懲りないモー板がやり玉に挙がらないことを願う…。
 
 
- 140 :VBPG :2001/08/26(日) 00:09
-  よし!俺も手伝うぞ! 
 
 
- 141 :w3m :2001/08/26(日) 00:12
-  test 
 deb2.2
 
 
- 142 :デフォルトの名無しさん :2001/08/26(日) 00:13
-  どうだろう。 
 
 
- 143 :デフォルトの名無しさん :2001/08/26(日) 00:16
-    
 
 
- 144 :del厨(新規) :2001/08/26(日) 00:18
-  僕に出来る事があったら言ってください! 
 
 
- 145 :デフォルトの名無しさん :2001/08/26(日) 00:20
-  >>138 
 someReplace込みで高速化したほうが良いかも
 
 
- 146 :デフォルトの名無しさん :2001/08/26(日) 00:21
-  とりあえずgzip改造はほぼ上手くいった模様。 
 Last-Modified問題はどっちのスレで片付けるのかな?
 
 
- 147 :デフォルトの名無しさん :2001/08/26(日) 00:23
-  その前に、 gzip -> zlib 改造が必要? 
 
 
- 148 :sage@sage.com :2001/08/26(日) 00:28
-  dat_readのgetLineMax周りに手を加えてみました。 
 
 if(!BigBuffer)
 {
 html_error("メモリの確保に失敗しました。");
 lineMax = -8;
 }
 
 fp = fopen(fname,"r");
 if(!fp)
 {
 html_error("そんな板orスレッドないです。");
 return0;
 }
 fread(BigBuffer,zz_fileSize,1,fp);
 fclose(fp);
 BigBuffer[zz_fileSize] = '\0';
 
 for(i=0;i<zz_fileSize;i++)
 {
 if(BigBuffer[i] == '\0')BigBuffer[i] = '*';
 
 if(BigBuffer[i] == '\n')
 {
 BigLine[i] = (char *)&BigBuffer[i];
 BigBuffer[i] = '\0';
 if(lineMax <= RES_RED)
 lineMax++;
 }
 }
 
 return 0;
 
 これでgetMaxLine関数を使用する必要がなくなるかと思います。
 
 
- 149 :デフォルトの名無しさん :2001/08/26(日) 00:29
-  最新のread.cgiのソースクレクレ 
 
 
- 150 :デフォルトの名無しさん :2001/08/26(日) 00:32
-  UNIX板繋がらないんですけど?? 
 サーバ大丈夫かおい
 
 
- 151 :デフォルトの名無しさん :2001/08/26(日) 00:34
-  ここがウニ板の避難所ですか(´Д`;) 
 
 
- 152 :デフォルトの名無しさん :2001/08/26(日) 00:35
-  ftp://210.170.209.10/incoming/ 
 
 
- 153 :デフォルトの名無しさん :2001/08/26(日) 00:35
-  >>150 
 荒らされる模様
 
 
- 154 :デフォルトの名無しさん :2001/08/26(日) 00:35
-  ROMが異様に多いのとキチガイが猛烈な荒らしをかけてスレが機能してません…>Unix板スレ 
 
 
- 155 :デフォルトの名無しさん :2001/08/26(日) 00:35
-  最新版はここだってよ 
 ftp://210.170.209.10/incoming/new_ver
 
 
- 156 :デフォルトの名無しさん :2001/08/26(日) 00:36
-  向こうは気違いが発狂中だなあ。 
 
 
- 157 :153 :2001/08/26(日) 00:36
-  ○荒らされてる 
 ×荒らされる
 
 
- 158 :1時間程ROMしてるけど :2001/08/26(日) 00:37
-  ここ10分ぐらいで猛烈にパフォーマンス悪くなったね>UNIX板 
 
 
- 159 :デフォルトの名無しさん :2001/08/26(日) 00:37
-  UNIX板が「無駄」ヴァカに荒らされてて、カキコめない。 
 だれか、奴を殺せるやついないか?
 
 それから、 >>155 の場所は、あの 369 さんのところなんだから、
 用のないパケットは絶対に飛ばさないように。
 
 
- 160 :デフォルトの名無しさん :2001/08/26(日) 00:39
-  gzip改造の成果のお陰でmod_gzipの導入が検討されているらしい。 
 このスレッドではひとまず Ver4.21の改造を考えるべきかも。
 
 
- 161 :デフォルトの名無しさん :2001/08/26(日) 00:39
-  荒らしてる奴のIP抜きたい所だが、ああいうのに限って 
 串とか通してそうだからなあ。
 
 
- 162 :デフォルトの名無しさん :2001/08/26(日) 00:40
-  ウザいよ>Unix板住民 
 雑談・マ板避難所スレでやれ
 
 
- 163 :デフォルトの名無しさん :2001/08/26(日) 00:41
-  >>162 
 omaegana-
 
 
- 164 :デフォルトの名無しさん :2001/08/26(日) 00:41
-  つーか、今まで出てきた改造案をいったんまとめんか? 
 ある程度まとめて試験とかやったほうが効率よさそうだし
 
 
- 165 :デフォルトの名無しさん :2001/08/26(日) 01:05
-  改造手伝っていいけど、何すりゃいい? 
 
 
- 166 :>165 :2001/08/26(日) 01:06
-  好きにやって、結果をageてくれ。 
 
 
- 167 :sage@sage.com :2001/08/26(日) 01:10
-  すまん、ちょっと訂正>>148 
 
 if(!fp)
 {
 html_error("そんな板orスレッドないです。") ;
 lineMax = 0;  ←追加
 return 0 ;
 }
 
 ファイルエラー時にlineMaxが-8のままになるのを修正。
 
 
- 168 :79 :2001/08/26(日) 01:13
-  someReplace と doReplace をまとめました。 
 >>145 さん。指摘どうもです。
 
 /*
 someReplace
 
 src の中の str0 をすべて str1 に置き換えた文字列を des に入れて返す。
 des は呼び出し側で十分なメモリ取っといてな
 */
 int someReplace(char * src, char * des, char * str0, char * str1 )
 {
 char temp[SIZE_BUF];
 int str0_length = strlen(str0);
 int str1_length = strlen(str1);
 
 /* 置き換える文字列を取っとく */
 strcpy( des, src );
 
 /* まだ文字列が残っていればループ */
 while (des) {
 
 /* 置き換えるべき文字列の位置を取得 */
 des = strstr( des, str0 );
 if (des == NULL) {
 break;
 }
 
 /* 部分文字列以後の文字列を一時保存 */
 strcpy(temp, des + str0_length);
 
 /* des に書き戻す */
 strcpy(des, str1);
 strcat(des + str1_length, temp);
 
 /* 部分文字列以後の文字列の位置を返す */
 des += str1_length;
 }
 
 return 1;
 }
 
 
- 169 :UNIX板のスレ氏んj :2001/08/26(日) 01:13
-  If-Modified-Since関係いついては、この辺もちょと読んでみてくれ。 
 ブラウザの挙動や、一番の問題点である、
 「同じリクエストに返すHTMLが二種類ある」点も触れている。
 http://green.jbbs.net/computer/bbs/read.cgi?BBS=479&KEY=989936380&START=28
 
 といっても、緊急なので、キャッシュされた時間なんか無視して
 とりあえずIf-Modified-Sinceに反応するのが良いかもしれん。
 
 あと、大抵のブラウザは、Last-Modifiedを付加しなくても
 レスポンスのDate:を元にIf-Modified-Sinceを付けてくれそうだが、
 proxy等を考えると付加したほうがよさそうな気もする。
 
 
- 170 :デフォルトの名無しさん :2001/08/26(日) 01:22
-  UNIX板より転載age 
 
 ソース見たけど、無駄なprintfが多いな…。
 
 printf("\
 2ちゃんねるだいすき<br>\
 おれもおうえんするよ<br>\
 ");
 
 な感じで書けば、わずかだけど早くなんない?
 
 
- 171 :デフォルトの名無しさん :2001/08/26(日) 01:27
-  今時のコンパイラなんだから、 
 printf(
 "2ちゃんねるだいすき<br>"
 "おれもおうえんするよ<br>"
 );
 にしろよ。読みやすさも違うし。
 
 
- 172 :デフォルトの名無しさん :2001/08/26(日) 01:27
-  トリッキーの1こいこい 
 
 
- 173 :デフォルトの名無しさん :2001/08/26(日) 01:27
-  コンパイラが最適化するからおんなじと見た。 
 それより\nがいらね。
 
 
- 174 :デフォルトの名無しさん :2001/08/26(日) 01:28
-  index2.html を削る方法を考えてみた。 
 
 1. age / sage しかいれないので 名前に mailto: は不要
 2. スレッドの最後の
 >レスを全部読む 最新レス50 レス1−100 掲示板のトップへ リロード
 レスを全部読む 最新レス50 レス1−100 の3つでいいのでは?
 3.ラジ@ のバナーがすべての板に張ってあるが必要なの?
 
 
- 175 :デフォルトの名無しさん :2001/08/26(日) 01:28
-  >>170 
 10年前じゃあるまいし、毎回zip圧縮してるようなソフトで
 そんなみみっちい最適化したところで何がどう変わるというのだ。
 
 
- 176 :デフォルトの名無しさん :2001/08/26(日) 01:30
-  ところで、サーバー負荷の点では、明らかにCGIは劣るわけだが、 
 read.cgiの仕様を元にread.phpを作るとかは、
 現状では無駄なのかな?
 ・・・俺には無理だけど
 
 
- 177 :デフォルトの名無しさん :2001/08/26(日) 01:31
-  なぁんかオープンソースな感じでカッコいいね。 
 ついでにCのCGIも全部サーブレットにすればいいのに。
 やっぱ、サーバの設定がかえれないとかで駄目なのかな?
 
 
- 178 :デフォルトの名無しさん :2001/08/26(日) 01:31
-  http://server2047.virtualave.net/gorogorogoro/readres.cgi?bo=2chresque&vi=998756363 
 以前練習に書いたコードの一部です。レス1件ごとに読んで処理してく方式です。
 ローカルで実行することを前提にしてるんで、>>半角のタグの書き換え等
 無駄な処理もやってます。
 デミリタが<>に変った際にやっつけ仕事で拡張したので、その部分は
 カッコ悪くなってます。
 
 
- 179 :デフォルトの名無しさん :2001/08/26(日) 01:33
-  read5.c はどこ? 
 つーか sourceforge かなんか使わない?
 
 
- 180 :170 :2001/08/26(日) 01:34
-  さらにネタ出し。 
 INPUTタグのTYPE=textは省略可能だったと思うが。
 
 
- 181 :デフォルトの名無しさん :2001/08/26(日) 01:36
-  >>173 
 >コンパイラが最適化するからおんなじと見た。
 確認したのか?コンパイラがprintfを特別扱いするとはとても思えん。
 
 >175
 一日100万以上のヒットがあるから
 ちょっとでも高速化することでそれなりに負荷が減る。
 
 
- 182 :デフォルトの名無しさん  :2001/08/26(日) 01:38
-  「名前:」「投稿日:」がいらない。 
 そんなの説明されなくてもわかるし。
 
 
- 183 :名無し :2001/08/26(日) 01:39
-  >>182 zipが削るでしょ 
 
 
- 184 :デフォルトの名無しさん :2001/08/26(日) 01:39
-  細かいとこやる前に、大きな流れをまず確定させないか? 
 関数単位にやってもその関数が無くなるかもしれんし。
 
 
- 185 :180 :2001/08/26(日) 01:39
-  ・属性に不要な¥”が多すぎる。 
 ・大文字と小文字の混在は圧縮率の低下を招く。
 ・<FONT FACE=***>は要らん。
 ・SCRIPTの  LANGUAGE=JavaScript も要らん。
 ・TABLEの BORDER=1 は、単に BORDER でいいはず。
 
 gzipうんぬんも大切だが、HTML自体がスリムアップできてない。
 たとえ1バイトでも馬鹿にすることなかれ。
 
 
- 186 :デフォルトの名無しさん :2001/08/26(日) 01:40
-  >184 
 トップダウン・ボトムアップの両方からやりましょ。
 
 
- 187 :デフォルトの名無しさん :2001/08/26(日) 01:41
-  phpはだめなの? 
 
 
- 188 :デフォルトの名無しさん  :2001/08/26(日) 01:41
-  >>184 
 プロファイリングが大事だよね
 
 
- 189 :デフォルトの名無しさん :2001/08/26(日) 01:41
-  htmlのタグやレイアウトの話はweb系の板でやらないか? 
 
 
- 190 :デフォルトの名無しさん :2001/08/26(日) 01:42
-  >>189 
 そうしましょう
 
 
- 191 :デフォルトの名無しさん :2001/08/26(日) 01:43
-  まだ、ざっと見だが、 
 ・freadはmmapで置き換え(既出)
 ・zlib使えるなら、popenでgzipに渡すよりzlib使ったほうがプロセス起動がいらない。
 と思った。
 手元にLinuxないからやりづらい。
 
 
- 192 :デフォルトの名無しさん :2001/08/26(日) 01:44
-  gzip入るなら恐らく無意味だけど 
 サーバ側で<html>内圧縮して JavaScriptで展開ってできんかな?
 
 
- 193 :デフォルトの名無しさん :2001/08/26(日) 01:44
-  まずは、スレ全部をbufに読み込んで処理してる部分の是非を考えましょう。 
 
 
- 194 :340 :2001/08/26(日) 01:44
-  とりあえずprintfはなんとかしないとな。 
 ちょっと辞書でしらべてみる。
 
 
- 195 :デフォルトの名無しさん :2001/08/26(日) 01:44
-  >>189 
 どこのスレでやってるの?
 
 
- 196 :デフォルトの名無しさん :2001/08/26(日) 01:45
-  あと、ソースを見つけられない人のためにソースの位置も欲しい。 
 
 
- 197 :デフォルトの名無しさん :2001/08/26(日) 01:46
-  スキルの高い方知恵を貸してください 
 http://natto.2ch.net/test/read.cgi?bbs=hp&key=998741961
 htmlのタグ、レイアウトは↑に行きましょう。
 
 
- 198 :デフォルトの名無しさん :2001/08/26(日) 01:47
-  >192 
 いっそのことCSVだかdat渡してクライアントで全部展開するとか
 
 
- 199 :デフォルトの名無しさん :2001/08/26(日) 01:48
-  >>152のftp鯖っておちたのか? 
 それともただたんにアノニにパーミッションがないだけか?
 
 
- 200 :デフォルトの名無しさん :2001/08/26(日) 01:48
-  index2.html育成するとき、改行コードいれるのやめ。 
 ソースみずらくなってもかまわんやろ?
 
 
- 201 :_ :2001/08/26(日) 01:49
-  >>192 
 ジャバスクリプト自体(セキュリティーの関係上)嫌ってる人がいるらしいから無理っぽいかな
 
 
- 202 :デフォルトの名無しさん :2001/08/26(日) 01:49
-  >>200 
 それは別の話。とりあえずはread.cgiに絞る。
 
 
- 203 :デフォルトの名無しさん :2001/08/26(日) 01:51
-  >>189 
 これ以上乱立するのはイヤだからここでいいよ。
 つーかまぁ全体的にWEBプロ板の話題なんだけどな(w
 
 
- 204 :デフォルトの名無しさん :2001/08/26(日) 01:51
-  >>199 
 サーバのアドレスが変わってます。
 新しいアドレスはここ。
 
 ftp://210.170.134.228/incoming/
 
 
- 205 :デフォルトの名無しさん :2001/08/26(日) 01:51
-  >193 
 mmap使えば、それを考える必要はないです。(仮想メモリ消費は増えるけどたいしたことないでしょう)
 mmapでファイルを仮想メモリに割り当てれば、メモリ間コピーもないし、ディスクからの
 実際の読み込みも、オンデマンドで行われます。
 
 
- 206 :デフォルトの名無しさん :2001/08/26(日) 01:51
-  JAVAScriptは全部頭に埋め込んであるが 
 外部ファイルにしてやれば、少しはましになると思ふ
 
 
- 207 :デフォルトの名無しさん :2001/08/26(日) 01:52
-  >>202 
 失敬
 
 
- 208 :206 :2001/08/26(日) 01:52
-  スレ違いだった・・・スマソ 
 
 
- 209 :180 :2001/08/26(日) 01:52
-  >>189 
 分かったが、ネタ切れ。
 一応漏れはプログラマーだからC言語の話にする。
 ボトムアップでな。
 
 read4.cのint hrefStop(char x)、
 テーブル使えば若干早くなるんじゃない?
 転送量的にはどうでもいいが。
 
 
231KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30