2021-10-19のツイート

  • 14:04:09
    ドメインイベントインターフェース。 サービスイベントインターフェース。 サービスイベントクラス。 ドメインイベントエンベロープクラス。
  • 14:04:47
    ドメインイベントエンベロープクラスはイベントIDやタイムスタンプなどのメタデータをもつ。
  • 14:06:41
    サービスイベントクラスにコンシューマが必要な情報を入れることをイベントエンリッチメントと呼ぶ。
  • 14:10:41
    ドメインイベントは Xが起きたらYをすること と表現される。
  • 14:12:12
    イベントストリーミングでドメインイベントを探す。 イベントのブレーンストーミング、イベントトリガーの特定、イベントを消費生成するアグリゲートの特定、の順序で行う。

2021-10-17のツイート

  • 17:15:16
    ヘキサゴナルアーキテクチャのアダプタの種類。REST API アダプタ、イベントを消費するコマンドハンドラアダプタ、イベントパブリッシュアダプタ、データベースアダプタ。
  • 17:19:24
    モデルが状態のみを持ち、ビジネスロジック専用のモジュールがあればトランザクションスクリプト。モデルが状態と振る舞いをもてばオブジェクト指向
  • 17:26:39
    必ず守らなければならないビジネスルールを不変条件と呼ぶ。例えば最低限の注文金額。
  • 17:33:27
    アグリゲートは整合性の単位。
  • 17:39:15
    アグリゲートの3つのルール。1、アグリゲートルートだけを参照する。2、アグリゲート間の参照では主キーを使う。3、一つのトランザクションで一つのアグリゲートを作成更新する。
  • 17:44:08
    サービスとアグリゲートは1対1。アグリゲート間の整合性はサーガで保証する。
  • 17:48:17
    アグリゲートの粒度は小さくする。同時に処理できるリクエストの数が増えてスケーラビリティが向上する。トランザクションの衝突を減らせる。ビジネスロジックの肥大化を防ぐ。
  • 17:53:42
    ビジネスロジックはアグリゲート、サービス、サーガの3つに分散される。サービスはビジネスロジックのエントリポイントとアグリゲートの永続化。サーガはアグリゲート間の整合性を保証。その他のビジネスロジックはアグリゲート。
  • 17:56:21
    どメインイベントはアグリゲートの状態変更を表す。
  • 18:01:17
    ドメインイベントはアグリゲート間の整合性保証やCQRSのデータ同期、web hookやメッセージブローカー、アプリケーションの監視、ユーザー行動のモデリングなどに使う。

2021-10-09のツイート

  • 03:02:52
    モデル→ビュー(シングル·コレクション)→画面 の順にOOUI設計をする。フォルダとファイルはモデル。ビューはフォルダ一覧とファイル一覧とファイル詳細。大きい画面ならそれらのビューで一画面。モバイルならフォルダ一覧画面、ファイル一覧画面、ファイル詳細画面にわかれる。

2021-10-02のツイート

  • 16:31:42
    SQSの最大メッセージ数は10件。
  • 16:33:04
    SQSは月100万リクエストまで無料。すべてのAPIリクエストはリクエストとしてカウントされる。
  • 16:39:13
    SQSのメッセージ受信方法はショートポーリングとロングポーリングの2つある。ショートポーリングはメッセージの有無に関わらずレスポンスを返すので、空のレスポンスが返されることがある。これを防ぐにはロングポーリングを使う。
  • 16:40:47
    SQSの遅延キューとメッセージタイマーは、キューに送られたメッセージを一定期間見えなくする。遅延キューはすべてのメッセージに対し、メッセージタイマーは個別のメッセージに適用される。
  • 16:45:54
    Step Functionは1回限りの実行保証、分散処理、並列処理、順序保証ができる。フローのステートを管理できる。
  • 16:52:07
    SNSは複数のプロトコルに対応したプッシュ型の通知サービス。トピック単位で通知を管理し、サブスライバーがプロトコルを選択する。パブリッシャーはメッセージを配信する。
  • 16:56:28
    信頼性は故障のしにくさ。可用性は稼働率。頻繁に故障しても使える時間が長ければ可用性は高くなる。一度故障するとしばらく使えないが、めったに故障しないなら信頼性は高くなる。

2021-09-22のツイート

  • 03:26:50
    headerを固定すると次の要素が下に回り込んで重なる。次の要素のpaddingをheaderの高さの分だけ設定すると解決する。
  • 12:27:19
    毎日テーマを決めて学んだことをまとめたい。今日はAmplifyとAppsyncの認証、認可について。
  • 12:28:53
    MySQLのon duplicate key updateを使えばインサートとアップデートを同時に実行できる。
  • 15:22:34
    Session managerについて調べる。