CAKE(6)                      FreeBSD Games Manual                      CAKE(6)



NAME

     ふりぽけ日記 - 2001年07月下旬



SYNOPSIS

     cake [-vd] [garbage-in garbage-out]



DESCRIPTION

     Cakeは駄文製造プログラムです。一般に、ゴミを入力するとゴミを出力す

     る、とされています。



OPTIONS

     なにも指定をせずに立ち上げると、標準入力(/dev/ear)から読んで標準出

     力(/dev/mouth) に書こうとします。(放っておくと、ずっとそのままで入力を

     待っています。)入力ファイルと出力ファイルを指定すると、それらを読み書き

     します。



     -v オプションを指定すると、何をやっているのか細かく報告します。

     -d オプションはデバッグモードです。





2001.07.21 Sat :

   少年ナイフ :



     いつも Referer: 統計の上位に少年ナイフのサイトが入っていたので、誰だろう

     と思っていたら、

     ここ(http://www.st.ryukoku.ac.jp/~kjm/security/memo/referer.html)

     から

     Proxomitron-J(http://www.pluto.dti.ne.jp/~tengu/proxomitron/)

     だと判明。なんか紛らわしいなあ。





   gmake :



     「入ります ディレクトリ」「出ます ディレクトリ」



     「に対して行うべき事はありません」



     実際自分のマシンで表示されると、なんかムカつく。





   ports :



     cvsupで最新のを持って来ているのに、どうもmakeするとバージョン古いよエラー

     が出る。



     思い切ってエラーの出た /usr/ports/devel をディレクトリごと削除したら

     makeできるようになった。



     古いファイルがのこっていたらしい。





2001.07.23 Mon :

   ルビとローマ字読み :



     賛美歌詞映写システムで、漢字のふりがなをルビ表示し、日本語の読みをローマ

     字表示するという要件があった。



     最初はXMLで本文、ふりがな、ローマ字読みを構造化してDBに登録しようかとも

     思ったんだけど、下記のような簡単なアプローチでも充分効果的であることが分

     かったのでXMLはヤメ。



     初期移行データがWordのDOCファイル(ルビつき)で大量にあるので、

     (Word -> HTML形式で保存 -> IEで読み込み -> テキスト形式で保存)

     …という手順で整形してから移行する。



     DBに格納する文字列のイメージ。



       $str = "こんな漢字(かんじ)仮名(かな)入(い)り交(ま)じった文章(ぶんしょう)を処理(しょり)する。";



     マルチバイト正規表現関数でRUBYタグに変換



       $ruby_str = mbereg_replace( "([亜-熙]+)\(([ぁ-ん]+)\)","<RUBY>\\1<RT>\\2</RT></RUBY>", $str);



     同じく仮名だけ抽出



       $kana_str = mbereg_replace( "([亜-熙]+)\(([ぁ-ん]+)\)", "\\2", $str);



     これをphp4用kakashiモジュール(*)で処理すればローマ字読みもバッチリ



       $roman_str = kakasi($kana_str, array("-Ha", "-Ka", "-Ja", "-Ea", "-ka"));



       (*)  http://katayama-www.cs.titech.ac.jp/~horikawa/php3/php4_install.html



     更に、登録時にkakasiを使って自動で「漢字」⇒「漢字(かんじ)」と読みを付加

     させることも結構簡単だと思う。



     結果の質はkakasiの辞書に依存するけどね。語彙がキリスト教に偏っているの

     で、辞書のチューニングとか必要かも。





   myWiki :



     以前、PalmWiki と連係できる小さな Wiki を作ろうと書いたもの。



     構想では Windows で動き、Outlook のメモ帳と同期がとれ、自力で http を話す

     というものを作る予定だったのが、なぜか http-server の機能を作り込む前の段

     階で放置してしまっていた。



     もともとは「petitt wiki」という意味で pwiki という名前にしようと思ってた

     んだけど、某所で先を越されてしまったので(笑い)、別の名前を考えなく

     ちゃ。とりあえずmyWiki(仮称)とでもしておこう。



     myWiki(http://www.ops.dti.ne.jp/~cake-smd/prog/mywiki-0.0.tar.gz)



     フォーマッター、リポジトリ、CGI の3つのパーツに分かれていて、それぞれ交

     換可能。



     フォーマッターは、今のところYukiWikiMini 程度の簡単なもののみ。WikiName

     は [ ] で囲む。(PalmWikiに合わせて)



     リポジトリは、ファイルとディレクトリを使うもの、DBM を使うもの、それから

     アウトルックのメモ帳をデータベースとして使うものの3種類。



     CGI は普通の httpd から呼び出されるもののみ。





2001.07.24 Wed :

   Test First :



     PhpUnit を使って、ドメインクラスの実装を始めた。



     テスト・ファーストでリファクタリングしながら進めてみるつもり。



     PhpUnit は、やはり JUnit とおおむね同じ使い方ができるようだ。ちびっとい

     じってはテストする、というサイクルは、やっぱり楽。



     あと、先日 mod_php4-4.0.6_3 にバージョンを上げてみたところ、PEAR ライブラ

     リが以前より充実している。ざっと挙げると、



        Cache

        Mail

        Cache/Error

        Console/Getopt

        Crypt/CBC

        DB

        DB/common

        DB/storage

        File/Find

        Net/Curl

        Net/Dig

        Net/SMTP

        Net/Socket

        Numbers/Roman

        Payment/Verisign

        Schedule/At

        XML/Parser



     直接 extends PEAR しているクラスだけでもこれだけある。孫も入れるともう

     ちょっと多いかな。



     DB/mysql を使ってみたけど、接続時の文字列だけ入れ換えればほぼそのまま

     PostgreSQL に切替えられる。これは楽だ。





2001.07.30 Mon :

   間があいたけど :



     コードを書くのに没頭していると、日記が滞るのは仕方ないものだろうか。





   Java IDE初体験 :



     Forte for Java と VisualAge for Java をインストールして、チュートリアルを

     やってみた。



     チュートリアルは Forte についてきていたので、こちらで一通りやったあと、同

     じものを VA でも作ってみるというアプローチ。



     例題は、ラベルとボタンがひとつづつある JFrame が一枚あって、ボタンを押す

     たびにラベルの背景色が変わるというプログラム。



     Forte だと、 jButton1_on_click() なんていうメソッドの中で、



     jLabel1.setBackground(this.currentColor);

     とかやればいいだけなのが、VA だとJPanelとJButton, JLabel がBeanで接続(と

     いうのか?) されているので、アクセスするのにも一苦労。 Beanというものがよ

     くわかってないのでいまだにちゃんと動かない。 (色が変わらないのです。)



     それにメンバフィールドを追加するダイアログに、get/setメソッド追加というオ

     プションまであるし。あくまで大規模用のツールであってゴミプロ(hello

     worldとか)には向かないようだ。



     IDE内に履歴管理もあるし、使い方さえ覚えれば頼りにはなりそう。





   リファクタリング :



     この本、目から鱗がいっぱい落ちる。



     手順を真似しながら自前のコードをいじりはじめるとますます(鱗が)落ちる。



     で、感動の薄れぬうちにtodo/Tiki のリファクタリング頁を書き書き。



     調べてみるとJavaにもリファクタリングツールが出始めているようだ。

     jFactor(http://www.instantiations.com/jfactor/)

     IDEA(http://www.intellij.com/idea/)



     まだJUnitもインストールしていないのに…。





   IDEA :



     ダウンロード可能ということで早速試して見た。試用版ということで、8/20 まで

     しか使えないらしい。…くぅ。



     Forte for java で作った ColorSwitch.java を開いていろいろいじってみること

     にする。



     まず第一印象として、画面まわりはすっきりしていて使いやすい。画面全体がエ

     ディタとしてコードをばーんと表示していて、各ファイルはタブで切替えられ

     る。



     それに、プロジェクトなどのツリーは画面端のボーダーに埋め込まれた細いボタ

     ンを押すと、そのときだけポップアップする。邪魔にならず使う時は使いやす

     い。



     GUIのRADモードがないのは残念。



     しかしそのへんのメソッドをひょいと選んで、右クリックから簡単に javadoc を

     開いたり、 sun.com のリファレンスを開いたり、スーパークラスのメソッドに飛

     んだりと、かなり快適な感じ。



     目玉のリファクタリング機能ということで、試しに Extract Method を実行して

     みたら、抽出する部分が単純すぎたのか、渡す引数も返す値もないメソッドに

     なってしまった。つまり、抽出して作る新しいメソッドの名前を聞かれて答えた

     らそれで終り。



     あれ? もう終ったの? という感じ。すごいね。









SEE ALSO

     Top(1), PocketBSD(1), シュミプロ(1),

     ぽめれちょう掲示板(3),

     きまたま日記(6), 過去日記インデックス(1)



AUTHOR

     Cake(SHIMADA Keiki)



BUGS

     IE 4.0 以降や Netscape Navigator 6 以降などよりも、単純な VT 端末やライン

     プリンタからの出力のほうが見やすいかも知れません。



     この日記に書かれた内容が客観的に正しいという保証はありません。また、内容

     が予告なく変更されることもあります。



     Sorry, This page is English free.



nroff nikki system 0.01         August 6, 2001                               4