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

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

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)、
テーブル使えば若干早くなるんじゃない?
転送量的にはどうでもいいが。

210 :デフォルトの名無しさん :2001/08/26(日) 01:54
とりあえず過去ログの改造ネタとかまとめておかない?
改造する箇所がいろいろかぶりまくったらアレだし。

211 :ななし :2001/08/26(日) 01:54
曜日表示をなくそうぜ。
一番いらない。
転送量の削減幅も小さいけれど・・・。

212 :デフォルトの名無しさん :2001/08/26(日) 01:54
技術的には改良できても、ここまで2ちゃんが巨大化してしまった以上
やはり管理者への負担はあまり変わらないような気がする。
最終的には何らの制度や規制を掛けるしかないのかもしれないが、
それだと、2ちゃん発足当時の基本的意義がなくなってしまうし。
ネットが一般化してしまった今となっては、どうすることもできないの
かもしれんね。横レスすんまそ

213 :sage :2001/08/26(日) 01:54
関数の呼び出しツリーを作るプログラムが今手元に無い…
どなたかアップしてくれませんか…

214 :デフォルトの名無しさん :2001/08/26(日) 01:55
css + <H3>タグとか使えばテーブルタグなくしても見栄えは確保できるね

215 :デフォルトの名無しさん :2001/08/26(日) 01:56
>>204
ソースか。サンクス。
んで、HTMLは動作すれば文法的には正しくなくてもOKという方針で行くの?
例えば、HEIGHT="1" ではなくて HEIGHT=1 で行く?

216 :デフォルトの名無しさん :2001/08/26(日) 01:56
>>214
CSSは転送量が増えますんで、できればやめて欲しいんですが。

217 :デフォルトの名無しさん :2001/08/26(日) 01:56
cssのスタイル定義ファイルを呼び出す負荷ってのは、
どのくらいなのでしょうか。
Webページを表示させる毎にジワジワリソースを
食い潰すのでしょうか?

218 :デフォルトの名無しさん :2001/08/26(日) 01:57
http://www.goice.co.jp/member/mo/amuse/javascript/expert/

219 :デフォルトの名無しさん :2001/08/26(日) 01:58
根本的にはcgiを使用しなければいい

220 :名無しさん || die :2001/08/26(日) 01:58
HTMLデザインはこっちに移動した方が良いと思う。
こっちは read.cgi の処理の最適化に専念。

スキルの高い方知恵を貸してください
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998741961

221 :MiM :2001/08/26(日) 01:59
>>215
それで良いと思います。

結局、「"」にしても1バイト食ってるわけです。
そんな感じで全ての無駄を省きますと、
かなり軽くなるわけです。
それは、転送量も減りますしユーザーのDLも早いわけですね。
ですから、そういった無駄を省きましょう。

222 :デフォルトの名無しさん :2001/08/26(日) 01:59
いまHTMLのソース見たら改行削除されてるみたい
全体で10行になってた

223 :デフォルトの名無しさん :2001/08/26(日) 02:00
ソースを見たのだけど、無駄多すぎ。
無駄な処理が多い事で結果的に待ちパケットを増やす結果になっていると思う。

access logはapacheにまかせようね(w

224 :デフォルトの名無しさん :2001/08/26(日) 02:00
最新版のread.cgiのソースはどっかにミラーしときませんか?
持ってる人お願いします。

スキルの高い方知恵を貸してください
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998741961
htmlはこっち。

225 :デフォルトの名無しさん :2001/08/26(日) 02:02
>>221
了解しました。あと、IEとNNで動作するものがデフォルトでいいですか?
例として、<TH>タグで囲むと太字にして中心寄せとなる、とか。

引っ越すんですか?

226 :ヨー :2001/08/26(日) 02:03
書き込むのフォームを別ウィンドウにする。

外部JavaScriptにて新しいウィンドウのHTMLを生成。

どうでしょうか?

227 :デフォルトの名無しさん :2001/08/26(日) 02:04
ちこっとみたけど、全部読み込んだ bigbufferをいじくってるねえ。
0を '*' に変えたり。
ここら辺は knowhowから出たものっぽいから変えたくなさそげ。
そんなん片付けられれば、mmap対応なんて簡単そうだが>>205

228 :デフォルトの名無しさん :2001/08/26(日) 02:11
>201
もともとJavaScript使ってるんだから、JavaScriptは問題ないんじゃない?
デフォルトの名前の展開、日時・曜日の算出、リンク貼りなんかは任せてもいいと思う。

JavaScript, CSSは外部ファイル化してサーバに置いて
ブラウザにキャッシュさせるってのは無理なの?

229 :デフォルトの名無しさん :2001/08/26(日) 02:20
FastCGI化は無理?
サーバーにモジュール組み込む必要はあるけど,リクエスト毎の
プロセス起動が無くなるので負荷軽減には貢献しそう.
http://www.fastcgi.com/

230 :デフォルトの名無しさん :2001/08/26(日) 02:21
みんなで力を合わせれ!

gzip 圧縮や Last-Modified 対応など
マクロレベルでの高速化については↓でお願いします。
2ch閉鎖の危機なんだと(Part2.1) @UNIX板
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998754174

CGI の無駄なコードの省略など
ミクロなレベルの話題は↓こちらでお願いします。
プログラマが2chを救う!? @プログラム板
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516

無駄なタグの消去やHTMLの修正などは↓こちらでどうぞ。
スキルの高い方知恵を貸してください @web制作管理板
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998741961

応援・グチは↓こちらでどうぞ。
UNIX板で2chのプログラムを開発中 パート2 @批判要望板
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=99875716
上記の意味が解らんやつは首突っ込まずに回線切ってその首吊れ。


他の板の住人へ

ここのURLを張らないで応援板のURLを張ってください。
馬鹿が多く来て話になりません。

231 :デフォルトの名無しさん :2001/08/26(日) 02:23
>>230
ここに応援スレへの誘導はいらんだろ。
あとマクロ・ミクロじゃ訳わからん。


現在このスレでは read.cgi の無駄なコードの省略や高速化など
関数毎の最適化について検討しています。

gzip 圧縮や Last-Modified 対応など
転送量軽減に関する話題は↓こちらでお願いします。
 2ch閉鎖の危機なんだと(Part2.1)
 http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998754174

無駄なタグの消去やHTMLの修正などは↓こちらでどうぞ。
 スキルの高い方知恵を貸してください @web制作管理板
 http://natto.2ch.net/test/read.cgi?bbs=hp&key=998741961


でいいかと。

232 :デフォルトの名無しさん :2001/08/26(日) 02:23
>227
\0を*に置き換えてるのは、out_htmlが\0で終了判定してるからっぽい。
流れとしては、
1. dat_readでファイルをBigBufferに読み込み、BigBuffer中の\0を*に置き換え。
2. getLineMaxで行数のカウントと、行の先頭のポインタをBigLineにセット
3. dat_outで出力ループを回す。行ごとの出力はout_html。

3のout_htmlでの終了判定を別のもの(行の長さのテーブル作るとか)に置き換えれば
BigBufferはreadonlyでよさそう。

233 :デフォルトの名無しさん :2001/08/26(日) 02:24
>>229
apachのカスタマイズは出来ないって言ってたから無理でしょ。

231KB
新着レスの表示

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

0ch BBS 2004-10-30