yoskhdia’s diary

DDDとかプログラミングとかアーキテクチャとか雑多に

Design

「Don't build framework, Build platform」というテーマでエムスリーさんのTech Talkに参加してきました

ScalaMatsuri 2018で @jooohn1234 さんから、エムスリーさんで行われているTech Talkにご招待いただいたので発表してきました。 なんと、今回で第92回(!) m3dev.github.io 発表資料 docs.google.com 今回もトークスクリプトを付けて発表資料を公開します…

そのトランザクションは果たして本当にトランザクションなのだろうか?

DDDネタです。 DDD Community-JPのDiscordで「複数の集約(Aggregate)をまたいで整合性をどう担保するのが良いのか?」という話がされていました。 この話を読んでいて、 yoskhdia.hatenablog.com でもサラッと触れた「トランザクション」をもう少し掘って…

Snowflake形式のIDを採用した場合の苦労ポイント

高速にIDを採番できる仕組みを検討したとき、Snowflake形式のID生成は選択肢のひとつとして有力です。 Snowflakeを紹介する記事は見つかりますが、実際に採用して苦労した話はあまり聞かないため、備忘的に書いてみるエントリです。

Swagger(OpenAPI) Specification 2.0におけるOptionalなプロパティに値が無い場合の仕様を調べた話

Swagger(OpenAPI) Specification 2.0(以下、OAS)を最近触り始めているのですが、Optionalなプロパティに値が無いときのJSONは何が許されるのかを調べたエントリです。 JSON Schema Specificationの requiredキーワード と type: null について確認しました…

システムの透明性

shop.ohmsha.co.jp システム監視について整理しておきたいなぁと思い、Release It!という本があったので、週末読んだ内容をメモしておきます。 監視は第17章の「透明性」に書かれているものです。 要約なので、ほとんどは書中からの引用です。

UseCaseの再利用性

Clean ArchitectureにはUseCase層が定義されていますが、このUseCaseが一体どういうものなのか度々わからなくなるので、自分の考えをまとめてみるエントリです。 Clean Architectureについてはこちら 8thlight.com 日本語訳:クリーンアーキテクチャ(The Cle…

ドメインイベントを設計する

speakerdeck.com 第3回Reactive System Meetup in 西新宿のLTで発表をしてきました。 reactive-shinjuku.connpass.com LTという都合上、含めたかったけれど泣く泣く削ったボツネタも併せて補足するエントリです。 (例によって長いです。)