X



bbs.cgi再開発プロジェクト7

■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
垢版 |
NGNG
bbs.cgiの開発作業をすすめていくためのスレッドです。

FOXさんの努力によりSpeedyCGIへの対応が行われ、
パフォーマンスの向上が図られたbbs.cgi。

・雪だるま作戦への対応
・さらなるカスタマイズ
・パフォーマンスの向上
・微妙な虫取り
・長いメインルーチンをより短くコンパクトに

あたりがターゲットか。

前スレ:
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/
NGNG
過去スレ:
bbs.cgi 再開発プロジェクト
http://qb3.2ch.net/operate/kako/1053/10530/1053067870.html
bbs.cgi再開発プロジェクト2
http://qb3.2ch.net/operate/kako/1069/10691/1069144193.html
bbs.cgi再開発プロジェクト3
http://qb5.2ch.net/operate/kako/1076/10766/1076666901.html
bbs.cgi再開発プロジェクト4
http://qb5.2ch.net/operate/kako/1101/11019/1101984763.html
bbs.cgi再開発プロジェクト5
http://qb5.2ch.net/operate/kako/1103/11034/1103495887.html
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/

関連スレ:
【雪だるま】bbsd⇔各cgi間のI/F仕様について考え・詰めていくスレッド
http://qb5.2ch.net/test/read.cgi/operate/1130482779/
2005/11/02(水) 17:06:52ID:LLtT2fuS0
/i

っていまだに生きてるんでしょうかね?
もしそうでなければ「Apacheレベルでcへリダイレクトに変更」でもかまわないとおもうのですが・・・

# たしかiってcの前身でいいんですよね?
NGNG
前スレの終盤で出た事項:
・/i はのろいらしい
・で、ほとんど取ったつもりだが、まだちょっとだけ残っているらしい

988 名前:root▲ ★[sage] 投稿日:2005/11/02(水) 16:46:50 ID:???0 ?###
友人の話では、Perl では /i の処理がめちゃんこ遅いという話があるらしい。

つまり、
if($ENV{'SERVER_NAME'} =~ /2ch\.net/i)

みたいなのも、ちりも積もれば山となる可能性ありと。

989 名前: ◆SSu.zv/rvs [sage] 投稿日:2005/11/02(水) 16:48:01 ID:4sehsTr40
ほとんど /i は取ったつもりだけど・・・

990 名前:▲ ◆SANUKI/VII [sage] 投稿日:2005/11/02(水) 16:48:34 ID:j49UPKofP
iってまだあったっけ?

991 名前:root▲ ★[sage] 投稿日:2005/11/02(水) 16:50:00 ID:???0 ?###
>>989
多くはないみたいですが、いくつか散見されるようです。
(>>988 は実際のソースからのコピペ)

992 名前:root▲ ★[sage] 投稿日:2005/11/02(水) 16:54:08 ID:???0 ?###
気づいたところは、私のほうでも取っておくです。
今ざっと見直してみましたが、たぶん、もうそんなにないと思いますです。
NGNG
>>3
えっと、そうじゃなくて、文字列比較の時の /i です。
つまり、大文字小文字を区別しない場合の話。

どうも、Perlってこんなかんじのことをしているらしいのです(裏とっていないのでうそかもです)。

/ABC/i の処理

abc
abC
aBc
Abc
AbC
ABc
AbC
aBC
ABC
と、それぞれ比較
NGNG
あ、AbCがひとつ多いね。
NGNG
おじさんが急いで1000取りしてるように見えた
2005/11/02(水) 17:33:35ID:4sehsTr40
正規表現をインタプリタで動かしたら
1,000万はあながち嘘じゃないっすよ
2005/11/02(水) 17:38:30ID:34OWbqDs0
Perlをインタプリタと言い切るのは誤解の元
NGNG
>>8
複雑なのをくべると、まじめにありそうですね。< 1000万

/i の件については、知り合いのPerlプログラマの話だと、

/ABC/i
/[Aa][Bb][Cc]/

で、下のほうが明らかにパフォーマンスがいい(というか、上が悪杉らしい)そうなので、
Perlの /i の実装がへぼいということの模様です。
2005/11/02(水) 18:03:00ID:LLtT2fuS0
>>10
あーその話ですか、スマソ。では本件の場合は2ch.netの大文字小文字区別なわけなので

if($ENV{'SERVER_NAME'} =~ /2ch\.net/i)



if($ENV{'SERVER_NAME'} =~ /2[Cc][Hh]\.[Nn][Ee][Tt]/)

とすればいいんでしょかね。
NGNG
>>11
そういうことなわけですが、
現状、単純に /i を取ってしまってもいいような気がします。
2005/11/02(水) 18:08:47ID:34OWbqDs0
ttp://qb5.2CH.NET/ではアクセスできないんだっけ?
ドメインはCase無関係だよね
2005/11/02(水) 18:09:02ID:4sehsTr40
わたしは
2005/11/02(水) 18:09:22ID:4sehsTr40
iをとってコーディングしています
NGNG
>>14-15
…ですね。ほとんどの部分はそうなっているです。

>>13
規格上はそうですが、そのへんはいろいろ微妙なようですね。
小文字に直してから送出してくるブラウザやシステムも、少なからずある模様。
2005/11/02(水) 18:13:03ID:4sehsTr40
実際にはそれで(iなし) 何の問題も起こっていません
2005/11/02(水) 18:15:39ID:4sehsTr40
ちなみに

2CH.net 等でアクセスしたら(bbs.cgiにそう入ってきたら) Samba24=600 にしてます
2005/11/02(水) 18:40:49ID:NA5zqcSJO
iがどのくらい遅いかは、考えるより測ったほうがいいんじゃない?
use Benchmark;で。
NGNG
>>19
そんなのあるですか。

とりあえずできるだけ(数箇所ですが)、追放してみた。 @ qb6
様子を見て配布予定。
2005/11/02(水) 18:48:02ID:mRTXrOn10
>>18
$ENV{SERVER_NAME}はブラウザから渡される値を直ではなくapacheが生成するのでは?

まあ/iが高価なこととは関係ないんだけど
2005/11/02(水) 18:52:20ID:4sehsTr40
いやー

言いたいことは 「iは使わない」という方針でやっているから
議論の意味がないということだったり
NGNG
>>22
999(仮名)をみるところも、/i 追放してよかですか?
2005/11/02(水) 18:54:37ID:4sehsTr40
できるならってことかと、
NGNG
>>24
なるほど。
じゃ、追放したいですね。1レスごとに絶対になめるところだから。

追放しますので、規制リストを書く時には気をつけてくださいーって、
ちょろさんに伝えておいてくださいです。
2005/11/02(水) 18:58:26ID:4sehsTr40
ちょろさんがやっているのは一面かと、
多面はアクセスする側だったり、、、
2005/11/02(水) 18:58:56ID:4sehsTr40
他面だった
NGNG
sec2chdを見ている限り、大文字小文字がきちんと入るなら、
現状ならアクセスする側も実害はないかなと、思っていたり。
2005/11/02(水) 19:07:10ID:34OWbqDs0
use Benchmarkも良いけど、プロファイルもね。
NGNG
>>29
ですね。
プロファイリングのおかげで、
改良前のIsKoukokuがめちゃくちゃ高コストだったことがわかったです。

今は※の人の改良のおかげで、live系以外は有効にできました。
NGNG
BBS.CGI - 2005/11/03

index.html にできるリンク関連を修正。

・www2.ime.st => www.ime.st
https:// でも ftp:// でも http:// になってしまっていたのを修正(虫取り)
・同時に /ig も追放。
2005/11/03(木) 05:17:16ID:nCUOBDm10
root氏めちゃくちゃおっつぃんぐ
NGNG
さらに調整。

https:// と ftp:// は ime.st / pinktower.com を経由しない
(bbs.cgiが当初の思想として予期した動作)
http:// の外部リンクは ime.st / pinktower.com 経由(従来通り)
・gopher: whois: news: telnet: の特殊処理を廃止
https:// と ftp:// の処理は、一部サーバ(live系など)ではリンクにしない
http:// は従来通りどのサーバでもリンクにする
NGNG
重そうな正規表現パターンマッチングを少しは整理できたと思うです。
html/ の下のやつ全部、この処理通っているので、
意外とばかにならないんじゃないかなと。
NGNG
>>33 は、板トップ(index.html)生成部分の処理です。
(read.cgi ではないので要注意)
2005/11/03(木) 11:24:31ID:iErLJGey0
>>33
> ・gopher: whois: news: telnet: の特殊処理を廃止

そんなごにょごにょしてたんですか・・・
NGNG
>>36
大昔から、変わってなかったんでしょうね。

この4つは「私が2ちゃんねるに来た2001年〜現在まで、
一度もリンクとして使われているのを見たことがなかった」ので、
もはや不要であろうと判断したです。
NGNG
&jcode::tr(\$GB->{FORM}->{'FROM'}, '#', '#');
とか、
&jcode::tr(\$GB->{FORM}->{'mail'}, '#', '#');

とかって、もうちょっと効率よくできないのかしら。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況