lucid lynx(10.4 LTS) で Redmine

lucid から redmine がパッケージ管理に追加されてるから使おうと思ったら逆に手間取った所があったので、そこだけメモ。

DB まわり

mysql 連携にするとインストール時に DB 作ってくれるけど、DB の文字コードが utf8 と latin1 混在で作りやがるから日本語が化ける。結局作り直す羽目に...。手動セットアップにしてココとか参考に自分で作った方が無難。

Web まわり

database.yml と session.yml の権限が 600 とかになってるので dispatch.fcgi で落ちて 403 になっていた。chown するか 644 とかに変更してやる必要あり。

買い物、読書とか

春物を飛び越して夏物が欲しくなり、気に入る服がないかとうろつきまわる。普段から服なんか買っていないから、足りないもの、欲しいものは色々ある。サンダル、シャツ、ネクタイ、スーツ、帽子、眼鏡...。
ネクタイはクールビズになれば締めないしな、と思い後回し。結局 crocs のサンダルとストローハットを買った。帽子って何故かかぶるのが気恥ずかしいけど、髪を短かくしてからは少しは似合うようになったのでは。だといいけど。
スーツはそろそろ切実に必要だけど、買いに行った街がちょっとアウェイな所だったので丈直し後に取りにいく手間を考えて見送り。

バクマン。」8巻を読んだ。文字数が多く内容も濃い割には展開にすごくスピード感があり、いつの間にか完全に蒼樹紅がヒロインになっている。この作品自体にもアンケートの結果が反映されているんだろうけど、当然アンケート結果がそうなるような流れを計算して描いているようにも思える。
桝田省治の「ゲームデザイン脳」も買って、これはまだ読みかけ。本屋で初めて見かけてすぐ買おうと思った本は久しぶり。
独白調の文がライトノベル風。手法の説明について「何故このやり方で説明するのか」が逐一書いてある。まだ途中だけど編集者の秋山絵美は桝田省治の創作で、たまに文中に登場することで全体の構成を軽くしているのではないかと思う。創作かどうかはどっちでもいいけど、そう思って読んだ方が面白い。そういえば天外魔境IIのDS版は欲しいけどまだ手に入れていない。SaGa2の時みたいに買ったら他の事を何もしないだろうし...。
バクマンにしろ桝田本にしろ、メタな本はそれ自体も当然コンテンツなので、そのコンテンツの流れと内容を同時に読むのが楽しい。

バクマン。 8 (ジャンプコミックス)

バクマン。 8 (ジャンプコミックス)

ゲームデザイン脳 ―桝田省治の発想とワザ― (ThinkMap)

ゲームデザイン脳 ―桝田省治の発想とワザ― (ThinkMap)

そうやって頭使って読むだけだと疲れるので、ゆるい妖怪漫画も買ってきて読む。自然の中に妖怪を見る人はそれだけ自然をよく見ているということで、それがこの画力を生むのか...書き込みの緻密さに嘆息。

はなしっぱなし 上 (九龍COMICS)

はなしっぱなし 上 (九龍COMICS)

Spring Roo は使いこなさなければ今後の仕事に関わる(少なくとも同等の Rails 系ツールには適応しなければ)のだが、AspectJ の使い方を求められたり、ベースとなる技術を理解しなければ気持ち悪くて使えない。 SQL を知らない新人に Hibernate を使わせたくない気持ち悪さと同じところからくるものだと思うけれど、 Roo が生成したソースに対して完全に透過的であることから余計に生成結果のソースを理解しなければ仕事には使えたものじゃない。
これを機にようやく真面目に SpringFramework をやる気になれたと思う。何しろフレームワークの選択肢が沢山ありすぎて、しかも仕事ではレガシーなプロジェクトしかないので余計にひとつ選んで極める気にならなかったのだ。
DI をやらなければならない事はわかっているけど guice も spring も s2 もあるし、という。s2 は日本語の割に情報不足の感(技評の初心者記事レベルが大半)、なら英語でも大量の文書がある spring にした方がいいのか...という所で Roo の存在が決め手になってやる気が出た。
まあ公式の文書だけでpdf700ページとか、いささか大量すぎる気もするけど。軽量を標榜しているから色々使い手があって逆に分量が増えるということか。

GW やったこと、残ったことまとめ

残った課題の方がずっと多いが、休み前には存在しなかった課題も多いなので割と充実していたのかも。ダラダラしていた割には、だけど。

趣味面

  1. 川畑氏ティラノサウルスを折った
  2. Ubuntu Lucid が出たので、 dist-upgrade した
  3. Spring Roo を試した。公式のドキュメントをざっと通して読んだ。 透過性第一ですごく良い、が Scaffold まで使うと自然とロックインされるな、という印象。
  4. Spring Roo を Marabar Mode で扱ってみて相性が良いことを確認。 パッケージ階層深いので Anything Project は必須、コンパイル実行が Maven2 におまかせなので Flymake 連携は難しいか。
  5. 細川家の至宝を観た。利休尻ふくら茶入、珠光天目茶碗、鵺切った侍(失念)が名になった壺、包丁正宗が特にすごかった
  6. GNU Emacs に ISpell, Flyspell を導入した。チェックコマンドは aspell に変えたので、その導入も。
  • Roo を Web に使うなら Spring Security の知識必須と思える。公式ドキュメント読むつもり、逆流して Spring3 もこの際マスタしたい。
  • 認証について一般的なところを知りたくなり、 LDAP の本も買ってきて読み中。昔使った時より和書が多くて嬉しい。
  • AspectJ も必要か? Spring は Roo ではじめて AspectJ 導入したものなのか、経緯に詳しくない。学習の必要性判断。
  • Maven2 のために自宅鯖の Nexus を更新しなくては。
  • Nexus に SpringSource のリポジトリプロキシをどう設定していいか試行錯誤中
  • 川畑氏ステゴサウルスは着手中
  • 藍染ジーンズ上野じゃ売ってなかった。最近は手に入りにくいらしい
  • ひとつだけ属性値を持つ不変な値オブジェクトを JPAマッピングする際のベストプラクティスが知りたい。 @Emded 使うしかないんだろうけど。Roo には Embed 関連を扱うコマンドオプションはまだ無い様子。
  • Apache Ivy の存在を今さら知り orz ただ現時点では海外でも Maven2 が主流の様子。 Roo がサポートするかはフィードバックの意見次第ではあり得るとの事。
  • Roo 中心になってしまい結局 Wicket はいじらず終い。

当面の仕事とちょっとカブる趣味面

  1. とある業務用データ構造用の XSLT のバグをいくつか修正
  • とある業務用データのパーサを JAXB で作成、に着手。 Roo との連携は可能と思う。

川畑文昭氏の「ティラノサウルス」

川畑文昭氏「ティラノサウルス」

立たせるのが難しい。何気無く置くと自立するのに、写真でも撮るかと思うと尻餅。
所要時間は2時間半くらい?相変わらず手が遅いけれど、ケルベロスみたいな空想動物よりはずっとシンプルなので、これでも早い方。頭がぱっくり開いてしまったので空洞が見えて、ティラノサウルスというよりはエイリアンみたいな顔に見える。表情決めのぐらい折りの所で失敗したかな。
35cm四方で折って体長25cmなので仕上りはかなり大きめ。PCの上に飾るには20cm四方くらいで折った方が良いか。

Maven2連携可能な malabar-mode があれば java-mode も jde-mode も不要かも

仕事だと(周りに合わせるあ為に) Eclipse を使っているけど家ではできるだけ何でも Emacs でやりたくて、当然ビルドには Maven2 を使いたい。jde-mode からうまく Maven2 を扱える elisp が無いかな...と他力本願で探してみたら色々見つかって、その中では malabar-mode が現時点のベストっぽい。本格的に使ってみるのはこれからだけど、日本語記事が見あたらなかったので書いておく。

そもそも最初は maven2 と連携だけできればと思って pom-parser.el を見つけたんだけど同作者の jde-mvn の方が新しいって注釈があり、じゃあそっちを、と思ったら今度はこれも古いから malabar-mode を使え、と書いてある。 maven2 連携だけかと思ったら jde の代替らしい。作者の espenhw 氏、かなり勢いがある。
ちなみにマラバルっていうのはジャワティーの高級茶葉の名前らしい。

できること

  • そもそも maven2 連携を前提として書かれているのでクラスパスの解決が超スムーズ。pom.xml だけあれば良く、prj.el 不要。
  • ビルドには jde で使っていた bsh ではなく groovy を使っている。 malabar が起動すると Malabar Groovy バッファが立ち上がってそこで groovy も使えるみたいなので 2 度おいしい。(これを機会に groovy も使ってみるか...)
  • その他 jde-mode でできてたこと。デフォルトキーバインドは jde と同様
    • インポート文生成
    • オーバーライド
    • getter/setter 生成

(まだ)できないこと

  • Flymake との連携は可能なのか現時点で不明。 github にも TODO っぽいチケットが挙げられている(コンパイル時にエラー箇所は下線表示してくれるし、しばらくは無くてもいいかも)

導入

git clone git://github.com/espenhw/malabar-mode.git
  • MacEmacs な人は pom.xml 内の emacs ってなってる所を /Applications/Emacs.app/Contents/MacOS/Emacs に書き換える
  • site-lispcedet を置く(ビルド時に emacs をバッチ起動するため)
  • mvn package でビルド、なんだけど試した時点の最新ソースでは test でエラーが出たため、めんどくさいので -Dmaven.test.skip=true した
  • target にできた zip を解凍して load-path にコピー
;;; *** Malabar Mode : A better Java mode
(when (require 'malabar-mode nil t)
  (setq malabar-groovy-lib-dir (expand-file-name "~/lib/elisp/malabar-1.3-SNAPSHOT/lib")) ; お好みで
  (add-to-list 'auto-mode-alist '("\\.java\\'" . malabar-mode))
  ;; 普段使わないパッケージを import 候補から除外
  (add-to-list 'malabar-import-excluded-classes-regexp-list
               "^java\\.awt\\..*$")
  (add-to-list 'malabar-import-excluded-classes-regexp-list
               "^com\\.sun\\..*$")
  (add-to-list 'malabar-import-excluded-classes-regexp-list
               "^org\\.omg\\..*$")
  (add-hook 'malabar-mode-hook
            (lambda ()
              (add-hook 'after-save-hook 'malabar-compile-file-silently
                        nil t))))

;;; **** Malabar Groovy : Customization of malabar-mode's inferior Groovy.
(setq malabar-groovy-java-options '("-Duser.language=en")) ; 日本語だとコンパイルエラーメッセージが化けるので

闇のなかに置き去りに

浅川マキ氏が亡くなったとの事。とても好きな歌手だったのでショック。
毎年年末に新宿ピットインに聴きに行ったのは2年くらい前まででやめてしまい、今年は行こうかとチラリと思ったが多忙のため無精してしまった。今更だが後悔。
黒づくめの服装で曲の合間に腰かけ、マッチを擦って煙草に火をつける仕草、その時サングラスに映った炎の形がとても格好良かった。

聴くと必ず寂しい気分になるので最近聴いていなかったが、夜の公園を抜けて帰る途中に「あなた、オーライ」をかけてみた所、やはりとても寂しい気分になった。この感じがとても好き。

烏のつもりと鳩の不憫

今朝のこと。
昨日飲んだアセロラドリンクのペットボトルを、捨て忘れて鞄に入れ放しにしていたのが発端。改札を通るために定期を出す時に気付き、普段とは逆側のエスカレータからホームに降りる。そちら側には自販機があるから脇の屑籠に捨てようと思ったのた。
降りながらホームを見渡していると、ふと線路上に動くものがある。烏だ。うろうろ、ぴょこぴょこと跳ね回っている。あれは嘴が太いからハシブトガラスというのだっけ...しかし私が乗る側の線路だというのに石など置こうというんじゃあるまいな。これは注意せねばなるまい...そんなことをぼんやりと考えながらエスカレータを降り、烏の挙動を観察しに行く。近くには駅員もいるが気にかけてなどいない様だ。
しかし烏は石を置く場所を吟味していたのではなかった。線路脇に鳩がうずくまっていたのだ。
ぼさぼさと羽毛が乱れ、鳩本来の落ち着きなさも無く線路の鉄にぴったりと添っている。烏はこいつにちょっかいをかけようとしていたのだ。跳ね回りながらつつこうとする烏に鳩は羽でもって「あっち行け」とばかりに追いやるが、どうも力がない。第一間もなく電車が来るので、その位置では轢かれてしまうだろう。烏のほうは追いやられて柄にもなく素直に引き下がり、少し離れた所で鳩を見ている。鳩もまさか線路脇で卵を守っているわけでもあるまい、たぶん怪我をして動けないのだ。
「ねえ、あれ多分危ないんじゃないですかね、動かないし」と近くの駅員に声をかけてみる。
「え?ああ...あれか。でももう来ちまうな...」駅員は時計を一瞥、トランシーバで何やら連絡している。
正直なところ鳩が轢かれるかどうかで電車をわざわざ止めるかというと、そんな事もないように思う。動けないようならどちらにせよ死ぬし、恒温動物とは言えどちらかと言えば鳥害扱いされているのだ。とりあえず駅員には知らせたので後は任せ、ペットボトルを捨ててくる。
捨てている間に電車が来て、いつも通りの位置に停まった。私が乗るのはこの次の電車だ。

電車が出て行った。鳩の死骸なぞ見る趣味もないが顛末が若干気になる。ホーム端から遠目に見ると、物干竿のようなマジックハンドを持った駅員がもう一人やってきて何やら片付けをしている。やはり轢かれたか...すぐ次の電車が来るので、とりあえずホーム下の側溝に隠しておいて後で片付けるようだ。烏はもうどこかに行ってしまって姿は見えない。

ふと、あの烏はどういうつもりで鳩に近付いたのか?と少しだけ空想してみた。死にかけを喰ってやるつもりだったのならやけに引き際が良い。石を置くような知恵のあるのが烏だから「おい、お前、そこ死ぬぞ」くらいの警告であったかもしれない。対して鳩は阿呆だから「烏め、うるさい、烏め!」と聞かなかったのではないか?そう考えると、何やら童話のようだ。

久しぶりに何か書こうと思ったらこんな微妙な出来事を書くことになってしまった。半年ほど前に折り紙の烏をUPしていたのが最後だったのは偶然で、特に烏が好きというわけではない。鳩の折り紙はまだ折ったことがないな...。