2ch特化型サーバ・ロケーション構築作戦のスレッドです。
・2ちゃんねるのサーバロケーション、PIEに関する関連作業・調整事項
・DNS登録・変更関連の各種作業や調整事項
・2ちゃんねるのサーバで採用しているOS、FreeBSDに関する情報・調整事項
・各種作戦・プロジェクトとの連携、プロジェクト間の連携
等を取り扱います。
前スレ:2ch特化型サーバ・ロケーション構築作戦 Part52
http://qb5.2ch.net/test/read.cgi/operate/1277651499/
2ch特化型サーバ・ロケーション構築作戦 Part53
■ このスレッドは過去ログ倉庫に格納されています
NGNG
2010/07/02(金) 00:36:26ID:yzFMC0D/0
pc11返却まだですか
2010/07/02(金) 00:43:29ID:fgylWR9z0
>>240
どれだけ記録してるんですかw>kakikomi.txt
どれだけ記録してるんですかw>kakikomi.txt
2010/07/02(金) 00:46:14ID:F66mcMlc0
もしかして書いたレス全部取っといてるのか・・・
2010/07/02(金) 00:50:50ID:EeH9EtB90
2010/07/02(金) 01:00:10ID:Iigupcs60
2010/07/02(金) 01:00:41ID:rA1N4TpI0
bbsdの方が性能が良さそうだけど、bbs.cgiの方がup to dateに改良され続けている
から互いに整合性がとれなくなってしまうという感じなのだろうか。
から互いに整合性がとれなくなってしまうという感じなのだろうか。
2010/07/02(金) 01:10:36ID:fgylWR9z0
>>245
すげえw
すげえw
248名無し的用法 ◆v20hUhbxpM
2010/07/02(金) 01:11:05ID:pwu8PCL+0 kakikomiで重くなるから1年ごとにファイルをバックアップ回ししてるな
めぼしいことやり尽くしたしなぁ ハードウェア生かすのにOS入れ替えなんて言う魅惑のヒビキもあるけど
めぼしいことやり尽くしたしなぁ ハードウェア生かすのにOS入れ替えなんて言う魅惑のヒビキもあるけど
>244
よくわかんないけど、writeが終わったかどうか判定すればいいんじゃない?
forkのwaitみたいな。
よくわかんないけど、writeが終わったかどうか判定すればいいんじゃない?
forkのwaitみたいな。
250root▲▲ ★
2010/07/02(金) 01:17:50ID:???0 kakikomi.txt とこのスレをざっと読み直しましたが、
あんまりそういう話はしてなかったっぽいです。
bbs.cgi再開発プロジェクト7
http://qb5.2ch.net/test/read.cgi/operate/1130918407/
http://qb5.2ch.net/operate/kako/1130/11309/1130918407.html
しかし、↑のスレは今読むとなんかすごいかも。
5年前か。
あんまりそういう話はしてなかったっぽいです。
bbs.cgi再開発プロジェクト7
http://qb5.2ch.net/test/read.cgi/operate/1130918407/
http://qb5.2ch.net/operate/kako/1130/11309/1130918407.html
しかし、↑のスレは今読むとなんかすごいかも。
5年前か。
2010/07/02(金) 01:18:15ID:fgylWR9z0
>>248
いっそ専用OSを自作して・・・
いっそ専用OSを自作して・・・
2010/07/02(金) 01:21:47ID:EeH9EtB90
>>249
終ったかどうか待ち合わせしないといけないので、
結局bbs.cgiを起動したapacheのプロセスはつかみっぱなしに
なって、aio化する前と変わらないんじゃないかなと。
bbs.cgiの中身を見たことないので、あくまで想像です。
終ったかどうか待ち合わせしないといけないので、
結局bbs.cgiを起動したapacheのプロセスはつかみっぱなしに
なって、aio化する前と変わらないんじゃないかなと。
bbs.cgiの中身を見たことないので、あくまで想像です。
>252
おぉ、なるほど。
俺はこう考えていたんですけどね。
write→他の処理→終わったか確認
こうするとwriteの部分だけ気持ち速くなる気がするので、
最悪今と同じ速度(常に最悪ならaio化の意味はないけど)。
待たないで非同期ならbbsd?
おぉ、なるほど。
俺はこう考えていたんですけどね。
write→他の処理→終わったか確認
こうするとwriteの部分だけ気持ち速くなる気がするので、
最悪今と同じ速度(常に最悪ならaio化の意味はないけど)。
待たないで非同期ならbbsd?
write→他の処理→終わったか確認(終わってることを期待)
でし。
なんか某あれで頭がいっぱいなのでおなかがすきました。
でし。
なんか某あれで頭がいっぱいなのでおなかがすきました。
bbs.cgi への aio 適用ですが,個別のリクエスト処理中に書き込み完了を待たず
レスポンスを返すということなら,SpeedyCGI の特性を生かし persistent な変数で
aio 用バッファを確保するとかすればそういうこともできないこともないのかも知れません......
が,いずれかのタイミングで処理の完了をチェックして解放ということはどっちにしろ必要ですね.
一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
あと,bbsd を使うと復帰が不要になってそれだと風情がなくなるということも
言われた気がするんですが,通常稼働時に dat と subject.txt の不整合を
修正するという意味での復帰はまず必要なくなると思いますが,
しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
その部分をあえて自動化するとかしない限り風情は残るかと思います.
レスポンスを返すということなら,SpeedyCGI の特性を生かし persistent な変数で
aio 用バッファを確保するとかすればそういうこともできないこともないのかも知れません......
が,いずれかのタイミングで処理の完了をチェックして解放ということはどっちにしろ必要ですね.
一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
あと,bbsd を使うと復帰が不要になってそれだと風情がなくなるということも
言われた気がするんですが,通常稼働時に dat と subject.txt の不整合を
修正するという意味での復帰はまず必要なくなると思いますが,
しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
その部分をあえて自動化するとかしない限り風情は残るかと思います.
2010/07/02(金) 07:17:02ID:wXvWtCmJO
専門的な話が、、、
何ていうか日本語でおkってかんじだな。
カウント変数をグローバル(?)に取っておいて、
一回の書き込み毎に1ずつ減らしていって0になったら確認、とか?
何ていうか日本語でおkってかんじだな。
カウント変数をグローバル(?)に取っておいて、
一回の書き込み毎に1ずつ減らしていって0になったら確認、とか?
2010/07/02(金) 08:11:08ID:AoKCcjky0
>>256
専門的な話をするスレで何言ってんだよ。
専門的な話をするスレで何言ってんだよ。
2010/07/02(金) 09:16:12ID:IPzyvD/y0
専門的じゃなくてクローズドな話
2010/07/02(金) 10:49:41ID:dE9ehO3r0
2010/07/02(金) 11:06:19ID:u7xl9vMPP
復帰に風情を感じた事がない
261root▲▲ ★
2010/07/02(金) 11:20:02ID:???0 >>255
> 個別のリクエスト処理中に書き込み完了を待たず
> レスポンスを返すということなら,SpeedyCGI の特性を生かし persistent な変数で
> aio 用バッファを確保するとかすればそういうこともできないこともないのかも知れません......
これはちょっと面白いかもですね。SpeedyCGIの強みを生かすと。
> が,いずれかのタイミングで処理の完了をチェックして解放ということはどっちにしろ必要ですね.
うむむ、、、。
> 一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
> 段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
> TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
> bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
> SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
> いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
> 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
> bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
> 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
> あと,bbsd を使うと復帰が不要になってそれだと風情がなくなるということも
> 言われた気がするんですが,通常稼働時に dat と subject.txt の不整合を
> 修正するという意味での復帰はまず必要なくなると思いますが,
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
> 個別のリクエスト処理中に書き込み完了を待たず
> レスポンスを返すということなら,SpeedyCGI の特性を生かし persistent な変数で
> aio 用バッファを確保するとかすればそういうこともできないこともないのかも知れません......
これはちょっと面白いかもですね。SpeedyCGIの強みを生かすと。
> が,いずれかのタイミングで処理の完了をチェックして解放ということはどっちにしろ必要ですね.
うむむ、、、。
> 一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
> 段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
> TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
> bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
> SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
> いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
> 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
> bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
> 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
> あと,bbsd を使うと復帰が不要になってそれだと風情がなくなるということも
> 言われた気がするんですが,通常稼働時に dat と subject.txt の不整合を
> 修正するという意味での復帰はまず必要なくなると思いますが,
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
262root▲▲ ★
2010/07/02(金) 11:21:50ID:???0 >>261
あら、暴発。
> 一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
> 段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
> TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
そういえば、こんな話が昔ありました。
http://qb5.2ch.net/test/read.cgi/operate/1212665493/91
91 名前: root▲▲ ★ 投稿日: 2008/06/08(日) 14:44:14 ID:???0 BE:2736656-DIA(100512)
【祭り】番犬★が管理人に怒られるスレッド【駄目】26
http://qb5.2ch.net/test/read.cgi/operate/1212510607/536-563
ROMの負荷はIsKoukokuをスキップしてもあまり効果なかった。
(少なくとも雪だるま環境では)
バーチャルホストは一つがいい
(SuExec 使わなくていい、mod_speedycgi 化できる)
bbsd環境でソケットのバッファを大きくしておくのは効果がある
/etc/sysctl.conf で、
kern.ipc.maxsockbuf=20480000
bbsd のオプションで、
-B 16000000
rtprioでbbsdのプライオリティを上げておくのは効果が高い
あら、暴発。
> 一方 bbsd については,今のままでも bbs.cgi から bbsd へリクエストを投げる
> 段階でキューイングされるので(UDP ソケットにキューイングの機能が備わっており,
> TCP ではなく UDP を使っている理由の一つはそれ),あえて aio を使うこともないかなと思ってます.
そういえば、こんな話が昔ありました。
http://qb5.2ch.net/test/read.cgi/operate/1212665493/91
91 名前: root▲▲ ★ 投稿日: 2008/06/08(日) 14:44:14 ID:???0 BE:2736656-DIA(100512)
【祭り】番犬★が管理人に怒られるスレッド【駄目】26
http://qb5.2ch.net/test/read.cgi/operate/1212510607/536-563
ROMの負荷はIsKoukokuをスキップしてもあまり効果なかった。
(少なくとも雪だるま環境では)
バーチャルホストは一つがいい
(SuExec 使わなくていい、mod_speedycgi 化できる)
bbsd環境でソケットのバッファを大きくしておくのは効果がある
/etc/sysctl.conf で、
kern.ipc.maxsockbuf=20480000
bbsd のオプションで、
-B 16000000
rtprioでbbsdのプライオリティを上げておくのは効果が高い
263root▲▲ ★
2010/07/02(金) 11:26:10ID:???0 あとは、
> bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
> SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
> いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
そですね。淡々と。
> 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
> bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
> 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
そですね。
そういう気がします。
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
そんなわけで、>>208 ですね。
> bbsd の課題としては,924 関連等 bbsd に未対応なスクリプトとか,
> SETTING.TXT を消した時 bbsd に対して手動で操作しなくても板を unload するようにしたいとか
> いったところですが,まぁその辺は淡々と対応を進めればいいのかなと思います.
そですね。淡々と。
> 規制関連等の比較的更新がよく行われている部分は bbs.cgi が担当し,
> bbsd が担うのは基本的に最終的な書き込み部分という役割分担なので,
> 元々 bbsd は bbs.cgi ほどには頻繁に更新する必要はないですね.
そですね。
そういう気がします。
> しかしサーバダウン -> リブート時の復帰はいずれにせよ必要なので,
> その部分をあえて自動化するとかしない限り風情は残るかと思います.
そんなわけで、>>208 ですね。
264root▲▲ ★
2010/07/02(金) 12:41:51ID:???0 あと、bbs.cgiでメスを入れるべきは、
たぶんきっと、index.html を作るところですね。
以前プロファイリングした結果を見直しても、圧倒的に違います。
他の処理よりも一桁、コストが高いです。
つまりここを何とかするだけで、
相当の見返りが期待できると。
で、個人的に思い始めているのは、
index.html を遅延書き込み(?) みたいなので、何とかできないものかなと。
datへの書き込みやログへの書き込みは、
完了を待ったほうがいいような気がするわけですが、
bbs.cgi でも最後のほうでやっている index.html の書き込みは、
必ずしもその完了を待たなくてもいいのかなと。
たぶんきっと、index.html を作るところですね。
以前プロファイリングした結果を見直しても、圧倒的に違います。
他の処理よりも一桁、コストが高いです。
つまりここを何とかするだけで、
相当の見返りが期待できると。
で、個人的に思い始めているのは、
index.html を遅延書き込み(?) みたいなので、何とかできないものかなと。
datへの書き込みやログへの書き込みは、
完了を待ったほうがいいような気がするわけですが、
bbs.cgi でも最後のほうでやっている index.html の書き込みは、
必ずしもその完了を待たなくてもいいのかなと。
265root▲▲ ★
2010/07/02(金) 12:43:43ID:???0 で、Saborinしていればそこはかなりスキップする、
という話はあるわけですが、前にも出たように新スレだとSaborinないし、
ここをうまくやれば全サーバで効果がありそうだし、
といったかんじで。
という話はあるわけですが、前にも出たように新スレだとSaborinないし、
ここをうまくやれば全サーバで効果がありそうだし、
といったかんじで。
>datへの書き込みやログへの書き込みは、
今ってログの書き出しに失敗した場合、投稿自体も失敗扱いなんですか?
datへ書き出してからログへ書き出す場合、ログ処理は失敗でも投稿は成功したことになりますし、
その逆なら現状ログへの書き出しは必須となりますし。
前者であるならログの書き出しが時系列に行われるように出来れば非同期でも良いと思うのですけど。
今ってログの書き出しに失敗した場合、投稿自体も失敗扱いなんですか?
datへ書き出してからログへ書き出す場合、ログ処理は失敗でも投稿は成功したことになりますし、
その逆なら現状ログへの書き出しは必須となりますし。
前者であるならログの書き出しが時系列に行われるように出来れば非同期でも良いと思うのですけど。
268root▲▲ ★
2010/07/02(金) 13:25:04ID:???0 >>266-267
現時点では、datへの書き込みやログへの書き込み部分については、
私はいじる気はありませんです。
所詮、1行追記もので、
かつ書かれる量も index.html に比べれば以下略。
現時点では、datへの書き込みやログへの書き込み部分については、
私はいじる気はありませんです。
所詮、1行追記もので、
かつ書かれる量も index.html に比べれば以下略。
キャップ漏れ
http://qb5.2ch.net/test/read.cgi/operate/1267571384/426
http://qb5.2ch.net/test/read.cgi/operate/1276034202/592
>index.html を遅延書き込み(?) みたいなので、何とかできないものかなと。
WindowsのWM_PAINTメッセージのような動作にするってのはだめかな。
キューの後のほうに“更新要求”があるうちは更新を遅らせる。
ただ、これだといつまでも更新されない可能性もあるから時間的な間隔で更新できるようにする必要もあるけど。
逆にSaborinより負荷上がっちゃうかな。
http://qb5.2ch.net/test/read.cgi/operate/1267571384/426
http://qb5.2ch.net/test/read.cgi/operate/1276034202/592
>index.html を遅延書き込み(?) みたいなので、何とかできないものかなと。
WindowsのWM_PAINTメッセージのような動作にするってのはだめかな。
キューの後のほうに“更新要求”があるうちは更新を遅らせる。
ただ、これだといつまでも更新されない可能性もあるから時間的な間隔で更新できるようにする必要もあるけど。
逆にSaborinより負荷上がっちゃうかな。
2010/07/02(金) 13:40:40ID:u7xl9vMPP
トップに表示されない下位スレのhtmlを作るのやめればいいのにー。
上10までのhtmlを作って、JSで読み込みですよ。
スレリストもsbuject.txtから読み込めばindexは完全に更新不要で夢が広がりんぐ。
index.html作成とリクエスト増はどっちが負荷高いんだろう。
関係ないけど、運用情報板の見たらやたら古いのが残ってる
http://qb5.2ch.net/operate/html/?C=M;O=A
上10までのhtmlを作って、JSで読み込みですよ。
スレリストもsbuject.txtから読み込めばindexは完全に更新不要で夢が広がりんぐ。
index.html作成とリクエスト増はどっちが負荷高いんだろう。
関係ないけど、運用情報板の見たらやたら古いのが残ってる
http://qb5.2ch.net/operate/html/?C=M;O=A
271root▲▲ ★
2010/07/02(金) 13:42:54ID:???02010/07/02(金) 13:43:37ID:irFMOOjC0
むぎゅーキタ━━━━(゚∀゚)━━━━!!
>むぎゅー
ありがとうです。
ありがとうです。
274 ◆tiffinlc2w
2010/07/02(金) 13:46:18ID:xREWdBSk0275root▲▲ ★
2010/07/02(金) 13:47:15ID:???0 そんなわけで、焼プリンさんからのメールにも同じことをおへんじしましたが、
再発行については、発行された方にご相談をば。
再発行については、発行された方にご相談をば。
2010/07/02(金) 13:52:49ID:+HMEXOOR0
発行した人は捕まらないことで定評のあるあの人w
2010/07/02(金) 14:21:04ID:U27QlK1P0
index.html 書き出しに aio を適用して遅延させるにしても,
書き出すための文字列は前もって生成しておかなければならない,
そして index.html 書き出し処理が他と比べて重いのは
その文字列処理に起因している部分も多いのではないかとも思います.
書き出すための文字列は前もって生成しておかなければならない,
そして index.html 書き出し処理が他と比べて重いのは
その文字列処理に起因している部分も多いのではないかとも思います.
280外出中 ◆MUMUMUhnYI
2010/07/02(金) 14:31:57ID:bsXpBdjk02010/07/02(金) 15:03:52ID:VQljV6ef0
二の腕と腹
顎の下も大事
html/*をオンメモリするとか?
html/*をオンメモリするとか?
2010/07/02(金) 15:29:27ID:ESuPeVFBP
それはジンギスカンな板なら既にやってるような
板トップって上位数スレの最新レスをいくつか表示してるけど、実況板ではあれを無くしてスレ一覧だけを表示する、とか。
2010/07/02(金) 16:36:53ID:YHJVIjLs0
複数のdatから何行か抜き出してくる処理が重いのかな。
>283
おぉ、もうやってたのね。
あとできそうなのは毎回open&readしなくていいやつを変数に持たせるとか、
writeをまとめて1回で呼ぶとか、
まとめちゃっていいならTemplate使うとか、
むしろindex.html/subject.txtは定時生成とか。
bbs.cgiにあるあのコメントカッコいいなぁ。
改めて読むとすごい。
おぉ、もうやってたのね。
あとできそうなのは毎回open&readしなくていいやつを変数に持たせるとか、
writeをまとめて1回で呼ぶとか、
まとめちゃっていいならTemplate使うとか、
むしろindex.html/subject.txtは定時生成とか。
bbs.cgiにあるあのコメントカッコいいなぁ。
改めて読むとすごい。
2010/07/02(金) 17:06:03ID:gaBSnDSC0
IE6見捨てれば完全にAjax化できるんじゃね?
288root▲▲ ★
2010/07/02(金) 17:09:01ID:???0 >>286
どのコメントのことだろ、、、。
どのコメントのことだろ、、、。
#疲れたのでここまで、
かな
かな
2010/07/02(金) 17:23:52ID:dhyeok0l0
確かに板トップの最新レス表示は蛇足のような気がしますね
291root▲▲ ★
2010/07/02(金) 17:29:02ID:???0 >>289
あれですかw
そっすね、、、。
私がbbs.cgiに本気で取り組み始めた2005年ごろ、既にそのコメントはbbs.cgiにありました。
そして、そこよりも前の処理部分には、
きれいに書かれたサブルーチン群が整然と並べられていました。
例えばこんなかんじです。
&foxSetPath($GBX) ;# 各種PATH生成
&foxReadSettings($GBX) ;# 板設定よみこみとためこみ SETTING.TXT
&foxSetDate2($GBX) ;# 日付・時刻を設定($DATEに設定 !!曜日)
&foxBEset($GBX) ;# BE情報問い合わせ
そして、その「疲れたのでここまで」の後には、
bbs_main という、超巨大なメインルーチンが横たわっていました。
その部分は当時既に、数1000行はあったと思います。
そしてそこには、それ以降のbbs.cgiにおけるすべての処理が、
ほぼすべて一つのメインルーチン内に、ノベタンで書かれていました。
「ひろゆき流mainしかないプログラム」というのがどんなものか、
改めて骨身にしみて認識しました。
(続く)
あれですかw
そっすね、、、。
私がbbs.cgiに本気で取り組み始めた2005年ごろ、既にそのコメントはbbs.cgiにありました。
そして、そこよりも前の処理部分には、
きれいに書かれたサブルーチン群が整然と並べられていました。
例えばこんなかんじです。
&foxSetPath($GBX) ;# 各種PATH生成
&foxReadSettings($GBX) ;# 板設定よみこみとためこみ SETTING.TXT
&foxSetDate2($GBX) ;# 日付・時刻を設定($DATEに設定 !!曜日)
&foxBEset($GBX) ;# BE情報問い合わせ
そして、その「疲れたのでここまで」の後には、
bbs_main という、超巨大なメインルーチンが横たわっていました。
その部分は当時既に、数1000行はあったと思います。
そしてそこには、それ以降のbbs.cgiにおけるすべての処理が、
ほぼすべて一つのメインルーチン内に、ノベタンで書かれていました。
「ひろゆき流mainしかないプログラム」というのがどんなものか、
改めて骨身にしみて認識しました。
(続く)
292root▲▲ ★
2010/07/02(金) 17:47:20ID:???0 (ちと時間とれそうもなくなったので、続きはまた機会を改めて)
2010/07/02(金) 17:50:42ID:3oHfC6OQ0
>その部分は当時既に、数1000行はあったと思います。
>そしてそこには、それ以降のbbs.cgiにおけるすべての処理が、
>ほぼすべて一つのメインルーチン内に、ノベタンで書かれていました。
うひゃー
これは大変そう。
>そしてそこには、それ以降のbbs.cgiにおけるすべての処理が、
>ほぼすべて一つのメインルーチン内に、ノベタンで書かれていました。
うひゃー
これは大変そう。
2010/07/02(金) 17:56:56ID:A11dF0TN0
ひろゆきw
きれいにサブルーチンに分けて書くのに疲れたのかww
必要な処理が全て入っていれば分ける必要はない、1行でも少ない方が速いはずだ
ってか?
きれいにサブルーチンに分けて書くのに疲れたのかww
必要な処理が全て入っていれば分ける必要はない、1行でも少ない方が速いはずだ
ってか?
2010/07/02(金) 17:59:16ID:dhyeok0l0
まあ、サブ化するデメリットもあるけどmainのみというのはw
296root▲▲ ★
2010/07/02(金) 18:07:17ID:???0 >>293
そこ頃の話(続き)は、
私がここでうだうだ書くより、これ読んでもらったほうがよさげかも。
bbs.cgi再開発プロジェクト7
http://qb5.2ch.net/operate/kako/1130/11309/1130918407.html
>>294
もともとのbbs.cgiは、ほぼ一つの大きなメインルーチン「しか」なかったです。
初代管理人が作り始めたプログラムは何であれ、ほとんどすべてがそうです。
彼はそういう頭脳構造であると認識してます。
で、bbs.cgiをSpeedyCGIに対応した時、
かっこいいおにいさんが前処理の部分を、がんがってクリーンアップしました。
が、「#疲れたのでここまで、」のコメントを残し、以下略
↓
上記スレの前スレあたりに続く
といった流れで。
そこ頃の話(続き)は、
私がここでうだうだ書くより、これ読んでもらったほうがよさげかも。
bbs.cgi再開発プロジェクト7
http://qb5.2ch.net/operate/kako/1130/11309/1130918407.html
>>294
もともとのbbs.cgiは、ほぼ一つの大きなメインルーチン「しか」なかったです。
初代管理人が作り始めたプログラムは何であれ、ほとんどすべてがそうです。
彼はそういう頭脳構造であると認識してます。
で、bbs.cgiをSpeedyCGIに対応した時、
かっこいいおにいさんが前処理の部分を、がんがってクリーンアップしました。
が、「#疲れたのでここまで、」のコメントを残し、以下略
↓
上記スレの前スレあたりに続く
といった流れで。
2010/07/02(金) 18:07:57ID:YHJVIjLs0
その昔のbbs.cgiを見たことあるけど、
ひとことで言うと「どうしてこうなった」だと思うw
ネストが妙に深いし、変数を追いかけるの大変だし、
関数やgotoが少ないからスパゲッティとは違うんだけど、
眺めているだけでお腹いっぱいにさせてくれるプログラムだったw
ひとことで言うと「どうしてこうなった」だと思うw
ネストが妙に深いし、変数を追いかけるの大変だし、
関数やgotoが少ないからスパゲッティとは違うんだけど、
眺めているだけでお腹いっぱいにさせてくれるプログラムだったw
2010/07/02(金) 18:10:48ID:A11dF0TN0
>>296-297
納得w
納得w
なんか人事とは思えないので何とも言えないわたす、、、
2010/07/02(金) 18:15:52ID:YXBJZ6/20
そいえば、2chから流出したスクリプトを元に書かれた(と言われる)17スクリプトもサブルーチンが少ないな
メインルーチンにはexitしかない0chとは大違いだった
メインルーチンにはexitしかない0chとは大違いだった
2010/07/02(金) 18:26:53ID:A11dF0TN0
こんなところでまたマ(ry
http://jfk.2ch.net/test/read.cgi/nanmin/1240616601/887,896
> 887 名前: ◆MUMUMUhnYI [sage] 投稿日:2009/05/30(土) 03:19:17 ?DIA(102226)
> http://img.2ch.net/ico/telephoman.gif
> ちなみに初代管理人の書く Perl プログラムには、大きな特徴が一つあります。
> それは、
>
> 「どんな規模のプログラムであっても、基本的にメインルーチンだけしかない」
>
> というものです。
>
>
> …久しぶりに夜更かししたな。そろそろ休むです。
> 896 名前:マァヴ ◆jxAYUMI09s [sage] 投稿日:2009/05/30(土) 15:06:48 ?PLT(62657)
> http://img.2ch.net/ico/zonu_xmas.gif
> >>887
> そんなコードに触る勇者が3人いました。
> (^_^;)とSDさんとトオル君です。
> こまったことにこの3人はプログラムの素人でした・・・・
> しかも、お互いにまったく連携なしに、自分のやりたいことを実現できればOKな感じでいじったのです。
>
> さて、そのコードはどうなったでしょう?(^_^;)
http://jfk.2ch.net/test/read.cgi/nanmin/1240616601/887,896
> 887 名前: ◆MUMUMUhnYI [sage] 投稿日:2009/05/30(土) 03:19:17 ?DIA(102226)
> http://img.2ch.net/ico/telephoman.gif
> ちなみに初代管理人の書く Perl プログラムには、大きな特徴が一つあります。
> それは、
>
> 「どんな規模のプログラムであっても、基本的にメインルーチンだけしかない」
>
> というものです。
>
>
> …久しぶりに夜更かししたな。そろそろ休むです。
> 896 名前:マァヴ ◆jxAYUMI09s [sage] 投稿日:2009/05/30(土) 15:06:48 ?PLT(62657)
> http://img.2ch.net/ico/zonu_xmas.gif
> >>887
> そんなコードに触る勇者が3人いました。
> (^_^;)とSDさんとトオル君です。
> こまったことにこの3人はプログラムの素人でした・・・・
> しかも、お互いにまったく連携なしに、自分のやりたいことを実現できればOKな感じでいじったのです。
>
> さて、そのコードはどうなったでしょう?(^_^;)
2010/07/02(金) 18:32:30ID:WOvaNab4P
2010/07/02(金) 18:35:15ID:HkRu6ab+0
サーバーとサーバーをかけたシャレだろ〜
おもしろいかどうかはともかく。
おもしろいかどうかはともかく。
2010/07/02(金) 18:36:24ID:Mz/3PSo40
夜間監視用新型社内サーバー「NESCAFE Barista」
なんかカッコいい(´∀`*)ポッ
なんかカッコいい(´∀`*)ポッ
おいしいアイスカプチーノを入れたいんじゃなかろうかと
2010/07/02(金) 18:39:56ID:r7AmHJqb0
よし、次のサーバーはこの辺でヨロ。みたいなー。
http://www.nippoh-kiko.co.jp/catalog/type04/02.html
http://www.nippoh-kiko.co.jp/catalog/type04/02.html
2010/07/02(金) 18:45:55ID:Xch+dKqH0
7/2(金) 21:00 〜 22:54
金曜ロードショー「紅の豚」
7/2(金) 22:50 〜 23:55 〜 01:00
NHK教育→NHK総合
2010FIFAワールドカップ・準々決勝
「オランダ×ブラジル」
金曜ロードショー「紅の豚」
7/2(金) 22:50 〜 23:55 〜 01:00
NHK教育→NHK総合
2010FIFAワールドカップ・準々決勝
「オランダ×ブラジル」
2010/07/02(金) 18:51:55ID:5XEQY2+F0
当社のコーヒーメーカーを買えば
継続的な豆の購入の特典として 書き込み権限が付いて来ます。
継続的な豆の購入の特典として 書き込み権限が付いて来ます。
2010/07/02(金) 19:40:12ID:7xvbQ8Kx0
>>303
そのうち ビア・サーバー入れそうな希ガス
そのうち ビア・サーバー入れそうな希ガス
2010/07/02(金) 19:56:52ID:leoObiob0
当社のビアサーバーを買えば
継続的な生ビールの購入の特典として 2ちゃんねるの過去ログが読み放題です。
継続的な生ビールの購入の特典として 2ちゃんねるの過去ログが読み放題です。
2010/07/02(金) 20:18:16ID:l/3hKTEx0
>>310
あとは綺麗なおねーちゃんも入れれば完璧ですね、わかります
あとは綺麗なおねーちゃんも入れれば完璧ですね、わかります
2010/07/02(金) 20:23:02ID:qxUClT9F0
またワクワクする週末がやってきた
頑張ってねん
頑張ってねん
2010/07/02(金) 20:53:20ID:tNI4eMdT0
紅の豚が来るぞー!
@日テレ 21:00〜
@日テレ 21:00〜
2010/07/02(金) 21:01:18ID:Mz/3PSo40
2ちゃん名物の鯖落ちがなくなるってなると寂しいな
2010/07/02(金) 21:27:41ID:ESuPeVFBP
今じゃ鯖落ちを名物と思ってない人も増えてるからなあ
2010/07/02(金) 21:33:44ID:irFMOOjC0
名言来ましたがぜんぜん大丈夫そうですね
2010/07/02(金) 21:44:53ID:5gojn9VW0
>>316
鯖落ちを楽しめない人が増えているんですよ。
鯖落ちを楽しめない人が増えているんですよ。
2010/07/02(金) 21:45:49ID:fgylWR9z0
世の中ピリピリしすぎなんだよなあ
バルスなんか鯖落ちするのが名物なのに
バルスなんか鯖落ちするのが名物なのに
2010/07/02(金) 21:48:55ID:pue5kkpG0
落ちない実況なんて…
バルス!の時は手動で落とせよ
約束だからな
バルス!の時は手動で落とせよ
約束だからな
2010/07/02(金) 21:53:18ID:netM3zQe0
>>314
11時に向けてのウォーミングアップにもなってない(´・ω・`)
11時に向けてのウォーミングアップにもなってない(´・ω・`)
2010/07/02(金) 21:56:53ID:5XEQY2+F0
豚好きは大人が多いからだろw
2010/07/02(金) 22:03:24ID:ccWVJGED0
豚はそこまで破壊力ないからなぁ
興味ないって人も少なからず居るかと
興味ないって人も少なからず居るかと
2010/07/02(金) 22:18:37ID:2aiygc6H0
2ちゃんユーザーの高齢化 10代や20代という若い世代にとって、『2ちゃんねる』という言葉を口にすること自体が恥ずかしい
http://newtou.info/entry/3454/
http://newtou.info/entry/3454/
2010/07/02(金) 22:19:35ID:5NSx6MCz0
日本戦に比べたらジブリなんて微々たるもの
326動け動けウゴウゴ2ちゃんねる
2010/07/02(金) 22:43:16ID:q7jZPBuS0 盛り上がらないねえ
2010/07/02(金) 23:06:09ID:mI7zFSSh0
328動け動けウゴウゴ2ちゃんねる
2010/07/02(金) 23:07:51ID:duSO8qlz0 2010/07/02(金) 23:07:06
NHK総合の勢い: 67res/分 22:55〜23:50 参議院比例代表選挙政見放送
NHK教育の勢い: 165res/分 22:50〜23:55 2010FIFAワールドカップ・準々決勝
日本テレビの勢い: 70res/分 23:00〜23:30 アナザースカイ
TBSテレビの勢い: 18res/分 23:00〜23:30 A−Studio
フジテレビの勢い: 8res/分 23:00〜23:30 恋するTVすごキュン
テレビ朝日の勢い: 58res/分 23:10〜23:15 世界の車窓から
テレビ東京の勢い: 19res/分 22:54〜23:58 ワールドビジネスサテライト
やっぱETVじゃダメか
NHK総合の勢い: 67res/分 22:55〜23:50 参議院比例代表選挙政見放送
NHK教育の勢い: 165res/分 22:50〜23:55 2010FIFAワールドカップ・準々決勝
日本テレビの勢い: 70res/分 23:00〜23:30 アナザースカイ
TBSテレビの勢い: 18res/分 23:00〜23:30 A−Studio
フジテレビの勢い: 8res/分 23:00〜23:30 恋するTVすごキュン
テレビ朝日の勢い: 58res/分 23:10〜23:15 世界の車窓から
テレビ東京の勢い: 19res/分 22:54〜23:58 ワールドビジネスサテライト
やっぱETVじゃダメか
2010/07/02(金) 23:10:39ID:duSO8qlz0
ブラジル先制
2010/07/02(金) 23:15:07ID:dhyeok0l0
もうサッカーも盛り上がらないんかね
331動け動けウゴウゴ2ちゃんねる
2010/07/02(金) 23:17:41ID:q7jZPBuS0 サッカーファン以外のニッポン応援ファンが離れちゃったからね
332動け動けウゴウゴ2ちゃんねる
2010/07/02(金) 23:22:52ID:ApcPXGw70 日本審判団の晴れの舞台なのにね(´・ω・`)
2010/07/02(金) 23:24:51ID:kNBsxeBb0
ニッポンのレフェリーは世界レベルなのに先週は…
334動け動けウゴウゴ2ちゃんねる
2010/07/02(金) 23:37:35ID:xfypZDES0 アタック?
やたら受信が増えてるけど
やたら受信が増えてるけど
2010/07/02(金) 23:58:07ID:PBuM/2wU0
たまに、アタックらしき痕跡が報告されるよね
密かに対処されてるのか、放置されてるのか分からないけど
密かに対処されてるのか、放置されてるのか分からないけど
336動け動けウゴウゴ2ちゃんねる
2010/07/03(土) 00:02:29ID:6mjOnkpU0 ティウンティウン
ティウンティウン
◎ ◎
◎ ◎
◎ ◎
Γ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧∧◎ ∧∧∧∧∧∧∧∧◎∧∧∧│
三三三三三三三三三三三三三三三 │
◎ ◎
◎ ◎
ティウンティウン
◎ ◎
◎ ◎
◎ ◎
Γ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧∧◎ ∧∧∧∧∧∧∧∧◎∧∧∧│
三三三三三三三三三三三三三三三 │
◎ ◎
◎ ◎
2010/07/03(土) 00:09:05ID:3lbY5lBcO
>>266
Apache httpd+CGI だと、ログ出力=レスポンス完了時=CGIプログラム終了時となるのがふつう。
つまり、ログに書けないことが原因でdatに書けないということはない。
もちろん、あくまでもふつうのケースなので、意識して先にログ出力することは出来ると思うが、
ログ出力されたことを確認してからdat書き込みなんてコストのかかることはやってないと推測。
Apache httpd+CGI だと、ログ出力=レスポンス完了時=CGIプログラム終了時となるのがふつう。
つまり、ログに書けないことが原因でdatに書けないということはない。
もちろん、あくまでもふつうのケースなので、意識して先にログ出力することは出来ると思うが、
ログ出力されたことを確認してからdat書き込みなんてコストのかかることはやってないと推測。
338root▲▲ ★
2010/07/03(土) 00:26:13ID:???0 きたく。
それなりに盛り上がってはいるのか。
2xx 3xx 4xx 5xx URL
2843 55 0 0*/livenhk/dat/1278083982.dat
1143 30 0 0 /livefoot/dat/1278083598.dat
443 0 0 0 /livenhk/subject.txt
373 0 0 0 /test/bbs.cgi
372 15 0 0 /livefoot/dat/1278084267.dat
330 34 0 0 /liveanb/dat/1278078434.dat
289 23 0 0 /livenhk/dat/1278084004.dat
262 0 0 0 /test/read.cgi/livenhk/1278083982/l50
220 9 0 0 /livejupiter/dat/1278084109.dat
195 44 0 0 /livevenus/dat/1278078310.dat
193 32 0 0 /livewowow/dat/1278081145.dat
186 7 0 0 /livefoot/dat/1278083007.dat
それなりに盛り上がってはいるのか。
2xx 3xx 4xx 5xx URL
2843 55 0 0*/livenhk/dat/1278083982.dat
1143 30 0 0 /livefoot/dat/1278083598.dat
443 0 0 0 /livenhk/subject.txt
373 0 0 0 /test/bbs.cgi
372 15 0 0 /livefoot/dat/1278084267.dat
330 34 0 0 /liveanb/dat/1278078434.dat
289 23 0 0 /livenhk/dat/1278084004.dat
262 0 0 0 /test/read.cgi/livenhk/1278083982/l50
220 9 0 0 /livejupiter/dat/1278084109.dat
195 44 0 0 /livevenus/dat/1278078310.dat
193 32 0 0 /livewowow/dat/1278081145.dat
186 7 0 0 /livefoot/dat/1278083007.dat
339root▲▲ ★
2010/07/03(土) 00:31:16ID:???0 2xx 3xx 4xx 5xx URL
2647 118 0 0*/livenhk/dat/1278084347.dat
1096 2 0 0 /livenhk/subject.txt
852 11 0 0 /livefoot/dat/1278084374.dat
594 0 0 0 /livefoot/subject.txt
510 3 0 0 /livenhk/dat/1278076963.dat
498 0 0 0 /test/bbs.cgi
462 11 0 0 /livefoot/dat/1278084267.dat
439 4 0 0 /livefoot/dat/1278083007.dat
325 7 0 0 /livenhk/dat/1278084004.dat
270 21 0 0 /livejupiter/dat/1278084109.dat
248 0 0 0 /test/read.cgi/livenhk/1278084347/l50
220 1 0 0 /livenhk/
2647 118 0 0*/livenhk/dat/1278084347.dat
1096 2 0 0 /livenhk/subject.txt
852 11 0 0 /livefoot/dat/1278084374.dat
594 0 0 0 /livefoot/subject.txt
510 3 0 0 /livenhk/dat/1278076963.dat
498 0 0 0 /test/bbs.cgi
462 11 0 0 /livefoot/dat/1278084267.dat
439 4 0 0 /livefoot/dat/1278083007.dat
325 7 0 0 /livenhk/dat/1278084004.dat
270 21 0 0 /livejupiter/dat/1278084109.dat
248 0 0 0 /test/read.cgi/livenhk/1278084347/l50
220 1 0 0 /livenhk/
340root▲▲ ★
2010/07/03(土) 00:32:58ID:???0 2xx 3xx 4xx 5xx URL
2538 36 0 0*/livenhk/dat/1278084356.dat
1129 17 0 0 /livefoot/dat/1278084374.dat
619 1 0 0 /livenhk/subject.txt
596 23 0 0 /livenhk/dat/1278083641.dat
485 12 0 0 /livefoot/dat/1278084267.dat
427 3 0 0 /livefoot/dat/1278083007.dat
419 2 0 0 /liveanb/dat/1278078434.dat
393 12 0 0 /livenhk/dat/1278084004.dat
340 0 0 0 /test/read.cgi/livenhk/1278084356/l50
337 0 0 0 /test/bbs.cgi
303 4 0 0 /livenhk/
2538 36 0 0*/livenhk/dat/1278084356.dat
1129 17 0 0 /livefoot/dat/1278084374.dat
619 1 0 0 /livenhk/subject.txt
596 23 0 0 /livenhk/dat/1278083641.dat
485 12 0 0 /livefoot/dat/1278084267.dat
427 3 0 0 /livefoot/dat/1278083007.dat
419 2 0 0 /liveanb/dat/1278078434.dat
393 12 0 0 /livenhk/dat/1278084004.dat
340 0 0 0 /test/read.cgi/livenhk/1278084356/l50
337 0 0 0 /test/bbs.cgi
303 4 0 0 /livenhk/
■ このスレッドは過去ログ倉庫に格納されています