doilux’s tech blog

ITに関する備忘録。 DDP : http://doiluxng.hatenablog.com/entry/2018/01/01/195409

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

Kotlintを試す

導入手順は公式に書いてある通り。gradleでしたら警告してくれます。 ./gradlew ktlint :ktlint /Users/****/Develop/git/ddd-sample-kotlin/src/main/kotlin/work/doilux/dddsamplekotlin/ftth/order/OrderService.kt:3:24: Unnecessary block ("{}") /User…

Kotlin勉強メモ(その1)

次の案件でKotlinを使おうと思って勉強を始めました。 資料 JavaプログラマのためのKotlin入門 Kotlin文法 - クラス、継承、プロパティ とりあえず申込、契約管理の業務を想定したDDDのサンプルを作りながら勉強中(コードはいつか公開します) 今日のハイラ…

トレーニングカリキュラムを圧縮する

技術系のトレーニングを圧縮する方法をまとめてみました。例えば「受講したセミナーのダイジェスト版を社内でやれ」って言われた時なんかに参考になればと思います。 章を削る 「うちではこれ使わないなー」というところを削っちゃいます。注意しなきゃなの…

擬似スーパーバイザーによる再実行

注意点 メッセージングのミドルウェア(RabbitMQ、Kafkaなど)が利用できるならこのパターンは使わないほうがいいです。 スーパーバイザーとは ETPとかAkkaとかで出てくる、Actorを監視するプロセス。Actorが失敗したら再起動など、事前に定義したストラテジ…

PlantUMLの見た目をカスタマイズする(最小の手間で)

PlantUML便利なんですが、デフォルトのデザインがダサいと思っていて、自分好みにカスタマイズしてみました。 @startuml !include inc/color.inc <- 外部の設定ファイルをインポート skinparam monochrome true <- モノトーンにする skinparam shadowing fal…

競合イベントは同じテーブルパターン

例えばorder(申込)エンティティが以下の状態遷移をするとします。 ※取消(cancel)、完了(complete)のどちらかを持ってライフサイクルが終わります この時、状態遷移のイベントを残す以下のようなテーブル設計にすると、取消、完了の両方のイベントを記…

DDP(Doilux Design Pattern)レポジトリ

「こうしたらうまくいった」あるいは「こうしたら失敗した」など、いろんなノウハウがたまるので書き留めておくことにしました。 すでに誰かが同じことを考えて後悔しているかもしれないけど気にしない 「今どき、そんなの使わねーよ」というのもあるかもだ…

Either for State Pattern

状態をクラスで表現するときに、ポリモフィズムを使うよりもEitherを使った方がスマートに表現できると思います。 ポリモフィズムを使ったパターン 「申込がない」状態をいわゆるNullオブジェクトで表現 参考:サービスクラス class OrderService { void ord…