かとじゅんの技術日誌

技術の話をするところ

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

ScalaでのDCIの実装を考える

みなさん、こんばんわ。 会社のアドベントカレンダーで、Scalaコードでわかった気になるDDDというブログを書いたのですが、最近、老害を防ぐためにDCIについても勉強中です。 DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien とりあえず、これを…

ドメインモデルの関連を表現するには

(Scala前提の記事なので注意してください) たとえばこんなモデルがあって、相互に依存しているケースを考えよう。 注意:説明を簡単にするために、varを利用しています。 従業員 class Employee( val id: Long, val name: String, var department: Option[Dep…

シナリオ -> モデル -> コード ->

昨日もDDDの話題を少ししたので、シナリオ→モデル→コードのサイクルについて身近な例を踏まえてネタを提供できないかと思った。何でもいいんだけど、鍼とか整体とかマッサージとか一度は行った経験あると思うので、そのドメインで考えてみるか。

ユビキタス言語とドメインモデル、そしてモデル探索のうずまき

最近、ドメイン駆動設計ってどうやって実践すればいいかなーという質問をよくされるので、この記事が満額回答にはならないと思いますが、書いてみたいと思います。 シンプルな問題はトランザクションスクリプト、いわゆる手続き型で対処できます。問題が小さ…

Re: Scala の Trait

trait 便利ですね! メソッド名が衝突する。 override を指定してやると動く。 scala> (new M with N { override def m = super[N].m }).m() hi @rosylilly Scala の Trait trait Mとtrait Nは継承関係もないので別の型として識別されているから仕方ないんだ…

ドワンゴを退職しました

2/28日付けでドワンゴを退職しました。お世話になった会社なのでちゃんとお礼をいっておこうと思います。 初めてのコンシューマ向けウェブサービスでした。とてもよい経験をさせてもらいました。ありがとうございました。 一番大きいところは、ScalaとDDDを…

関数のカリー化と部分適用

今日は、カリー化と関数の部分適用の話題。 Haskellの視座からScalaのカリー化と部分適用を見てみる まず、Haskellでの関数のカリー化と部分適用についておさらい。 例えば、引数を合計する関数 mysum があるとして、 mysum :: Num a => a -> a -> a -> a my…