*[[フォルダチェッカー:http://ghosttown.mikage.jp/cgi-bin/check/gd_checker.cgi]] [#v7166568] http://ghosttown.mikage.jp/cgi-bin/check/gd_checker.cgi #ref(source.zip,center) **これは何? [#b84761ee] -フォルダーが既に使われてるかチェックする物。 -ゴースト公開する時に他の人のゴーストを上書きしてもうた〜って事故を避けることができる。((いるむもフォルダ重複されていたらしい。)) -ゴースト公開する時に他の人のゴーストを上書きしてもうた~って事故を避けることができる。((いるむもフォルダ重複されていたらしい。)) **仕組み [#tef7fdcc] -ゴーストセンターから提供されているxmlデーターを解析しています。((ゴーストタウンで項目付けてほしいといった要望があったけど、センターのデーターは自動処理なのでそれを利用するのが理にかなってたり。)) -ゴースト公開前に一回だけ確認すればいいものだからcacheなんて気にしない(殴((ゴーストマネージャーよりも使用頻度低いだろうし。)) **何故PHP? [#ee9b34c6] -perlだとソケット通信部分書くのが面倒くさかった。 -phpがperlよりももてはやされているようだが、実際如何かという比較をしてみるテスト。 **結果 [#y4d6b760] ''△''~ スクリプトの作成時間はそう変らないかも・・・。((perlに慣れてるってのもあるけど、PHPのPerserが賢くない。)) ''○''~ モジュールを気にしなくても良い。((てか、関数が多すぎ。)) ''◎''~ SOCKET通信周りの構築が楽。((Perlだといくつか実装方法があるので選択間違うとorzに)) ''×''~ サーバー依存があるっぽい。((ゴーストセンターのサーバで動かなかったり。))~ #PHPは処理時間制限がかけられますので……([[ぽな@ばぐとら]]) ''×''~ 正規表現が弱い((特にマルチバイトが絡むとアウト。))~ #Perl互換正規表現モジュールがあるはず([[ぽな@ばぐとら]]) ''△''~ ソースが何か汚くなった気がする・・・((普通perlの方が汚くなるといわれてるんだけどねぃ・・・)) ''◎''~ ぬぅ・・・ **その後 [#b1738967] 移転先でphpが使えないのでPerlで作りなおしました。~ 最初socketで作ってたんだけどuriの?以降のパラメータがうまく渡らなかったもんでLWPを使うヘタレっぷり。~ ゴーストの名称(%sakuraname,%keroname)の取得機能も要望されたので統合して被り負けチェッカーに名称変更。~ それに伴い、アクセス数も洒落にならなくなってきたのでローカルにデータを保存して検索するようにしたり((最初からそうしとけと言う説もある。))