かとじゅんの技術日誌

技術の話をするところ

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

ScalaでDDDをはじめてみよう

2010年も今日で終わりですが、皆様におかれましてはどのような年でしたか。 私は、この一年で「新しい技術の価値観」と「人との出会い」の二つの機会が恵まれた年でした。仕事に、コミュニティ活動に、お世話になった皆様、本当にありがとうございました。20…

コードで学ぶドメイン駆動設計入門 〜ファクトリ編〜

コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - じゅんいち☆かとうの技術日誌 と続いて、このエントリはファクトリ編を解説しま…

コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜

コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 からの連投エントリ。振る舞いとサービス編です。今回もコードを使って解説したいと思います。 サービスとは、モノとして扱うと不自然なものをサ…

コードで学ぶドメイン駆動設計入門 〜アグリゲート編〜

コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜ファクトリ編…

コードで学ぶドメイン駆動設計入門 〜リポジトリ編〜

コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜ファクトリ編…

コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜

先日、DevLOVEで発表した「コードで学ぶドメイン駆動設計入門」ですが、入門としながらも難しかったかもしれません。モデリングの話は難しい方の話題なので仕方ないのですが、できるだけわかりやすく補足するブログを書いてみたいと思います。まず、レイヤー…

DEVLOVE HangarFlight で話したスライド&ソースコード

12月18日 DEVLOVE HangarFlight - Winter Sortie -(東京都) で、「コードで学ぶドメイン駆動設計入門」と題してしゃべってきました。スライドはこちら。http://slidesha.re/h0ffOI ソースコードはこちら。https://github.com/tricreo/schema-generator休日に…

パーサーコンビネータで遊んでみた

ちょりーす。 以前、こちらのエントリで、(((1 + -2)*-3)/4)+5のような計算式を渡して、BigDecimalで計算結果を求める簡単な言語を作ったわけですが、 数値がBigDecimal型な計算式言語を作ってみた - じゅんいち☆かとうの技術日誌これと同じものをScalaでや…

Scalaのジェネリックスを学ぶ

Scalaのジェネリックスを少し学んでみました。(なんか違うんじゃね?とかあれば、ツッコミお願いしますm(_ _)m) Javaのジェネリックスでは、型パラメータは共変/反変ではない Javaでこんなコードを書いてコンパイラに怒られたことないですか。 public interf…

JavaプログラマがScalaを学習するときに参考になる本

とりあえず、ひとり Scalaに感染させますた。 scalaを始めたんですね。前々からやろうと思っていましたが、id:j5ik2o氏に触発されて本格的に。 ということで、JavaプログラマがScalaを始める時に参考になる本とか、列挙します。Javaとの対比で書かれているの…

ScalaにAOPをやらせてみる

今回は、AOPをScalaでやるには?ってテーマです。JavaだとAOPのライブラリを使って黒魔術的にごにょるワケですが、Scalaの場合はトレイトを使ったミックスインで実現できます。 trait Login { def login(userName:String,password:String) } trait LoggableL…

Scalaのカリー化について学ぶ

Scalaでカリー化。「カリーか」って聞くと、あれしか想像できなかったのですが、なんとなく理解したというエントリ。まず、このエントリを読む。 Scalaの関数部分適用とカリー化 - kyabの日記関数型プログラミングの世界は奇妙な世界ですね。慣れてくると好…

今日のScala

とりあえず、リストの宣言 scala> var list = List(1,2,3,4,5) list: List[Int] = List(1, 2, 3, 4, 5)繰り返し処理をかいてみる。 scala> list.foreach(println) 1 2 3 4 5これも同じことができる。 scala> for( i <- list ) println(i) 1 2 3 4 5戻り値は…

今日のScala

Scalaの記事も面白いと思うので、気分転換に読んでみてくださいませw本日書いたScalaコードはこちら。 val strList = List("K","A","T","O") val join = strList.reduceLeft((x,y) => x + ", " + y) println(join) とすると、カンマ区切り文字列を簡単に作…

ドメイン駆動設計を始めるときにおすすめなコード例

ドメイン駆動設計で開発する時に、まずお手本となるコード例をみたいですよね。まず、これ見ましょう。 DDDSampleは、Javaで実装されたものです。*1 原書の内容と連動しているので、原書を読んでいる人にとっては分かりやすいと思います。読んでいなくても、…

DevLOVE Beautiful Develpmentに参加してきました

"Beautiful Develpment"(10/27 DevLOVE)に参加してきました。私も直近でドメイン駆動設計の記事を書かせていただいていたので、タイミングがよかったと思います。参加者も多く皆さんの関心の高さを伺えました。 9月24日発売の日経ソフトウエア 11月号の特…

Scala始めました

今からでも遅くないということで、私もScalaを始めました。去年ぐらいにも耳に入っていたのですが、なんか小難しい言語だなーと思っていました。まぁ、でも食わず嫌いはよくないということで、まずやってみようと本を何冊かを買い込んで勉強してます。やって…

Scansnap S1500と裁断機PK-513Lを買いました

etc

BOOKSCANサービスをプレミアム会員で利用していたのですが、さすがに毎月1万弱でていくのはどうかなと思ったのと、リードタイムがどうしても我慢できなかったので、以下の自炊キットを購入しました。7万ぐらいでした。 プラス 断裁機 裁断幅A4 PK-513L 26-1…

ドメイン駆動設計を始めるときにおすすめな教材&情報源

ドメイン駆動設計(DDD)を始めるときにおすすめな教材&情報源を順不同で紹介します。 まずは、EvansのDDD本。洋書ですが、原書にしか書いてないことがあるので、はやりこれです。 Domain-Driven Design: Tackling Complexity in the Heart of Software作者: E…

ドメイン駆動設計に現場に適用するには 〜DXOにはS2Utilがオススメ〜

先のエントリのコメントでいただいたように、ドメイン駆動設計はよいのだが、FATではなくライトな設計にしたいという観点も確かにあります。今回は、手で一から書くと何かとコードが煩雑に成りがちのDXOについて考えてみます。 たとえば、DXOしない場合はUI…

ウェブアプリケーションの構造について

日経ソフトウエア 11月号の特集2で「最新Eclipseで良いJavaプログラムを書こう」に関連する話題として、さらに視野を広げて実用的なウェブアプリケーションでのレイヤー構造とかドメインオブジェクトの関係はどうなるのか?という点について解説してみたいと…

JavaとEclipseとドメイン駆動設計の特集記事を書きました

9月24日発売の日経ソフトウエア 11月号の特集2で「最新Eclipseで良いJavaプログラムを書こう」という特集記事を書かせていただきました。 日経ソフトウエア 2010年 11月号 [雑誌]作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2010/09/24メディア…

テストファーストは設計手法

TDD

ご無沙汰しています。最近、アジャイルなプロジェクトに参加している関係もあり、テストファースト(別名、テスト駆動開発=TDD)をガチでやっています。 みなさん、テストファーストとか聞くと、「なーんだ、テストか。実装には興味あるけど、テストは興味ねー…

うちの部下が退職したようです

etc

id:happy_ryoが退職エントリを書いてくれました。 トライクレオでは会社の立ち上げから関わり,非常に貴重な体験が出来たと思っていますし id:j5ik2o や id:daisuke-m を含めた技術的に優れたメンバーの中で技術的にも大きく成長出来ました. タイミングを逃…

携帯変えました

etc

いちいち、エントリにするほどのテーマではないのですが、最近のはやりということでw巷はiPhone4で予約が殺到とかいっていますねー。表参道のソフトバンクショプを予約組が入荷した際に、予約なしでゲリラで買いに行くのがいいと思うんだけどなー。自分はiP…

クラスローダについて

Javaでは欠かせないクラスをロードするためのクラスローダ。普段意識していないかもしれませんが、しっかりと縁の下で支えているよね。(Java言語仕様を確認しながら書いてないので間違っていたらツッコミよろしくです) クラスローダとは Javaクラスローダー…

近況報告

etc

「そろそろ、次のネタを書いてくださいよ〜」と聞こえてきたので、再開します。。お待たせしました。仕事が多忙だったので、自分のSeasarのプロダクト(S2Chronos, S2Config)の進捗もゼロなのですが、Seasar2徹底入門で紹介いただきました。ありがとうござい…

無茶振りタスクから身を守る方法

etc

最近、デスマの話を聞いても驚かなくなった。仕事は選べなくなったとよく聞く。 その会話の中でよく耳にするのは、「無茶振りプロジェクト」や「無茶振りタスク」の話題だ。こんなシーンが想像できる。 とある顧客:この不具合さー、明日まで対応できる? と…

パソコン歴を振り返る

etc

徹夜明けのどうでもいい雑記です。 個人持ちPCの遍歴について書きます。 初めての出会い 初めての出会いは、小学4年にFM-New7。友達の家にあったPCを触ったのがきっかけ。たしか数日間借りて、お絵かきソフトをF-BASICを使ってプログラミングした記憶がある…

リスクヘッジのための黄金の法則

etc

不況の折は、特にリスクマネジメントが問われる。そういう意味においては、フリービット社の石田氏のこの行動指針は、リスクヘッジのための黄金の法則だと思っている。*1 早く動いて、早く失敗して、早く修正する。 以前のエントリを書かせてもらったが、「…