2003-12-01から1ヶ月間の記事一覧

Pico!

SnipSnapにはIoCコンテナとして、PicoContainerが使用されています。更に、コンテナの実装部分に、AOPっぽくInterceptor処理ができるNanning Aspectsが使われています。どうやら、データを取得するメソッドなどでキャッシュを実現するためにInterceptorが使…

Enhanced Carbon Emacs

Mac

MacOSX 10.3でも動くEmacsのバイナリ。 とりあえず日本語を入力すると化けましたが、解決できそうな感じ。

デフォルトシェルの切り替え

Mac

NetInfo マネージャのユーザのプロパティ"shell"を変更する

Finkインストール

Mac

今日は大掃除をしながらMac環境を整える。 Fink入れていたつもりだたけど、なくなっていたのでインストール。 Finkに関しては 初心者の為のOSXに関する覚え書きがわかりやすかったです。 来年はMacでいきます!

Velocityビューの文字コード指定

ビューにVelocityを使った場合の文字コード指定は、velocity.propertiesで指定します。 input.encoding=Windows-31J output.encoding=Windows-31J

xwork.xmlを再読込する設定

xwork.xmlを修正して、サーバを再起動するのってけっこう面倒ですね。 webwork.propertiesに以下の記述を入れておくと、自動的に設定ファイルを再読込してくれます。xwork.xml,validation.xmlなどが対象になります。 (webwork.properties) webwork.configura…

Xcodeプログラミング入門

Mac

来年はCocoaにも触れよう! ■内容紹介 MacOS X 10.3 (Panther)に標準で付いてくる 新しい統合開発環境に関する、初の解説書。 はじめてXcodeでプログラミングするユーザー向けに 実例を元にわかりやすく解説します。

Rubyでアナリシスパターン

PartyパターンをRubyで書いてみました、ってこんな感じでしょうか? アナリシスパターン、Rubyの書き方ともにつっこみあったらお願いします!! class Party def initialize @addresses = Array.new @emails = Array.new @telephoneNumbers = Array.new end …

Analysis Patterns 2

アナリシスパターン2なる文書を発見。 アナリシスパターンの第2章はこのページにある「narrative and a collection of patterns」という2つのPDFファイル(40ページ、なんと日本語に翻訳されています!)で全面改定されています。 その改訂されたバージ…

ハナレグミのライブ

こないだのイムズホールでもライブは最高だったなぁ。 隣の女の子は泣きじゃくっていたけど、、その気持ちわかるなぁ。 1月にはアルバム、2月にはまたライブがあるので楽しみだなぁ。

アナリシスパターン

今までは手にとっては、買うのをためらっていたのですが、 今がいい時期だと思って読み始めました。まだ最初のほうですが、やっぱり難しいです。 他のサイトを見ていると「読みながらUMLを書いてみるといい」とありました。 それに加えてある程度の実装コー…

続・RubyでTemplateパターン

moduleを使ったパターン。これなら継承する必要がありません。 こっちのほうがRubyっぽい気がしますが、どうでしょう? module BaseAction def execute() doValidate(); doExecute() end end class AddAction include BaseAction def doValidate() puts "Add…

ドリトル

カメ太=タートル!作る。 カメ吉=タートル!作る。 カメ子=タートル!作る。 時計A=タイマー!作る。 時計B=タイマー!作る。 時計A!「カメ吉!50 歩く36 右回り」実行。 // 並行実行A 時計B!「カメ子!50 歩く36 左回り」実行。 // 並行実行B 時…

RubyでTemplateパターン

TemplateパターンはJavaと同じ感覚で書けますね。 class BaseAction def execute() doValidate(); doExecute() end end class AddAction

AboutHibernateQAの翻訳

Thread.sleep経由 Hibernateはアジャイルなプロセスに向いているようです。 たしかに、Hibernateで身軽な旅ができますね。 重要なのは、これが頻繁なリファクタリング作業になんの障壁ともならない 永続化メカニズムであり、J2EEやXPを取り入れた私たちの経…

Application Facades

マーチンファウラーのUMLモデリングのエッセンスの第11章 「UMLとプログラミング」に拡張をほどこしたPDF。この本の2章と11章は特にためになりました。

続・RubyでStrategy

先日の日記にRubyにはJavaでいうインターフェイスや抽象メソッドはないと 書きましたが、moduleという機能で似たような目的を果たすことができるようです。moduleはインターフェイスとTemplate Methodパターンを組み合わせたようなものでしょうか(下記のよ…

RubyでStrategyパターン

Javaでいうインターフェイスの代わりに基底クラスを使うって正しいのでしょうか?以下の例でいうとEncryptクラスの部分です。 抽象メソッドが定義できないようなので、基底クラスにメソッドを用意しても 下位クラスが実装するかどうかは保証できません。これ…

Eclipse3.0で日本語入力時にIMEがずれるバグに投票しよう!

Windows環境です。M6になっても直っていませんでした。かなり使用感が悪くなります。既知のバグのようです。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=45149 Bugzillaでユーザ登録するとこのURLからvoteができるようになります。 投票が増えればFixさ…

Emacsインストール

Mac

export CVS_RSH=ssh cvs -z3 -d @savannah.gnu.org:/cvsroot/emacs co emacs cd emacs ./configure --with-carbon --without-x make bootstrap sudo make install make bootstrapでエラー、残念。 make[1]: *** No rule to make target `regex.h', needed by…

RubyでVisitorパターン

Rubyの場合、メソッドの引数に型を指定できないため、 ダブルディスパッチャが使用できないので、 メソッド名を分けて実装するみたいです。 # ファイルの一覧を出力するプログラム。 class Node def initialize(path) @path = path @name = File.basename(pa…

Rubyでインクリメント

インクリメント演算子はない! num += 1

Rubyでアクセサメソッド

1行でアクセサ作れるなんて、ステキです。 class Person def initialize(name, age) @name = name @age = age end # いわゆるゲッター attr_reader :name, :age # いわゆるセッター attr_writer :name, :age # セッターゲッターを同時に作成 #attr_accessor…

Rubyでコンストラクタ

initializeメソッドがコンストラクタのようです。 class Test def initialize(name = "unknown") @name = name end end test = Test.new("agata")

オブジェクト指向を学ぶにはどの言語がよい?

blikiより オブジェクト指向の学習用言語としてJavaだけでなく、RubyやPythonも選択肢に加えていいのではないか?という提案です。この文章で一番気になったのはここ。 オブジェクト指向を教えるのに、言語を使うったほうが良いかどうか。言語を使わない案と…

Ruby、始めました

マーチンファウラーのblikiのサンプルとかもRubyだし、 やっぱオブジェクト指向なスクリプト言語でしょうということで、 前々気になっていたRubyを使い始めました。Macは最初からRubyインストール済みなので、インストールの必要はありませんでした。まずは…

WebとSwingアプリのスクリーンショット

WebWork2/XWorkで作られたビジネスロジックはWebに依存しないということで、 WebとSwingに対応したアプリケーションのスクリーンショットのようです。 http://www.jroller.com/page/fmarpt/20031218#web_swing

顧客満足

XP

blikiより。 顧客満足をあげるためには開発者が仕事を楽しむこと(enjoyment)が大切なんだ、ということが書かれています。 enjoymentっていい響きはいいですね。XPにはタスクカードの物理的な移動、JUnitなどのテスティングツールで一喜一憂、ペアプログラ…

UMLモード

XP

blikiより。 UMLをスケッチとして用いる人(UmlAsSketch) UMLをブループリントとして用いる人(UmlAsBlueprint) UMLをプログラミング言語として用いる人(UmlAsProgrammingLanguage) 僕はスケッチ派です。あなたはどっち派?

ユースケースとストーリー

XP

blikiより。 UMLのユースケースとXPのストーリーとの違いが説明されています。