並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 59件

新着順 人気順

CQRSの検索結果1 - 40 件 / 59件

CQRSに関するエントリは59件あります。 architectureDDD設計 などが関連タグです。 人気エントリには 『世界一わかりやすいClean Architecture - nuits.jp blog』などがあります。
  • 世界一わかりやすいClean Architecture - nuits.jp blog

    本項は「C# Tokyo オンライン「世界一わかりやすいClean Architecture」他」による発表の登壇原稿となります。過去に発表した.NET版の記事はこちらにアーカイブしています。 本稿のサンプルコード・PPTはこちらで公開しています。 「CC BY-SA 4.0」で公開していますので、気に入っていただけたら営利目的含め、ライセンスの範囲で自由に利用していただいて問題ありません。 github.com また動画を以下で配信しています。よろしければご覧ください。 世界一わかりやすいClean Architecture はじめに まず初めに、クリーンアーキテクチャの誤解されがちな二つのことについてお話させていただきます。 その上で、クリーンアーキテクチャの本質とは何か?押さえておくべき、本当に重要だと考えている三つの事について、お話しします。 注意事項 さて本題に入る前に、少し注意

      世界一わかりやすいClean Architecture - nuits.jp blog
    • 【第1回・前編】 エンジニア和田卓人の今を形作る技術 | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

      『テスト駆動開発』や『SQLアンチパターン』をはじめとする技術書の翻訳者、さまざまなIT企業をわたり歩く技術顧問、さらに最近ではエンジニアリング文化を伝える講演者としても活躍されている和田卓人さん(https://twitter.com/t_wada)。 そのソフトウェアエンジニアとしての素顔を株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出す対談の前編では、一線を画すエンジニアであり続けるために自らのプロジェクトで意識的にコードを書いているという和田さんの姿勢に始まり、ベテランとして「技術のらせん」を読み解くケーススタディとしてDDD(Domain-Driven Design)を題材に話を伺います。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務め

      • フロントエンドエンジニアが「自分はJSON色付け係」と自虐する理由を考察した - パンダのプログラミングブログ

        「JSON色付け係」という自虐 フロントエンドエンジニアの間では、「私の仕事は JSON に色を付けることです」という有名な自虐ネタがある。 おそらく初出は以下のツイートなのだろう(*1)。ただ、出典はあまり詳しく調べていない。 初めてこの言葉を見た時、面白い言い回しだなと思った。確かにフロントエンドの仕事にそういう側面はある。 実際、コンテンツの表示がメインのページで作業すると上記のような気持ちになる。この場合、フロントでやることといえばせいぜい日付の表示形式を適切にフォーマットするくらいだ。結局バックエンドからデータが返ってこないとフロントだけでは何もできないと思うこともある。 もちろん、フロントだけで簡潔する手書き風グラフ作成ツール excalidraw のようなものは別だし、フロントで複雑な状態を扱う部分を書いたり、フォームを使ってユーザー入力を受け付け、入力値を検証するバリデーシ

          フロントエンドエンジニアが「自分はJSON色付け係」と自虐する理由を考察した - パンダのプログラミングブログ
        • 技術系の境界線 | La Verda Luno

          これは 設計ナイト2020 の感想記事です。 CQRS と GraphQL の話が主な話題でしたが、ディスカッションなどで示唆に富む話を聞けたので、(レポートというよりも)考えたことを書き残しておきます。 発表内容についてはあまり書きませんが、すでに 設計ナイト2020感想 - Qiita と 設計ナイト2020に参加してきました。 | achanBlog という記事があります。 Q&A やディスカッションについても #sekkeinight 付きのツイートを見ると、何が交わされたか把握できると思います。 コンテキスト DDD・CQRS・GraphQL・アーキテクチャの進化戦略などについて深い話(触ってみたレベルでなく実運用等を経たもの)についても興味深かったのですが、サーバー再度にとっての理想的なモデルとフロントエンドの要求が衝突する境界線について考えるきっかけになりました。もしかしてサ

            技術系の境界線 | La Verda Luno
          • 過去の失敗例から再考するモデル駆動設計

            過去に僕が失敗した代表例から今ならどう設計するか、という観点でお話します。中心になるトピックは以下です - 軽量DDDの功罪 - ドメインモデル貧血症対策 - 集約の境界定義の善し悪し

              過去の失敗例から再考するモデル駆動設計
            • リアクティブは難しいが役に立つ - Chatwork Creator's Note

              お久しぶりです、かとじゅん(@j5ik2o)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進しているところですmm。この記事はそういう論点で注目されている「リアクティブ原則」についてまとめてみたいと思います。 それなりのボリュームになってしまったので、時間があるときに読んでいただければと思います。 さて、Linux Foundation内の新たなトップレベルプロジェクトであるReactive Foundationが主催する、Reactive Summit 2020が11月10日にオンラインで開催されたので参加しました。 www.reactivesummit.org 参加されていたスピーカーはLightbendをはじめ、Netflix, Fac

                リアクティブは難しいが役に立つ - Chatwork Creator's Note
              • CQRS実践入門 [ドメイン駆動設計] - little hands' lab

                この記事では、CQRSの入門として、軽量CQRS、別名クエリモデルについて解説します。 DDDの参照系処理で発生する課題 解決策 CQRSのメリット、デメリット 実装時の注意事項 部分的導入について なぜQueryServiceの定義がUseCase層なのか 整合性をどうやって担保するのか よくある誤解 データソースを分ける必要があるのか イベントソーシングとの関係 過去資料との繋がり もっと詳しく知りたい方は 現場での導入で困ったら DDDの参照系処理で発生する課題 DDDで定義されている実装パターンを使っていると、基本的には永続化層との入出力はRepositoryを使うことになります。 更新系の処理ではEntityやValueObjectでドメインの知識を表現し、Repositoryを使って集約単位で永続化するという構成をとると、非常にメンテナンス性の良いものになります。 参考過去記事

                  CQRS実践入門 [ドメイン駆動設計] - little hands' lab
                • DDD導入に踏み切れない方へ贈る「2層 + CQS アーキテクチャ(Flyweight DDD)」/Flyweight DDD

                  Flyweight DDD 軽量DDDを避けつつ軽量(Flyweight)にDDDを導入するためのアーキテクチャです。

                    DDD導入に踏み切れない方へ贈る「2層 + CQS アーキテクチャ(Flyweight DDD)」/Flyweight DDD
                  • アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog

                    こちらの記事はカケハシ Advent Calendar 2023 Part2の24日目の記事になります。 adventar.org はじめに 反復的な開発は、変更容易性の高いソフトウェアが不可欠です。ソフトウェア開発の経験がある方なら、デリバリ後の洞察や市場環境の変化から、新しい機能の追加やアーキテクチャの進化の必要性に直面したことが一度はあるでしょう。 私自身、要求分析手法やSOLID原則等の技法を取り入れ、変更容易性に対応する多くのプロジェクトに参加しました。しかし、どれだけ優れた手法や技法を持っていても、変更が難しい要求が出てくることは避けられません。その際、「過去の出来事」を正確に記録していれば、後から見返して問題解決が容易だったと感じることがよくあります。 ドメイン駆動設計(DDD)では、「過去に起こった出来事」を表現するドメインモデルを「ドメインイベント」と呼びます。変更容易性

                      アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog
                    • サーバーレスマイクロサービスを構築するための設計アプローチの比較 | Amazon Web Services

                      Amazon Web Services ブログ サーバーレスマイクロサービスを構築するための設計アプローチの比較 AWS Lambda でワークロードを設計すると、コードレベルでもインフラレベルでも表現できるモジュール性のために、開発者に疑問が生じます。また、コードを実行するためにサーバーレスを使用するには、基盤となる機能コンポーネントからビジネスロジックを抽出するためのさらなる検討が必要です。この意図的な関心の分離により、堅牢なモジュール性が保証され、進化的なアーキテクチャへの道が開かれます。 この投稿は同期ワークロードに焦点を当てていますが、他のワークロードのタイプでも同様の考慮が当てはまります。API の境界を特定し、コンシューマと API について擦り合わせた後、その境界と関連するアーキテクチャを構成します。 Lambda 関数を使用して API を構成する最も一般的な 2 つの方

                        サーバーレスマイクロサービスを構築するための設計アプローチの比較 | Amazon Web Services
                      • ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita

                        この記事は クラウドワークスアドベントカレンダー2019 12日目の記事です。 概要 こんにちは、怒り駆動リファクタリングを生業としている @MinoDriven です。 弊社リファクタリング専門チーム「バグハンター」で現在実施中のリファクタリング設計について紹介致します。 ドメイン駆動設計 を用い、Railsレガシーコードに対しViewとControllerを ActiveRecord非依存 に変更する設計です。 状況 弊社ブログの過去エントリにあるように、弊社サービスcrowdworks.jpはサービスインから8年経過し、 30万行 を超えるモノリシックRailsアプリになっています。 開発生産性が低下してきています 。 生産性低下の課題を解決しようにも、大規模な上に複雑かつ密結合な構造になっており、 マイクロサービスへの移行も、リプレイスも困難な制約 があります。 そこで半年前にリフ

                          ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita
                        • マイクロサービスとメッセージングのなぜ [概要編] - 赤帽エンジニアブログ

                          レッドハットでインテグレーションのためのミドルウェアのテクニカルサポートを担当している山下です。 最近はマイクロサービスでシステムを開発しているという話もよく聞くようになってきました。ではそこでメッセージング、そしてKafkaを使ってますでしょうか?マイクロサービスでは何故かRESTばかりが世の中に注目されてしまうことも多いために、今回はメッセージング推しの内容にしています。 マイクロサービスではメッセージングを用いたコマンドやイベントこそ中心であって不可欠です。マイクロサービスの中でメッセージングはどのように利用され、そしてなぜ必要なのでしょうか。今回は「マイクロサービスとメッセージングのなぜ [概要編]」と題してそれを概観していきます。 Kafkaの簡単なおさらい どこでメッセージングは利用されるのか? RESTはお手軽な解決策? なぜマイクロサービスにメッセージング(Kafka)が必

                            マイクロサービスとメッセージングのなぜ [概要編] - 赤帽エンジニアブログ
                          • Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering

                            学生向けのイベント技育祭2024にて、大規模システムにおけるアーキテクチャの触りをお話したものです。 ビギナー向けなのでそれほど深いお話はしておりません。 【アブストラクト】 本トークでは大規模システムアーキテクチャで考慮すべき事柄とそれを実現する技術スタックや運用システムを深堀りし、それらを実現するための組織の構築をアーキテクト視点でお話します。大規模システムならでは難解な課題とそれを乗り越えるエンジニアリングの力の片鱗をキャッチアップしましょう。 詳細は以下をどうぞ。 https://talent.supporterz.jp/geeksai/2024spring/ # URL YouTube: https://www.youtube.com/c/narusemi HomePage: https://nrslib.com Twitter: https://twitter.com/nrsl

                              Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering
                            • 大失敗した設計、そしてドメイン駆動設計の基本に立ち返る – 福地春喜のブログ

                              ※ 2019年7月27日に追記しました。 この記事の最後に、失敗談の補足を書いた記事へのリンクを追加しました。 システムの一部機能を改修するテーマが現在進行中です。テーマは他の箇所に影響がないくらいに分離できるものです。この大きさが丁度いい。チャンスとばかりにリファクタリングすることにしました。 アプリケーションはそれなりにレイヤー化されています。controllerとserviceとrepositoryがある。よくある3層構造です。何を見直して再設計するのか?それはドメインオブジェクトモデルの構築です。 現状のアプリケーションはビジネスロジックをモデリングしたものとは言えない状態です。自分がやったのだけれど。しかしだからでもあります。なぜこうなったかを振り返り、どのようにできたかを考えます。失敗から学べることもあるはずです。 参照側の層は薄く?本当に? 開発対象のシステムはある情報の検索

                              • こんなに辛いことになるから、最初にがんばろう / 辛い開発状況をどうにかするためにやった13のこと

                                こんにちは!sugitaniと申します。 これまで有名芸能人と通話ができる(かもしれない)ライブ配信アプリとか、オリジナルマンガの配信サービスとか、コメントが横に流れるライブ配信システムとかを作ってきました。(SUGARは今も作業してます) 最近ご縁がありましてUUUMの子会社で、簡単に有料フォロワー向けの投稿が行えるFOLLOW MEを主に開発していて、NFTでデジタルトレーディングカード(※)を売り買いすることができるHABETをIndieSquare社さんと協業で運営しているNUNW株式会社(5月にFOROから社名変更)に入社し半年くらい経っています。最近CTOに任命していただきました! ※NFTについては思うことがある開発者の皆様が多いと思っていますが、自分がどう思っているかは後述します 少し前に「スタートアップがまともなわけ無いから入るな」というインタビュー記事を書いて頂いたんで

                                  こんなに辛いことになるから、最初にがんばろう / 辛い開発状況をどうにかするためにやった13のこと
                                • Firestore で CQRS やってみた

                                  PFN Internship 2023 / Hagai Masaya: Towards Neural Network Potential for Excited states

                                    Firestore で CQRS やってみた
                                  • PHPではじめるCQRSっぽいやつ

                                    PHPerKaigi2021のアンカンファレンスで使ったものです。 PHPカンファレンス仙台2019の再演です。

                                      PHPではじめるCQRSっぽいやつ
                                    • ざっくりCQRS/Event Sourcingを解説する

                                      AWS データベースブログの記事 「Amazon DynamoDBによる CQRSイベントストアの構築」 を勝手に読み解く

                                        ざっくりCQRS/Event Sourcingを解説する
                                      • マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ - 赤帽エンジニアブログ

                                        インテグレーションのためのミドルウェア製品のテクニカルサポートを担当している山下です。 今回は レッドハットのシニアアーキテクトである Eric Murphy さんによる「マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ(CDC)」の翻訳記事です。この記事では、イベントソーシング、CDC、CDC + Outboxパターン、CQRSをそれぞれ簡単に説明しながら、それらの特性の違いを比較します。また、イベントソーシングとCQRSの簡易な説明がなされている他、あまり明確に語られることが少ないもののソフトウェアの設計に大きな影響をおよぼすドメインイベントとチェンジイベントの違いにも触れられています。 [原文] Distributed Data for Microservices — Event Sourcing vs. Change Data Captur

                                          マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ - 赤帽エンジニアブログ
                                        • ZOZOSUITからZOZOMATへ - CQRSによる解決アプローチ - ZOZO TECH BLOG

                                          はじめに こんにちは、計測プラットフォーム部バックエンドチーム、テックリードの児島(@cozima0210)です。この記事では、ZOZOSUITとZOZOMATの違いにより生じたバックエンド開発における課題と、その解決のためにCQRSアーキテクチャを採用した経緯、そしてその実践について紹介します。 ZOZOSUITとは ZOZOSUITは、2017年に発表した全身の計測を目的としたツールです。現在も計測機能は提供されていますが、新規の販売は終了しています。現在、ZOZOSUITの計測データは、マルチサイズ商品の開発に活かされています。 ZOZOMATとは ZOZOMATは、2019年に発表した足の計測を目的としたツールです。足の計測データから、足型診断や推奨サイズの提案に活用されています。今年の2月にリリースし、ZOZOSUITに続く計測技術として、とても注目をいただきました。 計測プラッ

                                            ZOZOSUITからZOZOMATへ - CQRSによる解決アプローチ - ZOZO TECH BLOG
                                          • CQRSはなぜEvent Sourcingになってしまうのか - かとじゅんの技術日誌

                                            CQRSはなぜEvent Sourcingになってしまうのか、まとめてみたいと思います。 なぜまとめるか、それはCQRSにとってEvent Sourcingはオプションだと誤解されている方が多いからです。この記事を書いてる本人も最初はそう思っていましたが、実際に開発・運用を経験してみるとCQRSにとってEvent Sourcingはほぼ必須で、認識を改めるべきだと気づきました。なので、原義に基づいたうえで、Event SourcingではないCQRSがなぜよくない設計になるのか解説します。 その前に松岡さんの記事について。 CQRSの領域ではモデルを完全に分ける 松岡さんの記事には”CQRSはモデルを完全に分ける必要はない”と書かれていますが、知識がないと誤解しがちですが文字のまま意味を取るといけません。こちらの言及は、システムのうち、モデルをC/Qに分割するCQRS領域とモデルを分割しな

                                              CQRSはなぜEvent Sourcingになってしまうのか - かとじゅんの技術日誌
                                            • DynamoDBによるOutboxパターンとCDCを用いたCQRSアーキテクチャの実装〜ZOZOMOでの取り組み - ZOZO TECH BLOG

                                              こんにちは。ブランドソリューション開発部プロダクト開発ブロックの岡元です。普段はFulfillment by ZOZOとZOZOMOのブランド実店舗の在庫確認・在庫取り置きサービスの開発、保守をしています。 本記事では、ブランド実店舗の在庫確認・在庫取り置きサービスで実装したCQRSアーキテクチャについて紹介させていただきます。 CQRSの実装においては、データベース(以下、DB)分割まで行い、コマンド側DBにはAmazon DynamoDB(以下、DynamoDB)、クエリ側DBにはAmazon Aurora MySQL(以下、Aurora MySQL)を用いています。また、コマンド側DBとクエリ側DBの橋渡しを担うメッセージングにおいてはOutboxパターンと変更データキャプチャを用いました。DBとメッセージングシステムへの二重書き込みを避けることで障害などのタイミングで顕在化する潜在

                                                DynamoDBによるOutboxパターンとCDCを用いたCQRSアーキテクチャの実装〜ZOZOMOでの取り組み - ZOZO TECH BLOG
                                              • solid+cqs+dry

                                                監視とオブザーバビリティ 〜 悩む前に確認しておくべきこと / 20230926-ssmjp-monitoring-and-observability

                                                  solid+cqs+dry
                                                • CQSとCQRSの違いはメソッドの分離かモデルの分離かという観点 - Qiita

                                                  この記事について 先日 DDD-Community-Jp の DDD Talk MeetUp #2 というイベントでトーク枠にて参加させて頂き Flyweight DDD というアーキテクチャスタイルの提案とする一つのスライドを発表させて頂きました。 https://speakerdeck.com/hirodragon112/ddddao-ru-nita-miqie-renaifang-hezeng-ru-2ceng-plus-cqs-akitekutiya-flyweight-ddd ただ、本稿はこのスライドの「内容」とは全く関係ありません。 本稿で取り上げたいのはこのタイトルに登場している CQSという単語についてです。 このスライドをきっかけにCQSとCQRSの違いについて自分なりに思考の整理を記載したいと思います。 CQS ? CQRS ? きっかけは twitter にて @j5

                                                    CQSとCQRSの違いはメソッドの分離かモデルの分離かという観点 - Qiita
                                                  • CQRS/ESによって集約の境界定義を見直す - かとじゅんの技術日誌

                                                    peing.net メッセージングシステムのお題のようです。面白そうなのでちょっと考えてみよう。 問題提起 集約候補が以下の3つ。 ユーザー 企業 スレッド メッセージ スレッド集約はメッセージを複数保持するようです。 1000件のメッセージを保持するスレッド集約を更新した際、1000件のアップデートが行われる スレッド集約内部で更新された属性を把握していない場合は、リポジトリでは全メッセージ分の更新となる。これを避けるための仕組みはどう実装するのか? ということが指摘されている。まぁわかります。これはCQRS/ESなら解決できるよと言ってみる 問題の分析 で、僕ならどう考えて実装に落とすかつらつらまとめてみよう。CQRS/ES前提です。Akkaの成分は少なめでScalaの擬似コードで解説します。コードはコンパイルしてないので…おかしなところあるかも。 問題はスレッド集約がメッセージの集合

                                                      CQRS/ESによって集約の境界定義を見直す - かとじゅんの技術日誌
                                                    • タスクベースUIとCQRS - Qiita

                                                      この記事は 弁護士ドットコム Advent Calendar 2020 19日目の記事です。12月19日の午前2時を過ぎて苛立ちがドアを叩くころです。 今年は上野学さんの単著『オブジェクト指向UIデザイン 使いやすいソフトウェアの原理』が発売され、OOUIという言葉が盛り上がっていますね。昨日のアドベントカレンダーの記事を書いた @shirauix さんともOOUIの話で盛り上がり、彼が主催で社内読書会も行われました。 さて、世間的にも社内的にもOOUIが盛り上がって読書会も開催されるなか、わたしは社内でひっそりと「タスクベースUI」の勉強会をやったのでした。 タスクベースUI? 「タスクベースUI」という言葉は、先程の上野さんが盛んに言及することで最近有名になった言葉な気がします。 『オブジェクト指向UIデザイン』から引用します。 GUIのようにオブジェクトを起点として設計された操作モデ

                                                        タスクベースUIとCQRS - Qiita
                                                      • 忙しいひとのためのCQRS/quickly-cqrs - Speaker Deck

                                                        All slide content and descriptions are owned by their creators.

                                                          忙しいひとのためのCQRS/quickly-cqrs - Speaker Deck
                                                        • マイクロサービスとメッセージングのなぜ [疑問編] - 赤帽エンジニアブログ

                                                          「マイクロサービスとメッセージングのなぜ [概要編]」はこちらです。 レッドハットでインテグレーションのためのミドルウェア製品のテクニカルサポートを担当している山下です。 概要編ではメッセージングの良い面ばかりに焦点を当ててきましたが、今回の疑問編ではメッセージングを検討し始めたときに疑問に思ったり困りがちなことを説明したいと思います。概要編とは異なり、細かな技術的内容も含まれますので、その時々で必要な部分や興味ある部分だけ読んでいただければと思います。 (ところで、当初は前回を前編、そして今回を後編にして終わらせようと思っていたのですが、今回もあまりに長くなってしまったので、構成を変えたのでした。 このため当初の前編は概要編と名前を変更しています。) ではまず主に疑問とされることを確認して、その後に対処法を見ていきましょう。 メッセージングを利用することによる主な疑問 対処方法 Q1:

                                                            マイクロサービスとメッセージングのなぜ [疑問編] - 赤帽エンジニアブログ
                                                          • Build a CQRS event store with Amazon DynamoDB | Amazon Web Services

                                                            AWS Database Blog Build a CQRS event store with Amazon DynamoDB The command query responsibility segregation (CQRS) pattern, derived from the principle of command-query separation, has been popularized by the domain-driven design community. CQRS architectures that use event sourcing save generated events in an append-only log called an event store. By using event sourcing, you can, among other ben

                                                              Build a CQRS event store with Amazon DynamoDB | Amazon Web Services
                                                            • 100億円キャンペーンで学んだ“教訓” PayPayのスケーラブルな巨大決済システムを支える工夫

                                                              100億円キャンペーンで学んだ“教訓” PayPayのスケーラブルな巨大決済システムを支える工夫 PayPay 100億円キャンペーンのシステム構築 #2/2 2019年6月12〜14日、幕張メッセにて「AWS Summit Tokyo 2019」が開催されました。アマゾンウェブサービス (AWS) に関する情報交換や、コラボレーションを目的として行われるこのカンファレンスでは、140社以上の利用企業による先進事例セッションをはじめ、数々のイベントを実施しました。プレゼンテーション「PayPay 100億円キャンペーンのシステム構築 」に登壇したのは、PayPay株式会社プロダクト本部の山本啓介氏とShilei Long氏。スマホ決済アプリとして新規参入した同社が展開し、日本中の話題をさらった「100億円キャンペーン」の技術的背景について語ります。後半パートとなる今回は、Shilei Lo

                                                                100億円キャンペーンで学んだ“教訓” PayPayのスケーラブルな巨大決済システムを支える工夫
                                                              • PHPを使ってEvent Sourcing + CQRSをざっくり理解してみよう(Laravel) - ytake blog

                                                                これはさりげなく スターフェスティバル Advent Calendar 2020の20日目です。 PHPカンファレンス2020 2019年は登壇などを控えて一休みの期間としていたので一年振りくらいの と登壇となりました。 発表の内容としてはここ3、4年注力しているデータ処理まわりから、 PHPにおけるWebアプリケーションなどでも活用することができる題材を取り上げてお話させていただきました。 要するに事業に関わっている開発は年々要件も複雑になっていき、 問題解決するためにはいろんな手法があるけど、きちんと分析して 開発しやすいよう、フレームワークにべったり依存してつくるのではなく、 数年先を見越してつくったり、改善する方法の一つにES+CQRSもありますよ、という話です。 お話したように、全てのアプリケーションでペイできるものではありませんし、 ある程度大きな規模だったりある程度複雑な機能

                                                                  PHPを使ってEvent Sourcing + CQRSをざっくり理解してみよう(Laravel) - ytake blog
                                                                • リアクティブシステムとCQRS/ESで実現する Chatwork新アーキテクチャについて

                                                                  ChatworkではリアクティブシステムとCQRS/ESを反映した次期アーキテクチャを構想しています。まだ構想段階ではありますが、なぜそれらを採用するのかメリット・デメリットも含めてご説明します。

                                                                    リアクティブシステムとCQRS/ESで実現する Chatwork新アーキテクチャについて
                                                                  • Chatworkのテックリードが語る、CQRSを上手に使うため方法

                                                                    株式会社ビープラウドが主催するIT勉強会「BPStudy」。#151となる今回は、設計の代表格であるオブジェクト指向、モデリング、そして設計にフォーカスをあて、LT大会を開催しました。Chatwork株式会社でテックリードとして活躍する加藤潤一氏は、「CQRS(コマンドとクエリの分離)」について語りました。 講演資料はこちら コマンドとクエリを分けるCQRSとは 加藤潤一氏:今日は「CQRSはEvent Sourcingなしで実現できるのか?」という話をします。よろしくお願いします。自己紹介は割愛させてください。 Event Sourcingの事例は、Chatworkでも2016年にNTTデータさんと共同開発したプロジェクトです。AWSのDev Day(AWS Dev Day Tokyo 2017)で話したので、スライドもあります。あとはApache Kafkaを使っているんですけど、NT

                                                                      Chatworkのテックリードが語る、CQRSを上手に使うため方法
                                                                    • Using Akka Cluster for a payment service

                                                                      ScalaMatsuri 2019 Akka Cluster を採用した決済サービスをリリースしました。このセッションでは、Akka Cluster を使った開発で苦労した点や、従来の RDB を用いた CRUD ベースのシステムから、どのようにしてアクターモデルやイベントソーシング・CQRS といったモデルを用いたシステムへと変化させたのかなど、本プロジェクトで Akka Cluster を採用するにあたり我々が取り組んだ内容について話します。

                                                                        Using Akka Cluster for a payment service
                                                                      • Firebase Meetup #15でLTをしてきました | BLOG - DeNA Engineering

                                                                        2019年12月3日に開催された Firebase Meetup #15 で、 「CQRSを学ぶついでにCloud FunctionsとFirestoreを連動させる時の小技も学ぶ」というタイトルでLTをしてきました。 Firebase はGoogleが提供するmBaaSです。 Webアプリ・ネイティブアプリのバックエンドで共通して必要になる機能一式を提供してくれるサービスで、 うまく活用すると開発のコストを抑えながらスケーラブルなアプリケーションを作ることができます。 DeNAにおいても、実はさまざまなサービスでFirebaseが活用されています。 今回のLTでは、Firebase上にアプリケーションを構築する際の工夫として、 コマンドクエリ責務分離(CQRS)をキーワードにお話しさせていただきました。 スライドは公開しているのですが、それだけ見ても内容が伝わりにくいところがありますので

                                                                          Firebase Meetup #15でLTをしてきました | BLOG - DeNA Engineering
                                                                        • 3週間で出来たEvent SourcingでCQRSなアーキテクチャ上でのHBaseのupgrade - Chatwork Creator's Note

                                                                          プロジェクトのリーダーである、cw-sakamotoがこの超重要プロジェクトを終え、軽い燃え尽き症候群になっているので、代わりにcw-tomitaが代筆しております。 マラソンガチ勢(ベストタイム3時間17分)であるcw-sakamotoによって、Carbon X(50マイルでの世界記録を出したランナーが履いていたランニングシューズの名前)と名付けられた、このHBase upgradeプロジェクト、 dogsorcaravan.com その名に恥じない、プロジェクト開始から終了まで3週間という短納期で完遂することができました。今回はこのプロジェクトに関して書きました。 tl;dr Event SourcingでCQRSなシステムの上で動いてるHBaseのversion upをblue-green形式で実施した。 計画から実行まで3週間程度で完了するというスピード感で、大きな事故もなく凄く上

                                                                            3週間で出来たEvent SourcingでCQRSなアーキテクチャ上でのHBaseのupgrade - Chatwork Creator's Note
                                                                          • 具体的な実装コードからEvent Sourcingを理解する - かとじゅんの技術日誌

                                                                            DDD Community JPのほうでCQRS/Event Sourcingについて少し盛り上がったので、どういう議論をしたかまとめるのと同時に補足も追加しました。ちなみに、Event Sourcingが主題ですが、CQRSも前提として関係します。その想定で読んでいただければと。 発端はこのツイート。 これはEvent Sourcingじゃないと無理ですね。状態に基づく限り、ストリーム処理は難しいです https://t.co/prB16GJC5q— かとじゅん (@j5ik2o) 2020年9月14日 僕が引用したツイートは松岡さんの質問箱に対するリアクションです。その質問箱に寄せられた質問は以下。 ストリームを開いてから閉じるまでのデータが変化する毎にUIで表示したい場合、DDDではどのように設計したら良いでしょうか? DDDのリポジトリは1つのリクエストに対して1つのリクエストを返

                                                                              具体的な実装コードからEvent Sourcingを理解する - かとじゅんの技術日誌
                                                                            • CQRS & Event Sourcing - モダンアーキテクチャにおける役割と実装

                                                                              • DynamoDBを使ったCQRS/Event Sourcingシステムの構築方法(言語・F/W非依存)

                                                                                CQRS/Event SourcingといえばAkka/Scalaがオススメと言い続けてきたけど、言語やフレームワーク非依存というか、そういう縛りが緩い方法を考えた(実際に検証したわけではないですが、実装できるつもりで書いてます)ので、以下にまとめます。 前提 クラウド環境はAWS。コマンド側DBをDynamoDB。DynamoDBにそれなりに詳しい人向けに基礎的な部分の解説も省いてます。クエリ側DBは要件に応じて選択してください。とりあえずAuroraのつもりで書きます。 コマンド側で発生したイベントをクエリ側に伝搬させるために、DynamoDB Streamsを利用します。クエリ側のRead APIはRead DBを読むだけなので解説は省きます。 ドメインはショッピングカートです。 アプリケーションは伝統的なステートレスウェブアプリケーションを想定します。アプリケーションの最新状態(S

                                                                                  DynamoDBを使ったCQRS/Event Sourcingシステムの構築方法(言語・F/W非依存)
                                                                                • Fat Modelを解消するためのCQRSアーキテクチャ

                                                                                  Kaigi on Rails 2023 (https://kaigionrails.org/2023/talks/krpk1900/) で発表した内容です。

                                                                                    Fat Modelを解消するためのCQRSアーキテクチャ

                                                                                  新着記事