2009-01-01から1年間の記事一覧

コード値をEnumを使って安全に扱う

例えば会員情報の性別や血液型のように、データベースに定数項を格納する際にコード値(数値)を使う事が多いんだけど、設計書でコード値の対応付け(男性が1で女性が2など)を決めていたとしても、コーディング上も間違いやすく、入力画面を作る際にも対応付け…

unrestricted policy filesって何なの

Bouncy Castleとかで言うところのunrestricted policy filesって何なの かと言うと、 http://java.sun.com/javase/downloads/index_jdk5.jsp (Java5) http://java.sun.com/javase/downloads/index.jsp (最新) のページの一番下にある、 「Java Cryptography …

Sun JavaMail(mail.jar)とApache Geronimo(geronimo-j2ee_1.4_spec-1.0.jar)の競合

クラスパスにJavaMailの(Sunのリファレンス実装である)mail.jarとgeronimo-j2ee_1.4_spec-1.0.jarが両方含まれていると、SMTPやPOP3などのプロトコル使用時にmail.jar側とGeronimo側の実装が混在して使用され、うまく動かないことがある。 cf: http://s2mai.…

アプリ起動時に処理を割り込ませる方法

バージョンはLeopard*1。DYLD_FORCE_FLAT_NAMESPACEを使わないといけないのがアレですがまあアレです。 あと不要な手順が結構あるかも。 試すときは自己責任でお願いします。とりあえずsshとかでログインできるようにしておくと良いかも。 アプリがリンクし…

Mayaaのソースコードで気になったところ

まだ完全に実環境で現象が再現するところまで行ってないのでメモだけ。Mayaaのバージョンはさっき落とした1.1.26。 本当はMLとかに投げるべきかもしれない。間違いがあれば指摘をお願いします。 SpecificationNodeImplのequals() org.seasar.mayaa.impl.engi…

『TigerのCocoaにみるMVCの完成』のチュートリアルをやってみた(Leopardで)

Core Dataをそろそろ使ってみようかと思い、参考になりそうなサイトをぐぐったら、マイコミジャーナルの『【特集】TigerのCocoaにみるMVCの完成』という特集記事があった。『Dynamic Objective-C』や『Happy Macintosh Developing Time』の著者の木下誠さん…

蛇足だけど『On Lisp』で気になったこと

p.54の「全順序」に対する脚注で *1 訳注:数学用語で,ここでは「異なる2 要素には必ず大小いずれかの関係があり,タイが生じない」 ことを指す ってあるけど、自分の知ってる全順序とは少し違う気がする。任意の元について順序関係が存在するのが全順序で…

『On Lisp』を読もう

最近『On Lisp』を読み始めた。まだ前の方しか読んでないんだけど、なんというかとても面白い。関数型プログラミングという、普段あまりやらないものに触れる面白さもあるんだけど、むしろ普段親しんでいるものにとても近いというのが面白い。 本文から例を…

閉じたプロパティ操作系としてのWeb+DBシステム、あるいは蜃気楼ウェアについて

最近、自分のやろうと思っていることがうっすら見えてきたように思う。 おおまかと言うと、「プログラムによる処理とは、プロパティの操作である」と単純化する事で得られる利点を最大限利用して、楽をしたり、DRYにしたり、責務を適切に分散させたりしよう…

大事なのは処理の分割でなく責務の分割

(前回の続き)HTMLテンプレート上に問い合わせ条件を書くっていうと、JSP上にSQLとJDBC呼び出しをハードコーディングする暗黒時代の再来だと思う人も居るかもしれない。でも自分はそうではないと言いたい。それは責務が分割されているからだ。 URLを入力・ま…

Webコンポーネントで検索条件を組み立てる

管理ツールなどの検索フォームで、使ってみて後から検索条件を増やしたくなることって結構ある。 その度にテンプレートファイル、フォーム、アクション、ロジッククラス、DAOクラスのメソッド、DAOクラスのアノテーションや外だしSQLファイルなどを変更しな…

taglib+テンプレートベースの部品コンポーネントの作成

JSPのtaglibを書いていて思うのだけど、Javaのソースコード内に直接HTMLのタグを書くのはあまり気持ちよくない。 解決策として、パラメータを加工してコンテキストに渡すだけのカスタムタグを作り、HTMLのレンダリングはタグで囲まれた内側のHTML部分でおこ…

内部イテレータを外部イテレータに手動で変換してみる実験

前回の続き。 内部イテレータを書くのは簡単で、外部イテレータを書くのは難しい。となれば内部イテレータの実装を元に外部イテレータ化できないかと考えた。 こういうのには継続渡し形式(Continuation Passing Style、CPS)というのを使うと良いらしい。 参…

ツリー構造用の外部/内部イテレータの実装

お題: 1については、コレクションのデータ構造が複雑化したときに、yield文の無いJavaで外部イテレータを作るのは結構骨が折れますが、内部イテレータなら要素を順に辿ってコールバックするだけなので簡単です。 外部イテレータと内部イテレータ - kaisehの…

Mac mini(Core 2 Duo)にWindows XPを入れた

いわゆるBoot Campって奴。3パーティションでOSX(Leopard)/XP/データディスクみたいな感じに入れたかったんだけど、なかなかうまく行かなかったので、そのうまく行かなかった話。 正しい手順は「http://d.hatena.ne.jp/fukuihd/20081229/1230571749」が参考…

またMac mini買った

白Mac miniが届いたよ。いや今まで使ってたPPCのも白いけど。 URLService.serviceのUniversal Binary版を作りました。URLServiceDuo

ApacheのアクセスログをSQLで解析する

Apacheのアクセスログ(CustomLog)を読み込みJoSQLを使って絞り込んだり集計したりしてみる。 前提 パーサの処理をはしょったりする為にいろいろ条件を決めておく。 ログ出力は空白区切り。(CLFやCombinedと呼ばれるような形式) 空白を含む要素は「"」で囲む …

ログインパネルに入力したパスワードを取得するプログラム

ローカルディスクあさってたら2000年ごろに作ったvm_read()を使って他のプロセスの中身を覗き見るライブラリが出て来たので、ログインパネルのアプリの中身を覗いてみた。 Mac OS X 10.4環境で動作します。といってもウチの環境以外で動くかどうか分からない…

入力したURLからソースを取得するサービス

お題: ブラウザを開かずに直接HTMLソースを見る方法 - 頭ん中テキストエディタの「開く」でファイル名を指定するところに そのまんま URL を入力したら そこにあるソースを読み込むことができるのだった。画像編集ソフトの「開く」で ウェブ上にある画像のUR…