2008-05-01から1ヶ月間の記事一覧

Illegal class name

java.lang.ClassFormatError: Illegal class namejavassist + guice を使ったテンプレートエンジンを WTP+TomcatのWebアプリケーション上で動作させたら cc.aileron.template.exception.CompileException: javassist.CannotCompileException: by java.lang.…

WebApplication 考察

・WebApplication request => process => responserequest が発生した時点で、Dtoを生成し process で Dto に対して何かしらの処理を行い reponse で Dto を元にレスポンセスを生成する・Contoller(FrontController) process を選択する債務を担う・Model pr…

Javassistの特徴は、Javaソースコードで書ける所なんだけれども

どうやらJava1.4の言語仕様で書かないと イケナイっぽい?何か、設定とかかなぁ

Map 構造を表すには

public class TestMap { public static void main(String ... args) { final TestMap map = Guice.createInjector( new AbstractModule() { @Override protected void configure() { bindConstant() .annotatedWith(Names.named("a")) .to("test-1"); bindCo…

便利な所と不便な所

似た様な機能を作成する際に、 新しいModuleを作成してbindしなおしてあげれば 簡単に機能を増やしていけるMAPに対しての コマンドパターンとかで インタフェースが同じな クラスを幾つもバインドする際の機能がないっぽい もちっとDRYにかけないかなぁっと…

設計思想の押し付け

GuiceってModuleを作成するのが面倒かも知れない。 でも、コレってとてもOOPだと思うModuleと言うクラスを定義する事によって クラスの関係をクラスによって表す事が出来るからクラスの関係を意識させた実装、および設計を 強制させる為の物なのかなぁっと思…

Strutsで案件ってそういえばした事無い

http://d.hatena.ne.jp/masanobuimai/20080502勉強で Struts + IBatis で人狼BBSクローン 作った時ぐらいしか、そういえば無いなぁStrutsより、オレオレフレームワーク (それも商用の良く判らないライブラリだったりとか ばっか、やったりだし趣味ではオレ…

Map的ナ物のBindを如何したら良いのだろう?

こんな物かいて、ムリヤリ対応したけれど 普通は、どうやってるのだろう? // normal-parser binder.bind(Parser.class) .annotatedWith(Names.named("plain_text")) .to(PlainTextParser.class); binder.bind(Parser.class) .annotatedWith(Names.named("va…

テンプレートエンジンを作ってみた。

HTMLのコメントによる変数展開や ループ構造、IF文を取り扱うシンプルなテンプレートエンジンHTMLとしての構文上、問題無い用に扱えて (プログラム部分を適応してもデザイナさんが普通に 扱える代物HTMLファイル一枚で動作可能で (MAYAみたいに他ファイル…

拡張For文

Javassistを使ってテンプレートエンジンを 簡単に作ろうとしていたら変なトコロに躓いたJavassistの便利な所ってバイトコード(クラス)を生成する際に ソースコードを文字列で記述出来る所に在るのだけれども拡張For文には対応してなかった。 変なエラーが出…

javaがスキ

正直、サーバー構築とか色々なメンドウな事キライ サーバー構築とかしたくないでも、個人で自由に遊ぶには何かと 自作サーバーを構築したりした方が何かと便利 ジレンマWebアプリケーション作る時に 色々なサーバーの環境を考慮するのが面倒 レプリケーショ…

javaに戻ってきて

基本Pythonな人なのでZopeとか気になる所だけれども ZPTの実装ってjava実装もソコソコ在るんだね。 知らなかったーPHP(http://phptal.sourceforge.net/) PERL(http://search.cpan.org/~jhiver/)は在るのは知ってけれどもJAVAにも在ったかぁJava屋とPython屋…

バイトコード変換によるコンパイラ

インターフェースを定義しておいて テンプレート等の独自な構文をクラスに変換するそんなん、ここ二三日で書いてます。Javaに、標準としてリフレクションじゃなくて バイトコード変換技術とDIは組み込んで欲しいなっと思う 今日この頃特にGuiceで使われる様…

マジックメソッド

S2DAO的な何かを自分なりに作ろうかと思って 色々考えてたら、PHPで言う所のマジックメソッドになった。 pythonで言えば__getattribute__を使ってごにょごにょしたり とか public interface TestDao { void hogehoge(String hoge); void fugafuga(String fug…