本職がバカやったらすごいんだぞー!
っていうのを一度作ってみたい(爆)おいおい、ちょっと待てよ。大きな子供が何やってんの。アホちゃうか?と言われるくらいの事やってみたいです。根っから本人とってもマジメ、でもはたから見ると微笑ましい(ある意味ですけど)。なんか頭が固いのか面白い案が浮かびませんが、とりあえずSWTのボタンをブロックに見立ててテトリスでも作ってみようかなと(ぇー)。グリッドでオセロ?ラジオボタンでピンポン?リストでルーレット?ボタンでブロック崩し…いまいちおもしろくないですね。なんか案があったら是非!私、ネタに共感を覚えるとウズウズする方なんで、一度手が動き出すと早いです。
#あっ、書き出したの全部ゲームだ…。ボタンとラジオボタンの熱愛発覚。生まれた子供はヘコム形のラジオボタンだった。Radio-Story!ツリーのノードが上層のノードに喧嘩を売った。激しいツリーの開閉の結果、子ノードが勝ち親ノードにのしあがった。しかし、同じ階層に強いノードがいて、あっさりと子ノードにされてしまう。次の下克上はいつだっ!Tree-RPG!アイデアが貧困だorz
#追記:ま、まさかGUIの出世人生を描くゲームを作れということなのか!(誰も何も言ってないって)。それってSimIT〜ITアドベンチャー〜に通じるものがあるようなないような…日々業務の中で自分の”ボタン”を育てていく。育つにつれて装飾していき、転職することで以前の能力を引き継いでいく。ボタン>ツリーへと転職すればノードにボタンを設定することができたり。究極のGUIコンポーネントを目指せ!GUI-Story〜出世はコンポーネントを極める〜。コンポネゲットだぜ!私、今日はお疲れのようです。
Java Open Source Software
Izuさんの日記より
http://java-source.net/
おお、便利便利。知らないのも結構ありますね。PersistenceにiBATISが無い…やっぱりマイナーですか?(T.T)
先回りの助言はやる気を削いでいく
今日読んだ本にここに書いた事が載ってた。私の書いたものからちょこっと引用
親:勉強しなさい! 子供:今からやろうと思ったのに!
私はこう思ったから書いたわけで、違う人の視点からこの現象の説明を受けるとなるほどと思った。同じ事象でも見方が違えば全然解釈が違うって事ですね。私の書いたのは率直すぎてまとまりがありませんが、ちゃんとタイトルを付けるなら「先回りの助言はやる気を削いでいく」というのも一つの解になるんでしょう。
絵を描く難しさ
文字ベースで書いてある提案をマンガに起こそうとしてるんですけど、まったくもって難しい(爆)頭の中には面白いマンガが浮かんでるんですけど、書き出すとこれまた下手っぴ。イメージは同じなんですけど、いまいち表現力に乏しいですね。提案内容から主要な単語や文節を抜き出し、それを絵に起こしてストーリーをくっつけようとしています。やっぱり絵で書いてある方が直感的に分かりやすいですね。絵と文字が一緒になっていて、それをベースに話も加えれば十分です。ちなみにA3一枚におさまるようにしようとしてます。私はA3に収まるくらい簡単に説明できて、がっしりと心が掴めなければ駄目なんじゃないかなと思いました。直感を刺激するのが第一歩としては重要かなと。つかみがOKなら後は徐々に詰めていくと。未知な分野ではありますが、考え・教えられながら徐々にやっていきたいと思います。予備知識が無いのが個人的に不安なんですけど、やっぱり人と人とのお付き合いなんで楽しくできたら良いなと思います。たぶん理想や常識から離れている部分もあるとは思いますが、もったいない方向へがんばり続けないよう努力したいと思います。
ActionErrorの国際化対応
new ActionError("message.key", "replace value");
問題は"replace value"の所です。通常の使い方だと固定で文字列を埋め込むようになっていますよね。これが問題です。置換文字列そのものも国際化対応したい場合どうしろと…。ActionErrorを主に作るのはActionForm内のvalidateメソッドですよね。validateメソッド内だと簡単にメッセージリソースを取得する方法が無いように思えます。Actionの方ならgetResourcesが使えるので問題ないんですが、そんなことしてるとvalidateメソッドを使わなくなっちゃいます。validateメソッドを使わないとstruts-configのactionタグ、input属性が効きません。どうしろと・・・(苦笑)
最も美しくない解決方法が置換文字列そのものを含んだ完全なメッセージを定義する事。置換文字列が必要なメッセージは例えば
{0}は必須入力です。
みたいな奴なんで、それをひとつずつ定義するのは非常に美しくない。リソースを取得する方法を探すか、メッセージを取ってくるコードを書くか、全部定義する事に我慢するか、埋め込み文字列で押し切ってしまうか。これは全体にからむ所なんで少し時間を割きます。がんばれ自分ー。無駄な努力だったら遠慮えず泣けー(笑)
#追記:Struts1.2からActionMessageの使用を推奨なんですね。ActionErrorはActionMessageのラッパーみたいで、意味ないんじゃ?と思ったらそういう事でしたか。ふむふむ。もうソースレベルで追っかけてます(苦笑)
続:ActionErrorの国際化対応
なんか究極にやっちゃいけない事のような気もしますが、一応できる事が判明
public ActionErrors validate( ActionMapping mapping, HttpServletRequest request) { MessageResources resources = (MessageResources) request.getAttribute(Globals.MESSAGES_KEY); }
さて、本当にこんな事をやって良いんでしょうか…もしOKならActionFormを継承してgetResourcesメソッド作って、既存のActionFormを継承してるクラスを置き換えちゃいますよ…なんか悪い事してる上に非効率っぽいから嫌だなぁ(^_^;
#激しく追記:Strutsのソースをgrepかけたらまたまたありました。
MessageResources resources = Resources.getMessageResources(request); // Resourcesクラスはorg.apache.struts.validatorパッケージにある。
なるほど、こうやって機能を探すわけですね。しかしっ、validatorパッケージにあるクラス使って良いんでしょうか(笑)Strutsはおんなじ処理があっちこっちに書いてあってどれ使ってもOKなんですよね。一箇所util系のクラスにまとめれば良いのに。
LOOXのN, Mが消えかける
のぉぉぉぉぉぉぉぉぉぉぉーーー私の愛しのLOOXたんの「N」「M」キーが消えかけております。「えむ」「えぬ」くらい消えています。そろそろモデルチェンジですかね。黒LOOXと白LOOX両方買って、毎日HDDミラーリングして、その日の気分で使い分けたいです。そんな贅沢今やってしまったら今後のLOOX萌え人生に陰りが出ちゃいます。ということでN, Mの刻印が消えた時点が夏だったら白LOOX、夏以降だったら黒LOOXを買おうと思います。その時お財布に余裕があればですけど(T.T)
#陰りとか書きましたけど、そんなのありえなーいって感じです。何台あったって萌えです。ハイ。小さいパソコンは全部萌えです。PDAも萌えです。小さい機械なら萌えです。ヴォー