華和梨開発ツール再考 †

http://www3.to/TinyPalace/
http://kemonomimisippo.hp.infoseek.co.jp/
http://happygame.hp.infoseek.co.jp/
http://d.hatena.ne.jp/satos/
http://d.hatena.ne.jp/suikyo/20050226

これってなに? †

華和梨の開発ツールがCUIなのがどうかという問題提起のまとめと解決案を考えるページ。
……って、わしAYAユーザーやなかったっけか*1……

現状の問題点 †

デバッグツール(幸水)がCUIしかない †

  • AYAの玉はGUIっぽいですが実は操作体系はCUIなのでいっしょです!
  • 里々はさとりて……でしたっけ。ゴースト辞書全体を読み込んで精査という使い方はできなかったはず。できるそうです。
    使ってみました。やっぱり見た目はGUIですがCUI臭さは抜けてない気もします。

ログのリアルタイム表示ツールがない †

  • 設定ファイルをいじらずにこのアプリ立ち上げればログが見られますよっていうのはすごく気楽で良い。
  • デバッグモードをONにしたままほったらかしてリリースしちゃった!という情けない問題。
    ※うちが今まで散々やってしまったアホなミスです orz
  • AYAは玉、里々はれしば。

問題点の検討 †

デバッグツールがCUIしかない †

  • そもそもどのSHIORIもないかCUIしかないかどちらか。
  • トライ&エラーでやる人が多く、デバッガもどきを持ち出すのは非常に稀。 <- 櫛ヶ浜やぎさん@さとーさんの日記
  • 需要の低いシロモノをGUI持ち出してまで飾り付ける必要があるのかなぁ?
  • 結局は掘り下げれば見た目の違いでしかないんじゃないかと思いますけれど。
    いやま、これから使おうって人はかなりの割合を見た目で選ぶことになりますし、スルメのように噛んだら味が出て来る……とかいうツールは比較的不利であります。

ログのリアルタイム表示ツールがない &dagger;

  • 華和梨のログ吐きはofstreamを使って生で書き出しているだけ。
  • ……つまり、ostreamを継承したクラスとか作れればいける……のかな?operator<<はvirtualでしたっけ?
  • WM_COPYDATAをログ取りアプリのウィンドウにSendMessage?で投げつけるだけのはず。シンプル。
    • Windows以外ではどないしてたっけ(汗
  • 受信側はさとりてなり玉なりの互換ならそれでよろしいかと。
  • GUI/CUIに拘りませんが何か各SHIORI共通でリアルタイムログ送信規格みたいなの作ってみませんかね?

とりあえず &dagger;

  • デバッグツールは……まぁ、幸水そのままでよかろうと。
  • 華和梨側の対応が……ostreamもどきクラスを作る工数・難易度etc...
  • 華和梨のソースはばっさり環境依存部分と非依存部分を分けたファイル構成で、ログ吐き処理は非依存部にあるくせにログ送信処理はおもいっきり環境依存なので、ツールにまるなげする処理をどこに置くかが難題。
  • 文字コードの問題。れしばが受けられるデータ(文字)の制限は?華和梨側で変換かまさないと駄目?玉はそのへんの対応コードあるみたいですが。
  • いちばん面倒でないのがコンソールれしばもどき。ログ表示ツールなんぞGUIとかCUIとか以前にインターフェース自体要りませんからね。流すだけ。
  • UNIXのteeコマンド使う時みたいに、あわせてファイルに保存できるとなおよい。

適当仕様メモ &dagger;

Mutex "shiorilogmutex" があればログ処理アプリが立ち上がってるものと判断

まずはどう実現するか &dagger;

  • 名前つきパイプはWin9x未実装です! orz
  • CreateMailSlot?(メールスロット)という仕組みが一応代案になりそう
  • DSSTPの流儀に従って手抜きするならFMO+WM_COPYDATAが楽

WM_COPYDATA案のメモ &dagger;

  • FMO "loggerfmo" にWM_COPYDATAでまるなげしてもらいたいHWNDを書いておく
  • このFMOの存在で自動的にログモードONの判断。
  • どうせ簡易仕様なので、数十バイトくらいのFMO作ってunsignedで表現したHWNDを書くだけとか。あまり重い仕様はダメ。
  • 今後の64ビット対応は?->そのためにテキストで書く。バイナリ形式にはしない。

ログ表示はEditコントロールかコンソール流用か。 &dagger;

  • Editの腹が立つ32KB制限……
  • コンソール流用したらまたCUIか!とか怒られそう。ログ表示するだけなのでインターフェースもへったくれもないから見た目の問題なんだけどなぁ。

複数ログ吐き側(クライアント)からログ受け取り側(サーバ)へ送られる可能性 &dagger;

  • ……はあるわけですが、あまりややこしい仕様をただのログツールに想定するのもアレなのでうちは考えないほうがいいんじゃないかとか。

ログの重要度を示す何か。 &dagger;

  • エラーだけ見えればとりあえずいいから!って人もどかどか来る情報を目で見て処理しないといけないのは辛い。
  • 情報、警告、エラーくらいですか。syslogもどきまでやらなくてもおおざっぱにそれくらいでよさそう。
  • WM_COPYDATAではデータとは別に数値も渡せるので、0,1,2くらいを渡すといいかな?
  • 今後の拡張を想定して0,1000,2000とかにしておくかなぁ。

ツッコミ &dagger;

最新の20件を表示しています。 コメントページを参照

  • さとりて、辞書全体読み込んでごにょごにょ出来ますよ。 -- 殊海夕音 2005-02-25 02:45:37 (金)
    • 辞書ファイルをD&Dすればいけるんですかね?説明書に書いてないからどうなんだろうと思ってましたが。 -- ぽな@ばぐとら 2005-02-25 10:57:10 (金)
    • satorite.exeと同じ階層にある辞書ファイル群をsatori.dllと同じ方法で読み込んでます。 -- 殊海夕音 2005-02-25 13:15:04 (金)
  • 単に窓開いてログを出したいだけなら、ファイルに吐かせてそれを周期読み込みするとか?頭悪いですが非常に簡単かと。 -- 殊海夕音 2005-02-25 02:51:59 (金)
    • それだと、デバッグオプションはずし忘れでユーザさんとこで延々ログ吐きする問題に対処できないかと。 -- ぽな@ばぐとら 2005-02-25 16:52:39 (金)
    • ツール側から自動でデバッグオプションの付け外しとか。華和梨の仕様読まずに言ってますが。 -- 殊海夕音 2005-02-25 18:27:32 (金)
    • まぁ、なんかとにかく手軽にログ吐きできる方法さえあればええわけですね。デバッガのほうはみないらんしええやろちう結論みたいですし。。 -- ぽな@ばぐとら 2005-02-25 19:30:39 (金)
  • 32k制限に怒り心頭。そんな貴方にTEditor。 -- 殊海夕音 2005-02-26 02:24:11 (土)
    • 何か国際化対応機能持ってるんでしょうかあれ。それだといちばん楽ですが、、、 -- ぽな@ばぐとら 2005-02-26 08:25:31 (土)
    • 残念ながら内部はShift_JISで動いてるようです。国際化を考えると結構辛そうですね……。 -- 殊海夕音 2005-02-26 12:44:45 (土)
  • れしばの送信側 (_/Sender.h)でostreamを継承したのを使ってます。よろしければご参考に。 -- やぎ? 2005-02-26 02:32:29 (土)
  • れしばもWindowsのプロンプトも、多分Shift_JISしか受け付けないでしょうね。 -- やぎ? 2005-02-26 02:43:49 (土)
    • 華和梨は日本以外でも使われてるのでその点が難儀ですね。いっそTextOut?(W)でちまちま描画するしかないんだろうか……orz -- ぽな@ばぐとら 2005-02-26 08:24:53 (土)
      • 何か、自作しなくても定番がありそうなもんですけどねぇ。 -- やぎ? 2005-02-26 19:05:22 (土)
      • Editでやるなら単純に、最後から32KB分だけ表示とかですかね。もっとシンプルに何行だけ表示とか。……やっぱりコンソール画面使いたいorz -- ぽな@ばぐとら 2005-02-27 19:27:52 (日)
  • あと、さとりてのユーザが「非常に稀」とまでは言わないです。感触で言うなられしばの方が少ない。あっちは栞上にあらわれない内臓を見ることになりますから。 -- やぎ? 2005-02-26 02:43:49 (土)
    • 上で書いてくださってる殊海夕音さんとかの話を聞いてると、れしば使ってみてというのは聞きますがさとりてはあんまり聞いてなかったような記憶が。どうでしょ>ゆねさん -- ぽな@ばぐとら 2005-02-26 08:23:14 (土)
    • 結構使いますよ。適当なSSTPサーバとれしばを同時に使えばゴースト本体が無くとも動作見られるので重宝してます。 -- 殊海夕音 2005-02-26 12:33:08 (土)
    • さとりては「会話のテスト」が主目的なので、まだしもわかりやすいでしょう。れしばは「期待通りに動かない」ときの分析用なので、便利さを理解するには動作を想像する程度には習熟してないとならない。かな。 -- やぎ? 2005-02-26 19:15:01 (土)
    • もっとも、ロガーと比べると「デバッグ補助ツール」の概念は広すぎるので、参考にならないかもしれませんが。 -- やぎ? 2005-02-26 19:16:03 (土)
お名前:

*1 実は華和梨も使えますから!ちゃんと!でも華和梨7系だけは勘弁な。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-12-09 (土) 22:52:32 (4551d)