サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
d.hatena.ne.jp/zetta1985
Java, CQRS, AxonAxon FrameworkのReference Guideを見ると、あまりに多くの事が書いてあって、最初はワケワカメ。 Sample CodeはSpring前提で書いてあるので動くのは理解できるけど、各Building Blockがどう連携しているのか分かりにくい。*1 実際は、コアとなるモジュールが拡張しやすい作りになっていて、そのデフォルトの実装が提供されているだけ。 Springレスで試してみる。 maven2を使ってる場合、pom.xmlに以下のdependencyを追加しておく。 org.axonframework axon-core 1.0-rc1 junit junit 4.8.2 test Commandまずはともあれ、Commandの定義から。これは、更新系のユースケースをJavaのクラスとして表現する。今回は更新系の処理を何もしないので
Java ずーっと悩んでいましたが、やっとしっくり来ました。表にまとめてみます。 名称不変/可変備考VO (ValueObject)不変 粒度が細かい一つのデータ値を示す事が多い。 Serializable・Comparableを実装する。 セッタを定義する時は新規インスタンスを返す。 例:String、Integer、BigDecimalDTO (DataTransferObject)可変 データの論理的な構造を示し、ゲッタ・セッタを定義する。 セッタには引数検証を実装する時もある。 セッタ・ゲッタ無しでpublicフィールドの場合も。JavaBeans可変 DTOにゲッタ・セッタ以外のインスタンスメソッドをプラスしたもの。 (例えばList内Integerの合計値を返すメソッドとか) この表から考えると、VO、DTO、JavaBeansはis-a関係にできそう・・・ コード例例によって
GoogleAppEngine, Python EclipseでGAE/Jをメインアプリとして開発しながら、GAE/Pyのremote APIでbulkloader使っちゃおうぜ、という計画2回目。 以下が前提条件、という事でした。 1. メインのGAE/Jアプリ実装中に(=Eclipseから)アップロード可能にする事 2. GAEにアップロード、メインのGAE/Jアプリのデータインポート/エクスポート機能として提供可能である事 うん、あれだ。GAEのremote API勉強して分かったんだけど、2の方はbulkloader関係ないw よく考えれば、「remote APIでGAEにリモートでアクセスできるよ!」って事なので、実際にGAE上ならbulkloader関係無しにデータ読み書きすればいいじゃない、って話。*1 まぁいきなり頓挫気味な訳ですが、とりあえずbulkloader使えるよう
GoogleAppEngine, Python 現在GAE/PyでしかRemoteAPIに対応してない為、GAE/Jでは便利なbulkloaderが使えません。 いずれJavaもサポートされるでしょうが自分は待つのが嫌いなので「Python=インデントがブロック。きもい」程度の知識ですがチャレンジしてみました。 色々やり方があると思いますが、以下を前提条件とします。 1.メインのGAE/Jアプリ実装中に(=Eclipseから)アップロード可能にする事 2.GAEにアップロード、メインのGAE/Jアプリのデータインポート/エクスポート機能として提供可能である事 取り敢えず、1はできました。2は、RemoteAPIのライブラリを一緒にアップしてクラスを直接使えばいけると思います。バージョン変えればJavaとPython混在できますし、混在しててもデータストアは同じですし。 今回は、環境設定方法
Struts ActionFormとビジネスロジック層のインターフェイスはStrutsの悩みどころの一つです。(個人的に) ActionFormをビジネスロジック層に渡すのは論外ですが、DTOパターンを使ってActionForm-ビジネスロジック層を疎結合にしようとすると、DTOオブジェクトにActionFormのプロパティを転記する、といった処理が必要になり、それがなかなかめんどくさかったりします。 「BeanUtils#populateでActionFormからDTOにプロパティを転記する」方法が有名ですが、DTOに転記するプロパティのうち、一つでも型が違うと例外が投げられてしまいます。 独自のConverterを使って型変換を行なうという方法もありますが、たかだかDTOの転記でConvertUtils#register使うのも・・・ 「DTOをActionFormがプロパティとして保
Java, 保守 保守業務をしていると、十人十色のソースコード・コメントと出逢う。 最近、実装者がどの程度オブジェクト指向を意識しているかは、その人のコード・コメントを少し見るだけで、ある程度わかるようになってきた。 以下、独断と偏見で個人的にオブジェクト指向レベルが推し量れる「短いコード・コメント」の例を挙げてみる。(勿論、コーディング規約で規定されている場合は除きますし、あくまで独断と偏見です) 1. 参照 Bean bean = dao.getBean(); List list = bean.getHogeList(); list.add("aaa"); list.add("bbb"); // (略) bean.setHogeList(list); 最後の一行は必要ない。 Bean#getHogeListから変更可能なListオブジェクトが返される事、Bean#setHogeLis
Struts現在、Java1.4、Struts1.2というレガシーな環境に身を置いています。この限られた(?)環境の中で「如何にフレームワークのポテンシャルを引き出せるのか?」をテーマに、ベストプラクティスを日々模索しています。 フレームワークは様々なケースで使われるように汎用的な部品を提供してくれています。 実際の開発においては、利用することになったフレームワークをまず第一に、システム要件に「特化」させ、開発自体を容易にすべきだ、というのが僕の考えです。 僕の現環境は、・Java1・4・Struts1.2・中小規模Webアプリケーション開発中心(企業グループ内イントラ)という訳で、上記に適したStrutsの拡張を考えてみました。 今更、といった感じですが、まだStrutsの案件を抱えている方も中にはいるかもしれないので、その方(自分)の為に・・・ 様々な拡張点が考えられますが、少しずつエ
Java, Ant年明けてから、仕事はVC++が9割です。Java症候群禁断症状が出そうです。 なので、プライベートでは専らJavaをいじってます。Antの勉強も兼ねて、実行可能Jarファイルを自動生成させています。 その実行可能Jarファイルから複数の外部Jarファイルやプロパティファイルなどを参照するのにちょっと手こずったので、自分の備忘録として。 build.xml こんな感じ。まぁ、1とか2らへんは、いろんなサイトのパクリなんだけれども。 ちなみに、「3.Jarファイル内に設定ファイルを格納する」ってところはpropertiesファイルをJarファイル内に含めたい時のみ必要。 ResourceBundleで例えると・・・クラスローダからの取得の場合 // 実行可能Jarファイルにsample.propertiesを含める必要あり ResourceBundle bundle = Re
独り言SEにもプログラマにもなりたくない、とはもう言えない - 歩きつづける ゆり 咲きつづける↑のid:yuripopさんの記事を読んで。今の自分の「夢」ってなんだろ、って考えた。 高校を卒業して、すぐに就職したが、「夢」ってのはこれっぽっちも考えてなかった。 ただただ、親のスネかじらずに一人で生きていければいい、と。 それだけを考えて、コネで某自動車メーカー下請けの下請けの工場でライン設備とかの組立をしてた。 工業油にまみれて、切粉(金属のクズ)にまみれて。狭い機械の中に入りこんで、体中傷だらけになって。塗装落としのシンナーでクラクラして、目にしたら即失明のレーザー扱って。下手したらデカイ鉄の塊の下敷きになったりもするし、実際に下半身不随になりかけた同僚もいて。 いつからだったろうか。それが「いやだ」と思うようになったのは。 その工場には多くの職人たちがいて各々がプ
アンケートなんかはてな内をサーフィンしてたら見つけたので、とりあえず答えてみる。激しく長いので注意。 1.あなたのダイアリー名を教えてください。 ↑を見ればおk。 2.ダイアリー名の由来を聞かせてください。 俺の日記だって(俺が)すぐわかるように 3.ユーザー名(はてなのID)を教えてください。 zetta1985 4.ユーザー名の由来を聞かせてください。 DSの「すばらしきこのせかい」のキャラのセリフより。 でも先客がいたので、生年をつけた。 他の考えるのめんどかった。 5.IDのほかにハンドルネーム(ペンネーム)があれば教えてください。またその由来も。 ナギ、かな。今は使ってなくて、愛着も薄れた。 由来は、「凪」「薙ぎ」「和ぎ」の意味より。 6.性別聞いてもいいですか。 男。 7.生まれた年はいいかしら。 ユーザー名の後ろにくっついてますって
このページを最初にブックマークしてみませんか?
『高卒文系プログラマの日常 by zetta1985』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く