bbs.cgiの開発作業をすすめていくためのスレッドです。
FOXさんの努力によりSpeedyCGIへの対応が行われ、
パフォーマンスの向上が図られたbbs.cgi。
・雪だるま作戦への対応
・さらなるカスタマイズ
・パフォーマンスの向上
・微妙な虫取り
・長いメインルーチンをより短くコンパクトに
あたりがターゲットか。
前スレ:
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/
探検
bbs.cgi再開発プロジェクト7
■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
NGNG2005/11/13(日) 23:02:43ID:PTNu5bzS0
今、むーさんの人間性を垣間見たお。
さて、、、。
1001のところ、どうするですかねぇ。
私は今の実装でも大きな問題はないと思っていたりしますが。
全部の船に共通の変数があるといいんですが、
たぶんそういうのは、なさげだし。
1001のところ、どうするですかねぇ。
私は今の実装でも大きな問題はないと思っていたりしますが。
全部の船に共通の変数があるといいんですが、
たぶんそういうのは、なさげだし。
WriteDatFile … datに追記
GetDatInfo … dat行数、>>1の内容、datの最後のいくつか(html/の下作成用)を取得
if (datが1000以上) Over1000 … 1001を書いて、chmod 555
というのが、今の流れです。
これをどうするのが、いんだべか。
GetDatInfo … dat行数、>>1の内容、datの最後のいくつか(html/の下作成用)を取得
if (datが1000以上) Over1000 … 1001を書いて、chmod 555
というのが、今の流れです。
これをどうするのが、いんだべか。
181ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/14(月) 00:26:57ID:SGvz0hKn0 >>180
そこのパーミッション書き換えタイミングにレスが重なると1000overカキコが
多発するんでしたっけ?
レス>1001の時にdat追記そのものを破棄することって難しいのかな?
多分難しいからおいちゃんも今の形にしてあったとは思うのですけど。
そこのパーミッション書き換えタイミングにレスが重なると1000overカキコが
多発するんでしたっけ?
レス>1001の時にdat追記そのものを破棄することって難しいのかな?
多分難しいからおいちゃんも今の形にしてあったとは思うのですけど。
2005/11/14(月) 00:53:46ID:zmjS5IW10
perlってappendモードで開いているファイルに対して
ftell相当のこと出来ないのけ?
出来るなら、「自分が書き込んだ後の末尾の位置」を覚えておいて
再度(行数判定等のために)読み込んだときの合計サイズと一致している場合のみ
(==1000を書き込んだのが自分である場合のみ)
1001を追記したらよいのでは?
既にオープンしているファイルからftellするのは、
I/Oコスト的には大したことないはずだし。
ftell相当のこと出来ないのけ?
出来るなら、「自分が書き込んだ後の末尾の位置」を覚えておいて
再度(行数判定等のために)読み込んだときの合計サイズと一致している場合のみ
(==1000を書き込んだのが自分である場合のみ)
1001を追記したらよいのでは?
既にオープンしているファイルからftellするのは、
I/Oコスト的には大したことないはずだし。
186ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/14(月) 01:08:58ID:SGvz0hKn0 あーそうか。「同時に」なんだ。
てことは,実現させるには1001番以上が付くかどうかを各bbs.cgiが判定して,
以上なら強制的に止めてしまうしかないんですねえ。
てことは,実現させるには1001番以上が付くかどうかを各bbs.cgiが判定して,
以上なら強制的に止めてしまうしかないんですねえ。
189ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/14(月) 01:11:30ID:SGvz0hKn0 でもコレだと高負荷時の挙動が怖いようなw
予想されるのは、
1000
1001 1000を超えました。。。
1002 普通の書き込み
とかで、終わるパターンすね。
chmod 555 は必ずするので、
壊れるリスクは今と同じのはず。
1000
1001 1000を超えました。。。
1002 普通の書き込み
とかで、終わるパターンすね。
chmod 555 は必ずするので、
壊れるリスクは今と同じのはず。
2005/11/14(月) 01:18:48ID:zmjS5IW10
あ、そっか。
まず書き込みをして、それから書けたかどうか判定するのか。
と思ったけど、>>184の5行目の()内が間違いで
(==最終レスを書き込んだのが自分であった場合のみ)
が正しいのかな。
とは言っても、「再読込」した後で他のプロセスが書き込んじゃうという
可能性もある(というより、現状その状態っぽい?)ので
複数プロセスがが1001を書き込むのは避けられない点は同じか。
まず書き込みをして、それから書けたかどうか判定するのか。
と思ったけど、>>184の5行目の()内が間違いで
(==最終レスを書き込んだのが自分であった場合のみ)
が正しいのかな。
とは言っても、「再読込」した後で他のプロセスが書き込んじゃうという
可能性もある(というより、現状その状態っぽい?)ので
複数プロセスがが1001を書き込むのは避けられない点は同じか。
193▲ ◆cZfSunOs.U
2005/11/14(月) 01:19:56ID:tChr8Idl0 確実にやるにはロックなどで排他制御するしかないでしょうね.
ロック使用を回避するなら,わずかでもタイミングの隙が発生するのは不可抗力かと......
ロック使用を回避するなら,わずかでもタイミングの隙が発生するのは不可抗力かと......
>>195
おおっ そんなのあるんですか、
おおっ そんなのあるんですか、
197ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/14(月) 01:28:43ID:SGvz0hKn0 むずかしいー
1000時のみロックとかできないんでしょうかー
とか思ってしまいますです
まあ,1000以降で実際に書き込まれないならいいかな なんて思ったりもしますがw
1000時のみロックとかできないんでしょうかー
とか思ってしまいますです
まあ,1000以降で実際に書き込まれないならいいかな なんて思ったりもしますがw
2005/11/14(月) 01:30:04ID:zmjS5IW10
ん?現状でも、既に
AとBが両方書き込んだ後、
A:読み込み(.datは1000行)
B:読み込み(.datは1000行)
A:1001書き込み(.datは1001行)
B:1001書き込み(.datは1002行)
という経過によって、複数の1001が書かれているのではないですか?
とすると、読み込んだ内容をどう判定しようと
重複1001は減らないのでは?
AとBが両方書き込んだ後、
A:読み込み(.datは1000行)
B:読み込み(.datは1000行)
A:1001書き込み(.datは1001行)
B:1001書き込み(.datは1002行)
という経過によって、複数の1001が書かれているのではないですか?
とすると、読み込んだ内容をどう判定しようと
重複1001は減らないのでは?
199ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/14(月) 01:34:41ID:SGvz0hKn0 こんなの?
$lastdat = "1001<><>Over 1000 Thread<> $b1000 <>\n";
# 既に1001が書いてあったら、書くのをやめる
if ($GB->{DATLAST}[-1] ne $lastdat)
{
# 1001書き込み処理
if(open(OUT,">>$dat"))
{
print OUT $lastdat;
close(OUT);
# $GBの処理
# datの番号をひとつすすめる
++$GB->{DATNUM};
# $GB->{DATLAST}をひとつ押し出す
shift(@{$GB->{DATLAST}});
push(@{$GB->{DATLAST}}, $lastdat);
}
}
# datを書けなくする
umask(0);
chmod(0555, $dat);
return 0;
$lastdat = "1001<><>Over 1000 Thread<> $b1000 <>\n";
# 既に1001が書いてあったら、書くのをやめる
if ($GB->{DATLAST}[-1] ne $lastdat)
{
# 1001書き込み処理
if(open(OUT,">>$dat"))
{
print OUT $lastdat;
close(OUT);
# $GBの処理
# datの番号をひとつすすめる
++$GB->{DATNUM};
# $GB->{DATLAST}をひとつ押し出す
shift(@{$GB->{DATLAST}});
push(@{$GB->{DATLAST}}, $lastdat);
}
}
# datを書けなくする
umask(0);
chmod(0555, $dat);
return 0;
203ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/14(月) 01:52:59ID:SGvz0hKn0 おおーなんとなく流れはわかる
2005/11/14(月) 01:53:29ID:vBIRRhl/0
$GB->{DATLAST} は配列のリファレンスなので
$GB->{DATLAST}[-1] でなく $GB->{DATLAST}->[-1] かと
$GB->{DATLAST}[-1] でなく $GB->{DATLAST}->[-1] かと
205▲ ◆cZfSunOs.U
2005/11/14(月) 02:00:20ID:tChr8Idl0 umask() は open() や mkdir() には影響しますが,chmod() には影響しないので不要ですね.
むしろない方が chmod() の実行タイミングがわずかながら早くなって,その分隙は減るかと.
むしろない方が chmod() の実行タイミングがわずかながら早くなって,その分隙は減るかと.
>>205
なくすです。
なくすです。
http://qb6.2ch.net/test/read.cgi/operate2/1131891346/
ちょっとliveanbから1000いったやつを持ってきて、
2つ削って試してみた。
とりあえず、通常処理には影響なさげ。
ちょっとliveanbから1000いったやつを持ってきて、
2つ削って試してみた。
とりあえず、通常処理には影響なさげ。
で、上のほうにも書きましたが、
何かのタイミングで、
1000 普通のレス
1001 1000を超えました。
1002 普通のレス
みたいなことが、起こるかもですね。
chmod() はするので、止まりはするはずですが。
何かのタイミングで、
1000 普通のレス
1001 1000を超えました。
1002 普通のレス
みたいなことが、起こるかもですね。
chmod() はするので、止まりはするはずですが。
212root▲ ★
NGNG # 051114a 雪だるまに向けたクリーンナップ大作戦 その7
# NotifyBBY, NotifyBBS, SuretateTotalCheck サブルーチン化
# これで雪だるまに向けたbbs_mainのコンパクト化はほぼ終了、長かった by む
# NotifyBBY, NotifyBBS, SuretateTotalCheck サブルーチン化
# これで雪だるまに向けたbbs_mainのコンパクト化はほぼ終了、長かった by む
2005/11/14(月) 08:03:04ID:Ggx4DB2VO
$#array
要素数-1を返す
一応…
要素数-1を返す
一応…
214桶屋
2005/11/14(月) 08:40:00ID:TwePZ4IU0215桶屋
2005/11/14(月) 08:45:17ID:TwePZ4IU0 >>211
技術はひとまず置いておいて、これは本当にオッケーですか?
スレッドが終端しない=一番最後に1001の書き込みがないと、
ユーザーがずっと書き込もうと行動し続ける気がするのですけど……。
速い時ほど、そんなことが起きる気がします。
技術はひとまず置いておいて、これは本当にオッケーですか?
スレッドが終端しない=一番最後に1001の書き込みがないと、
ユーザーがずっと書き込もうと行動し続ける気がするのですけど……。
速い時ほど、そんなことが起きる気がします。
二年ほど前「もう timecount/timecloseは必要ないだろ」と思いはずしたことがあります。
結果はぼろぼろで、あわてて元に戻しました。
連投あらしのオンパレードでした。
それも低速タイプのやつ。(2ちゃんねるのほとんどの板は低速です)
結果はぼろぼろで、あわてて元に戻しました。
連投あらしのオンパレードでした。
それも低速タイプのやつ。(2ちゃんねるのほとんどの板は低速です)
2005/11/14(月) 10:33:47ID:CMiI899X0
2005/11/14(月) 10:43:05ID:coSAVKKv0
そういう自動書き込みスクリプト(繋ぎ換えまで一緒にやるようなの)は、
まだゴロゴロしてますからね。。
繋ぎ変えは、もう一歩技術がいるようですけど(プロバイダによるし)、
スクリプト自体は、厨房でも設定可能なレベルみたいですし。
特にタイマー式は厄介(自動確認式もあるし。新規投稿が1回あったら
数回AAを自動投稿するとか。進行遅いスレだと、それだけで簡単に潰せる)。
まだゴロゴロしてますからね。。
繋ぎ変えは、もう一歩技術がいるようですけど(プロバイダによるし)、
スクリプト自体は、厨房でも設定可能なレベルみたいですし。
特にタイマー式は厄介(自動確認式もあるし。新規投稿が1回あったら
数回AAを自動投稿するとか。進行遅いスレだと、それだけで簡単に潰せる)。
219root▲ ★
NGNG >>215
1001メッセージは合成不可能なので、一つは書かれるはずと。
で、どうせそのスレには書けなくなるので、移行していただけると信じているです。
# でも、1001で終わってないスレは、ちょっと気持ち悪いかも。
1001メッセージは合成不可能なので、一つは書かれるはずと。
で、どうせそのスレには書けなくなるので、移行していただけると信じているです。
# でも、1001で終わってないスレは、ちょっと気持ち悪いかも。
2005/11/14(月) 21:08:02ID:p8c0EbPl0
すごいの出ちゃったみたいなのなの
http://ex10.2ch.net/test/read.cgi/news4vip/1131958980/
http://ex10.2ch.net/test/read.cgi/news4vip/1131958980/
221ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/14(月) 21:21:05ID:SGvz0hKn0 ありゃ…やっぱり普通のがよかったのかしら
222どくどくさぼてん
2005/11/14(月) 21:23:04ID:E7BBAaWz0 そこは秒間20回とか書き込んでる馬鹿がいるからっぽいし、
そんなもんでいいんじゃないっすかねぇ。
まぁ、あれで止まってるほうがよかったって感じで。
そんなもんでいいんじゃないっすかねぇ。
まぁ、あれで止まってるほうがよかったって感じで。
2005/11/14(月) 21:40:34ID:Ggx4DB2VO
Sambaは?
224▲ ◆cZfSunOs.U
2005/11/14(月) 22:30:02ID:tChr8Idl0 まぁ bbsd 版ではそれぐらいのでもちゃんと止まる......と思います.
2005/11/14(月) 23:41:49ID:sUaCAHF20
1001いってるスレなのにsubject.txtでは999で止まってるのがあるね
2005/11/14(月) 23:45:09ID:wu7j9nOG0
バグがいっぱいorz
227む P221119009006.ppp.prin.ne.jp
2005/11/15(火) 00:09:09ID:EdQiz+qH0 みんなしてテストしてくれてる、ってことなのかしら。
2005/11/15(火) 00:11:09ID:jCOsLtmG0
>>227
あははは・・・
あははは・・・
2005/11/15(火) 16:21:39ID:OS7K8kAL0
まあ確かに試験・実験には最適ですね。
後々出ちゃうよりは、さっさとバグ出ししちゃう方がやりやすいだろうし。
後々出ちゃうよりは、さっさとバグ出ししちゃう方がやりやすいだろうし。
230root▲ ★
2005/11/15(火) 16:34:44ID:???0 毎回 WriteDatFile で 書いた後で chmod 666 しているとゆうのが、微妙なんだよなぁ。
2005/11/15(火) 21:29:31ID:CYcJPKgw0
bbs.cgiのことは何も知らないですが、
perlで通常書き込みや追記モードなopenに成功したと言うことは、
書き込み権限があるということとイコールだから、
openの後にchmodで書き込み権限を付加するのは、意味ないような・・・
openの前にchmod 666してるとしたら、絶対に書き込んでやる!
という強い意志の表れでしょうか・・・
書き込み権限のないfileに、chmodしてまで書き込もうとする理由が
想像つかないですが・・・
perlで通常書き込みや追記モードなopenに成功したと言うことは、
書き込み権限があるということとイコールだから、
openの後にchmodで書き込み権限を付加するのは、意味ないような・・・
openの前にchmod 666してるとしたら、絶対に書き込んでやる!
という強い意志の表れでしょうか・・・
書き込み権限のないfileに、chmodしてまで書き込もうとする理由が
想像つかないですが・・・
2005/11/15(火) 22:55:24ID:U6Y8OZtIO
234名無しの報告 ◆Gypsy.V.Ig
2005/11/16(水) 00:21:20ID:nsWWCCvk0 とりあえず書いとくです。
235動け動けウゴウゴ2ちゃんねる
2005/11/16(水) 00:27:38ID:4JWl5LHj0 おめでとう!
2005/11/16(水) 00:33:47ID:yrT20Wr1P
read.cgi再開発スレが消えてしまいますたor
237名無しの報告 ◆Gypsy.V.Ig
2005/11/16(水) 00:42:56ID:nsWWCCvk0 dat取得出来たけど、書きこもうとしたら
リアルでdat落ちしたです (´・ω・`)
リアルでdat落ちしたです (´・ω・`)
239root▲ ★
2005/11/17(木) 03:41:54ID:???0 230 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/17(木) 03:40:54 ID:1HWflj8o0
# 051117 アクセス規制中にfusianasanして書き込みOKになった場合、しるしつき by む
# 051117 アクセス規制中にfusianasanして書き込みOKになった場合、しるしつき by む
2005/11/17(木) 03:43:51ID:hOt0B8aM0
ってか運営に●ありで串で書き込めないのをどうにかしてくれ
2005/11/17(木) 03:44:00ID:hOt0B8aM0
書き込みじゃなくてスレ立て
242root▲ ★
2005/11/17(木) 03:45:11ID:???0 >>240-241
言賛山支参上のたたりです(す)。
言賛山支参上のたたりです(す)。
243root▲ ★
NGNG しるしを変更。
244root▲ ★
NGNG # 051118 saku sakud saku2chでは公式p2ユーザ番号とp2-client-ipを表示 by む
245root▲ ★
2005/11/21(月) 15:56:42ID:???0 Perlって、いわゆるファイルディスクリプタって、サブルーチンに渡せるんでしたっけ。
具体的には、メインルーチンで
open(FILE,">$workfile");
としたFILEに、サブルーチンから書きたい場合、
どういうふうに記述すればいいかなんですが。
具体的には、メインルーチンで
open(FILE,">$workfile");
としたFILEに、サブルーチンから書きたい場合、
どういうふうに記述すればいいかなんですが。
246root▲ ★
2005/11/21(月) 16:01:18ID:???0 あ、ファイルハンドルっていうんでしたっけ。
なにぶんPerlは、その程度の知識で。
なにぶんPerlは、その程度の知識で。
2005/11/21(月) 16:12:01ID:GFcwyI5w0
open(FILE ,">foo.txt");
&hoge(*FILE);
sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
みたいかな?
あとはFileHandleつかうとか。
http://search.cpan.org/~abergman/ponie-2/perl/lib/FileHandle.pm
&hoge(*FILE);
sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
みたいかな?
あとはFileHandleつかうとか。
http://search.cpan.org/~abergman/ponie-2/perl/lib/FileHandle.pm
2005/11/21(月) 16:13:54ID:PrsYqBTB0
http://www.uopmu.ees.osakafu-u.ac.jp/~yabu/soft/perl.html#8
ファイルハンドルの引数渡し
&sub3(FP);
sub sub3{
my($FP) = @_;
$_ = <FP>;
print "file : $_\n";
}
ファイルハンドルの引数渡し
&sub3(FP);
sub sub3{
my($FP) = @_;
$_ = <FP>;
print "file : $_\n";
}
249root▲ ★
2005/11/21(月) 16:15:55ID:???0 >>247
おぉ、そうやるですか。
ファイルハンドルと文字列(or 文字列の配列)を引数でくべてやると、
そのファイルハンドルに吐き出す、みたいなサブルーチンがあるといいなとゆうことです。
html/ の下を作るところと、
index.html を作るところを、なんとかしたいなと。
ようは、残された神の領域を少しずつ人間の領域にしたいということで。
# 某所でやっている広告切り分けとも、微妙に関連しているという噂も。
おぉ、そうやるですか。
ファイルハンドルと文字列(or 文字列の配列)を引数でくべてやると、
そのファイルハンドルに吐き出す、みたいなサブルーチンがあるといいなとゆうことです。
html/ の下を作るところと、
index.html を作るところを、なんとかしたいなと。
ようは、残された神の領域を少しずつ人間の領域にしたいということで。
# 某所でやっている広告切り分けとも、微妙に関連しているという噂も。
251root▲ ★
2005/11/21(月) 16:31:17ID:???0 ちょっとぐぐってみた限りでは、>>247 のがいいみたいですね。
その場合、こんなふうにしても大丈夫みたいですね。
つまり、localのもじどおり局所化できると。
open(FILE1 ,">foo.txt");
&hoge(*FILE1);
close(FILE1);
...
open(FILE2 ,">foo.txt");
&hoge(*FILE2);
close(FILE2);
sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
その場合、こんなふうにしても大丈夫みたいですね。
つまり、localのもじどおり局所化できると。
open(FILE1 ,">foo.txt");
&hoge(*FILE1);
close(FILE1);
...
open(FILE2 ,">foo.txt");
&hoge(*FILE2);
close(FILE2);
sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
252root▲ ★
2005/11/21(月) 16:34:27ID:???0 もうちょっとtypicalな例を書くか。
こういうのも許されるということですかね。
open(FILE1 ,">foo.txt");
open(FILE2 ,">foo.txt");
&hoge(*FILE1);
&hoge(*FILE2);
close(FILE2);
close(FILE1);
sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
こういうのも許されるということですかね。
open(FILE1 ,">foo.txt");
open(FILE2 ,">foo.txt");
&hoge(*FILE1);
&hoge(*FILE2);
close(FILE2);
close(FILE1);
sub hoge{
local (*FILE) = shift;
print FILE "bar\n";
}
254root▲ ★
2005/11/21(月) 18:24:33ID:???0 うまくいったっぽいです。
#! /usr/bin/perl -w
my $str = "This is test.\n";
my @substr = ( "This is test.\n", "This is test 2.\n" );
open(FD, ">test.txt");
open(FD2, ">test2.txt");
&Put1Line(*FD, $str);
&PutLines(*FD2, @substr);
close(FD);
close(FD2);
exit;
#############################################################################
sub Put1Line
{
local (*FD) = shift;
my ($str) = @_;
print FD $str;
return 0;
}
#############################################################################
sub PutLines
{
local (*FD) = shift;
my (@str) = @_;
foreach (@str) { print FD $_; }
return 0;
}
#! /usr/bin/perl -w
my $str = "This is test.\n";
my @substr = ( "This is test.\n", "This is test 2.\n" );
open(FD, ">test.txt");
open(FD2, ">test2.txt");
&Put1Line(*FD, $str);
&PutLines(*FD2, @substr);
close(FD);
close(FD2);
exit;
#############################################################################
sub Put1Line
{
local (*FD) = shift;
my ($str) = @_;
print FD $str;
return 0;
}
#############################################################################
sub PutLines
{
local (*FD) = shift;
my (@str) = @_;
foreach (@str) { print FD $_; }
return 0;
}
255root▲ ★
2005/11/21(月) 19:07:42ID:???0 で、つぎのお知恵を拝借、、、。
print SHTM <<EOF;
<TABLE border=1 cellspacing=7 cellpadding=3 width=95% bgcolor="$FOX->{$GBA->{FORM}->{bbs}}->{"BBS_THREAD_COLOR"}" align=center><TR><TD><DL><a name="\$ANCOR"></a><DIV ALIGN="right"><a href ="#menu">■</a><a href="#\$FRONT">▲</a><a href="#\$NEXT">▼</a></DIV><B>【\$ANCOR:$GBA->{DATNUM}】<FONT size=5 color="$FOX->{$GBA->{FORM}->{bbs}}->{'BBS_SUBJECT_COLOR'}">$subject</FONT></B>
EOF
といった行が、それこそ死ぬほどあるわけですが、
こいつらの保守性を少しでもよくする方法は、何かないのかなと。
qq// とかにしようかなとも思ったのですが、/ も使っているわけで、
何かいい知恵はないものなのかなと。
print SHTM <<EOF;
<TABLE border=1 cellspacing=7 cellpadding=3 width=95% bgcolor="$FOX->{$GBA->{FORM}->{bbs}}->{"BBS_THREAD_COLOR"}" align=center><TR><TD><DL><a name="\$ANCOR"></a><DIV ALIGN="right"><a href ="#menu">■</a><a href="#\$FRONT">▲</a><a href="#\$NEXT">▼</a></DIV><B>【\$ANCOR:$GBA->{DATNUM}】<FONT size=5 color="$FOX->{$GBA->{FORM}->{bbs}}->{'BBS_SUBJECT_COLOR'}">$subject</FONT></B>
EOF
といった行が、それこそ死ぬほどあるわけですが、
こいつらの保守性を少しでもよくする方法は、何かないのかなと。
qq// とかにしようかなとも思ったのですが、/ も使っているわけで、
何かいい知恵はないものなのかなと。
256どくどくさぼてん
2005/11/21(月) 19:09:54ID:ykuoFpvp0 qq// じゃなくて、qq| | とか qq{ } とかでもよくなかったっけ
258どくどくさぼてん
2005/11/21(月) 19:14:51ID:ykuoFpvp0 とりあえずは半角非英数ならなんでもいいらしいっすねぇ。
とりあえずぐぐってでてきた、qq| | を使ってる例文がのってるやつ。
ttp://cocohome.hp.infoseek.co.jp/cocohome/l_text.html
とりあえずぐぐってでてきた、qq| | を使ってる例文がのってるやつ。
ttp://cocohome.hp.infoseek.co.jp/cocohome/l_text.html
260どくどくさぼてん
2005/11/21(月) 19:24:30ID:ykuoFpvp0 手元のスクリプトいじってみたら、
print SHTM qq|
(中略)
|;
こんなんで動くことは動きましたです。
print SHTM qq|
(中略)
|;
こんなんで動くことは動きましたです。
2005/11/21(月) 20:02:05ID:tMNbzxeN0
>>255
保守性がよくないと感じる点はどこ?
保守性がよくないと感じる点はどこ?
263root▲ ★
2005/11/22(火) 01:03:56ID:???0264root▲ ★
NGNG Put1Line と PutLines を使って、
index.html を作るサブルーチン(MakeIndex4PC)を書き換えました。
それに伴い、ひとつ小さな虫取り(不要な</form>の削除)を行いました。
また、HTMLタグを基本的に小文字にしました。
ただ、まだ直していない部分(htm/の下を作るところとか)があるので、
従来通り(w、大文字と小文字のタグが混在しています。
bbs.cgiの動作そのものは変わっていないはずですが、
もし問題を発見した場合、ここでお知らせくださいです。
これで、MakeIndex4PCは神の領域ではなくなったと思う。
今日は、ここまで。
index.html を作るサブルーチン(MakeIndex4PC)を書き換えました。
それに伴い、ひとつ小さな虫取り(不要な</form>の削除)を行いました。
また、HTMLタグを基本的に小文字にしました。
ただ、まだ直していない部分(htm/の下を作るところとか)があるので、
従来通り(w、大文字と小文字のタグが混在しています。
bbs.cgiの動作そのものは変わっていないはずですが、
もし問題を発見した場合、ここでお知らせくださいです。
これで、MakeIndex4PCは神の領域ではなくなったと思う。
今日は、ここまで。
265root▲ ★
NGNG ええと、前にあった(今dat落ちかな)、
bbs.cgiが吐くindex.html をコンパクトにするというか、よくする話し合いをしてたスレッドって、
どれでしたっけか。
すぐやるかどうかはわからないけど、教えていただけるといいかもしんないです。
index.html作成部分の保守性がよくなったので(実際潜んでいた虫も見つけた)、
反映できるものもあるかも、かも。
bbs.cgiが吐くindex.html をコンパクトにするというか、よくする話し合いをしてたスレッドって、
どれでしたっけか。
すぐやるかどうかはわからないけど、教えていただけるといいかもしんないです。
index.html作成部分の保守性がよくなったので(実際潜んでいた虫も見つけた)、
反映できるものもあるかも、かも。
2005/11/22(火) 10:43:04ID:JzWOnNm+0
267root▲ ★
NGNG >>266
どもです。それです、それです。
MakeIndex4PC, MakeIndex4Keitai, UpdateSubback あたりのクリーンナップ後に、
ぼちぼちってかんじで。
あと、SunOSさんが雪だるま版index.htmlにこのスレのどのへんを採用したかの
情報があると、うれしいかも、かも。
どもです。それです、それです。
MakeIndex4PC, MakeIndex4Keitai, UpdateSubback あたりのクリーンナップ後に、
ぼちぼちってかんじで。
あと、SunOSさんが雪だるま版index.htmlにこのスレのどのへんを採用したかの
情報があると、うれしいかも、かも。
269root▲ ★
NGNG >>264 の作業により、クッキーを食べるところと
BEのプロフィールを表示するところ(具体的にはJavaScriptのところ)が、
うまく動いていませんでした。
今、対応したものを配りました。
すみませんでした。
# <-- の後と // --> の前には \n が必要。
BEのプロフィールを表示するところ(具体的にはJavaScriptのところ)が、
うまく動いていませんでした。
今、対応したものを配りました。
すみませんでした。
# <-- の後と // --> の前には \n が必要。
2005/11/22(火) 14:03:13ID:l5OCF7ES0
この際PHPだ!
271root▲ ★
NGNG 310 名前: ◆MUMUMUhnYI :2005/11/22(火) 14:08:29 ID:cuANVpjV0 ?###
# 051122a UpdateSubject, UpdateSubback, MakeIndex4Keitai, MakeWorkFileを
# Put1Line, PutLinesに対応
# これで、ファイル作る系の第一次対応はできたはず by む
以上配布済み。
ひととおり予定の作業はおわたです。
ということで、作業可能です。>>305
これでこのへんのサブルーチンは、神の領域ではなくなったと思います。
>>270
以前からある話なわけですが、、、。
PHPって暴走すると、httpdが暴走しちゃうから。
# 051122a UpdateSubject, UpdateSubback, MakeIndex4Keitai, MakeWorkFileを
# Put1Line, PutLinesに対応
# これで、ファイル作る系の第一次対応はできたはず by む
以上配布済み。
ひととおり予定の作業はおわたです。
ということで、作業可能です。>>305
これでこのへんのサブルーチンは、神の領域ではなくなったと思います。
>>270
以前からある話なわけですが、、、。
PHPって暴走すると、httpdが暴走しちゃうから。
272root▲ ★
NGNG あと、神の領域なのは、newbbs と foxIkinari ぐらいだと思う。
…人間のものになったんだろうか。
…人間のものになったんだろうか。
2005/11/22(火) 14:58:35ID:mkoqPojk0
関数名を誰が見ても分かるようにするとか、説明を書いておくとか
274root▲ ★
NGNG >>273
とりあえずあまり進んでいませんが、こんなことをはじめているです。
########################################################################
# キャップがあるかどうか調べ、あったらそのキャップ名を返す
# 引数: キャップパス、板名、フラグ1、フラグ2
# フラグ1が真の場合、板別キャップの処理を行う
# フラグ2が真の場合、キャップあぶりだしの処理を行う
# 戻り値: キャップハンドル名 または ""(該当なしの場合)
########################################################################
sub FindCap
{
my ($pass, $board, $bflag, $tflag) = @_;
(以下略)
とりあえずあまり進んでいませんが、こんなことをはじめているです。
########################################################################
# キャップがあるかどうか調べ、あったらそのキャップ名を返す
# 引数: キャップパス、板名、フラグ1、フラグ2
# フラグ1が真の場合、板別キャップの処理を行う
# フラグ2が真の場合、キャップあぶりだしの処理を行う
# 戻り値: キャップハンドル名 または ""(該当なしの場合)
########################################################################
sub FindCap
{
my ($pass, $board, $bflag, $tflag) = @_;
(以下略)
2005/11/22(火) 17:24:13ID:JzWOnNm+0
index.html(html/*html)が壊れる壊れる
2chの動作報告はここで。 パート18
http://qb5.2ch.net/test/read.cgi/operate/1131005961/355-
2chの動作報告はここで。 パート18
http://qb5.2ch.net/test/read.cgi/operate/1131005961/355-
2005/11/22(火) 17:34:54ID:mkoqPojk0
rootm9(^Д^)プギャー
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 《中居正広に新たな女性アナ告発報道の裏で》トラブル発覚前に「あの子いいべ…」関心寄せた元NHKアナ [Ailuropoda melanoleuca★]
- 「新宿駅から出られず半泣き」…トラブルも 大学受験、親も同行すべき? [おっさん友の会★]
- 【フジテレビ】渦中の佐々木恭子アナ「社長とのディナー賞」受賞していた 現在は出社停止★2 [ネギうどん★]
- 新幹線でたこ焼きを食べたら「臭え」「迷惑」と批判殺到 改札内で売ってるのに…JR東海の見解は ★3 [Ailuropoda melanoleuca★]
- 今田耕司、中居正広のトラブルは「驚いたとしか言いようがない」“ホテル飲み”は「僕はない」 [ひかり★]
- 【芸能】サンドウィッチマン「何で漏れるんだよ」 フジテレビ新番組『かのサンド』の情報漏えいに不信感 「早い、出るのが」 [冬月記者★]
- 【実況】博衣こよりのえちえちロマサガ2リメイク🧪 ★7
- 悔しいけどネトウヨ登山家・野口健の20歳の娘がエロカワ🤤 [718678614]
- 【悲報】自民党の裏、金問題、会計担当の職員(72)を起訴 [834922174]
- コンビニ売れ残り、困窮家庭に無償提供へ。住民税非課税世帯と児童扶養手当の受給世帯が対象。※マイナンバーと連携した専用アプリ必要 [256556981]
- トランプ政権誕生で1ドル130円になるらしい [203993948]
- 【画像】熊手買ってきたぞwwwwwww