並び順

ブックマーク数

期間指定

  • から
  • まで

401 - 440 件 / 1018件

新着順 人気順

アーキテクチャの検索結果401 - 440 件 / 1018件

  • マイクロサービス時代のセッション管理 - Retty Tech Blog

    この記事はRetty Advent Calendar 2019 21日目の記事です。エンジニアの 神@pikatenor がお送りします。11日目の記事に書かれた「弊社エンジニアの神(注・人名であり実名です)」とは私のことです。 qiita.com さて世はまさにマイクロサービス大航海時代、大規模化した組織・肥大化したコードベースのメンテナンスを継続的に行っていくべく、アプリケーションを機能別に分割する同手法が注目を集めていることは皆さんもご存知でしょう。 マイクロサービスアーキテクチャ特有の設計課題はいくつかありますが、今回は認証情報のような、サービス間でグローバルに共有されるセッション情報の管理のパターンについて調べたことをまとめてみたいと思います。 背景 HTTP は本質的にステートレスなプロトコルですが、実際の Web サービス上では複数リクエストをまたがって状態を保持するために、

      マイクロサービス時代のセッション管理 - Retty Tech Blog
    • オブザーバビリティ入門

      Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集

        オブザーバビリティ入門
      • 整理しながら理解するKubernetesネットワークの仕組み / Kubernetes Network Fundamentals

        #cndjp 第16回勉強会での発表資料です。 ・アジェンダ Kubernetesのネットワークには様々な登場人物があり一見すると複雑に思われがちですが、それぞれの役割と関係性を把握すれば決して難解なものではありません。 最後のセッションでは、そんなKubernetesのネットワークの仕組みを、丁寧に整理しながら紐解いていきたいと思います。 膨大なコンテナ群の通信を支える洗練されたアーキテクチャを、一緒に理解していきましょう。

          整理しながら理解するKubernetesネットワークの仕組み / Kubernetes Network Fundamentals
        • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

          技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

            Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
          • クリーンアーキテクチャのUsecaseはなぜControllerへ値を返すのではなくOutput PortとしてPresenterを呼び出すのか - Runner in the High

            何を言っているのかと言うと、みんな大好きクリーンアーキテクチャの右下に図示されているFlow of Controlのこと。 黒線が引かれているということは、つまりUsecaseの中でOutput Portのインターフェイスを持つPresenterの関数なりが最終的に実行されるということである。 ここで湧き上がってくる疑念は「UsecaseがPresenterを呼び出さなくてもControllerに返り値とかで値を返して、Controller経由でPresenterに渡して実行しても同じなんじゃないの?」である。つまりOutput Portというインターフェイスそのものを撤廃してControllerにPresenterを使わせるアイデアである。たしかに、仮にこの方針で行ったとしても依存の方向が壊されることはない。 Software Engineeringでは同様の質問がかなり盛り上がっている

              クリーンアーキテクチャのUsecaseはなぜControllerへ値を返すのではなくOutput PortとしてPresenterを呼び出すのか - Runner in the High
            • ぼくのかんがえたさいきょうの useState + useContext よりも Redux のほうが大抵勝っている

              「Redux は学習コストが高い」などと言って useState(または useReducer)と useContext を組み合わせ 劣化 オレオレ Redux を作ってしまうのを見かけます[1]。よくないことだと思いますが、気持ちは非常にわかります。Redux エコシステムがそういう気持ちにさせてしまう部分は大いにあります。 Redux は それ単体なら 学習コストは useReducer + useContext と同等であることを示してこの気持ち(誤解)を解かしつつ、なぜそういう気持ちになってしまうのか考察してみます。 まず useState と useReducer の違いを押さえておく 知っている方はスキップしてください。 useState と useReducer は本質的には同等で、どちらもコンポーネントにステート(状態)を持たせる役割があります。次のようなカウンターアプリ

                ぼくのかんがえたさいきょうの useState + useContext よりも Redux のほうが大抵勝っている
              • オンプレミスからAWSへ移行した後の『次の一歩』がよくわかる「AWSコスト最適化ガイドブック」 | DevelopersIO

                また1冊、この世に名著が生まれました。AWSを運用中のすべてのユーザー企業の方に読んでいただきたいです。 みなさん、こんにちは。 明るい笑顔がトレードマークの芦沢(@ashi_ssan)です。 『AWSコスト最適化ガイドブック』と題するもはやタイトルだけで万人が読みたくなりそうな本が出版されていたので、購入して即読了しました。 興奮のあまり勢いだけで書評を書いたので、購入を検討している方の参考になればと思いブログ化してみました。 書籍の概要と著者について まずは出版元のKADOKAWAのWebサイトから概要を確認していきます。 利用費用の削減から体制整備・運用プロセス構築までAWSがすべて公開! 本書は、DXを効率的で持続可能にするためのクラウド最適化の勘所をお伝えすることを目的としています。AWSの個々のサービスの特徴やクラウド利用費用の削減アプローチ、AWS コスト管理に係るサービスの

                  オンプレミスからAWSへ移行した後の『次の一歩』がよくわかる「AWSコスト最適化ガイドブック」 | DevelopersIO
                • 【Elasticsearch】1900万点に及ぶ商品データ作成の時間を約67%短縮できた構成と工夫 - MonotaRO Tech Blog

                  初めまして、EC基盤グループ サーチチームの壷井です。 モノタロウでは2019年10月頃より新規検索システムの設計・開発を進め、今年の4月頃にECサイト(monotaro.com) 検索ページの裏側の検索システムを従来のSolrからElasticsearchに100%移行*1しました。この移行は将来の商品点数やリクエスト数の増加を見据えたバックエンドの大規模な改修で、ここまで約2年半ほどプロジェクトを進めてきました。今後もECサイトのすべてのページの完全移行に向け引き続き開発・運用を行っていきます。 今回はこのプロジェクトのなかで私が担当してきたElasticsearchへの日々のデータの洗い替え(日次更新と呼んでいます)ワークフローのシステム構成と工夫などについてお話します。 モノタロウの検索システムの紹介 日次更新のシステム構成 処理の流れ ① リアルタイムデータ同期 ② 日次商品デー

                    【Elasticsearch】1900万点に及ぶ商品データ作成の時間を約67%短縮できた構成と工夫 - MonotaRO Tech Blog
                  • ソフトウェアアーキテクチャ・ハードパーツ

                    ソフトウェアアーキテクチャに絶対的な正解は存在しません。むしろ、さまざまな妥協点の中から選択を強いる難題、すなわち「ハードパーツ」が多く存在します。そのため、ソフトウェアアーキテクトには常にトレードオフを見極め、状況に合った選択をすることが求められます。本書は、読者が自身のアーキテクチャ上の難題に対して効果的なトレードオフ分析を行い、より良い決定ができるようにするための書籍です。 本書では、サービスの粒度やデータの所有権、コードの再利用やワークフローの調整、可用性や信頼性の実現といった現代のソフトウェアアーキテクチャの難題と、それに対するさまざまなアプローチやパターンを紹介します。そして意思決定を難しくするトレードオフについて、モノリスを分解しマイクロサービスアーキテクチャに再構築する例を通して詳しく説明します。 『ソフトウェアアーキテクチャの基礎』の著者らによる現代的なトレードオフ分析と

                      ソフトウェアアーキテクチャ・ハードパーツ
                    • ソフトウェアアーキテクチャメトリクスの基礎: Software architecture metrics in a nutshell

                      ソフトウェアアーキテクチャメトリクス - Forkwell Library #44 での発表資料です https://forkwell.connpass.com/event/309739/ 動画: https://www.youtube.com/watch?v=C52rYX_E9bA #Forkwell_Library

                        ソフトウェアアーキテクチャメトリクスの基礎: Software architecture metrics in a nutshell
                      • Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record

                        January 29, 2021 @ 銀座Rails #29

                          Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record
                        • 『ソフトウェアアーキテクチャメトリクス―アーキテクチャ品質を改善する10のアドバイス』 - snoozer05's blog

                          翻訳を担当した書籍『ソフトウェアアーキテクチャメトリクス―アーキテクチャ品質を改善する10のアドバイス』(オライリー・ジャパン)が明日(2024年1月24日)発売となります(電子書籍はオライリー・ジャパンのサイトでの購入となります)。本書は、2022年10月に出版されたChristian Ciceri, Dave Farley, Neal Ford, Andrew Harmel-Law, Michael Keeling, Carola Lilienthal, João Rosa, Alexander von Zitzewitz, Rene Weiss, Eoin Woods 著『Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture』(O'Reilly Media)の全

                            『ソフトウェアアーキテクチャメトリクス―アーキテクチャ品質を改善する10のアドバイス』 - snoozer05's blog
                          • Go(Echo), Gorm, Mysql, Docker, Swaggerで、クリーンアーキテクチャなAPIサーバーを作ったメモ

                            自分の本業は10年物のMVCプロジェクトなのでClean Architecture忘れがちです。 なので、慣れてるGoでパッとClean Architectureの復習を行ってみました(2年前にPythonでやった事はあるんだけど・・・)。 このスクラップでは単語とか作りどころとかを整理するのですが、また後でRustで作ってそっちは前例がほぼないので記事にします。 Go + Clean Architectureは結構記事あるんですが、Swaggerつけたしたのと自分なりに納得いくディレクトリ構成にオリジナリティを出しました。ちなみにgo-swagger使うと本当は凄く楽に作れるのですが(ついでにフロントはopenapi-generator)、今回はClean Architectureを理解するのが主目的なので、サーバーは手書きでopenapiのyamlも1から自作しました。 ↑ postに

                              Go(Echo), Gorm, Mysql, Docker, Swaggerで、クリーンアーキテクチャなAPIサーバーを作ったメモ
                            • スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog

                              こんにちは。こんばんは。おはようございます。 アンドパッドで現在はバックエンドの方のエンジニアをやっている原田です。 アンドパッドには2021年6月にJOINしまして、現在までANDPADボードの開発に携わっています。 ANDPAD施工管理が比較的長期間の工事をターゲットにしているのに対して ANDPADボードは1日〜数日の間に短期間の工事や施工を行う際のスケジュール管理を行えるサービスです。 andpad.jp 今回は入社3ヶ月目というきりの良いタイミングで今まで行ってきたことを振り返りつつ、直近行った技術的負債を軽減するための「開発合宿」について書いていきます。 一応最初に書いておきますが、リファクタリングに関するチートスキルはないのでバーンとやってドーンと解決みたいなド派手な解決ではなく地道な改修作業をちまちま行いましたという内容です。 入社してからやってきたこと ANDPADボード

                                スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog
                              • Cloudflareが昨日(2022年6月21日)の障害原因はBGPの設定ミスと報告。東京データセンターを含む19の主要データセンターが一時オフラインに

                                Cloudflareが昨日(2022年6月21日)の障害原因はBGPの設定ミスと報告。東京データセンターを含む19の主要データセンターが一時オフラインに CDNプロバイダーのCloudflareは、日本時間の昨日(2022年6月21日)午後に発生したネットワーク障害についての報告を公開しました。 障害は日本時間の午後3時半頃に顕在化し、国内ではDiscordやPixiv、Nortionなどさまざまなサービスにおいて影響が報告されましたが、午後5時から6時頃にはおおむね復旧が見られたようです。 Cloudflareの報告によると障害はBGPの設定ミスが原因で、これにより東京データセンターを含む同社の主要な19のデータセンターで障害が発生したとのことです。 Today, June 21, 2022, Cloudflare suffered an outage that affected tra

                                  Cloudflareが昨日(2022年6月21日)の障害原因はBGPの設定ミスと報告。東京データセンターを含む19の主要データセンターが一時オフラインに
                                • フロントエンドリアーキテクトの話

                                  ZOZO Tech Meetup で話したフロントエンドリアーキテクトの話です。

                                    フロントエンドリアーキテクトの話
                                  • 決済ステータス定義の最適解

                                    ネットスーパーシステムの決済ステータス表現 (状態遷移) は複雑だ。 その理由は要求要件が多いことに起因しているが、多いことが悪いのではなく、それに応えなければシステムとして真の価値を発揮できないからで。逆に問題解決できなければ、著しく利便性を落としてしまうので、必須要件という位置付けにある。 前提文脈を汲み取りづらいモデリングなので、問題解決例を示すのはあまり見かけないが、自分が考えた決済ステータス定義の答えを示す。 この内容は過去にブログや登壇で話した内容の延長でもあるので、過去の内容も参考にすると良いかもしれません。 「E-Groceryにおけるカード決済処理の難しさと設計戦略」 「ネットスーパーの買い物体験を支える工夫と決済機能実現の過程」 前提条件 注文から支払い完了まで時間差がある注文後に注文内容の変更ができる品切れが発生するケースがある販売員が注文内容を変更できる0円での支払

                                      決済ステータス定義の最適解
                                    • Pythonでコードを書いてAWSやKubernetesのシステム構成図を出力できる「Diagrams」

                                      システムの構成を社内で共有したり外部に説明したりする際に、システム構成図を作成した経験のあるエンジニアは多いはず。ダイアグラム作成ソフト「Diagrams」を使うと、AnsibleやSubiquityといった「Infrastructure as Code(IaC)」に関連するサービスのように、プログラミング言語のPythonでコードを書くことで、クラウドやオンプレミスの構成図を描くことができます。 Diagrams · Diagram as Code https://diagrams.mingrammer.com/ まずはDiagramsの動作に必要なパッケージをインストールします。今回Diagramsのインストールに利用するのはUbuntu 18.04です。 sudo apt install -y python3 python3-pip graphviz 続いてDiagramsをインスト

                                        Pythonでコードを書いてAWSやKubernetesのシステム構成図を出力できる「Diagrams」
                                      • 低レイテンシと安定性を生むアーキテクチャ - SSPの現場に学ぶ、高可用性のつくり方 - エンジニアHub|Webエンジニアのキャリアを考える!

                                        低レイテンシと安定性を生むアーキテクチャ - SSPの現場に学ぶ、高可用性のつくり方 低レイテンシとは、広告配信の世界でユーザービリティ / 収益に直結する要素であることから、重要視されています。では、SSPの現場で実際に用いられるシステムはどのような構成になっているのでしょうか。fluct社の鈴木健太さんに、低レイテンシ、そして安定して稼働するシステムの基本を聞きました。 200msを目安にレスポンスを返す、低レスポンス設計 オンプレミスとAWSを組み合わせてコストとスケールのバランスを保つ データのコピーをサーバーに入れ、独立化する 悪くなったところを捨てるのが、低レイテンシ・システム安定化の秘訣 ログの集計はBigQueryで簡単に 悪くなったところは捨てて、全体を安定に動かす レイテンシ(latency)とは、リクエストに対して応答を返すまでの時間のことです。レイテンシをできるだけ

                                          低レイテンシと安定性を生むアーキテクチャ - SSPの現場に学ぶ、高可用性のつくり方 - エンジニアHub|Webエンジニアのキャリアを考える!
                                        • IBM、世界初の2nm半導体技術を発表 バッテリー寿命は7nmの4倍

                                          米IBMは5月6日(現地時間)、同社研究部門IBM Researchで製造した300mmウェーハ上で、2nmプロセスチップを生み出したと発表した。7nmプロセッサと比較して、約45%の性能向上、あるいは同じ性能レベルでの約75%の電力削減になるとしている。例えば、スマートフォンのバッテリー寿命を4倍にする可能性がある。 第2世代ナノシート技術が2nmノードへの道を開いたとしている。これにより「500億個のトランジスタをほぼ指の爪のサイズのスペースに収めることができる」という。IBMは米AnandTechに対し、指の爪のサイズとは150平方mmのことだと説明した。つまり、トランジスタ密度は1平方mm当たり3億3333万トランジスタということになる。ちなみに台湾TSMCの5nmチップのトランジスタ密度は1平方mm当たり1億7130万トランジスタだ。 IBMは2nmの利点として、スマートフォンの

                                            IBM、世界初の2nm半導体技術を発表 バッテリー寿命は7nmの4倍
                                          • 失敗から学ぶAPIファースト / API first learning from failure

                                            Presentation Slides for ServerlessDays Tokyo 2023 ( connpass) Session Title: 失敗から学ぶAPIファースト ~ 正しいデザインからはじめるアーキテクチャ選定、開発ライフサイクル&コラボレーション Session Video: [ServerlessDays Tokyo 2023] 失敗から学ぶAPIファースト / 川崎庸市 Date: 2023/09/23 Update history - 2023/09/24: fix typo - 2023/12/13: p19 表現を更新「APIファースト」→「APIファースト開発モデル」

                                              失敗から学ぶAPIファースト / API first learning from failure
                                            • ガートナー「先進テクノロジのハイプ・サイクル:2020年」を発表。ソーシャルディスタンス技術、説明可能なAI、などが過度な期待

                                              ガートナー「先進テクノロジのハイプ・サイクル:2020年」を発表。ソーシャルディスタンス技術、説明可能なAI、などが過度な期待 米調査会社のガートナーは、「先進テクノロジのハイプ・サイクル:2020年」を発表しました。 ガートナーのハイプサイクルは、技術の登場から安定までを5つのステージに分けて説明したものです。5つのステージは、「黎明期」から始まり、「『過度な期待』のピーク期」「幻滅期」「啓蒙活動期」「生産性の安定期」まで。この途中で消えていく技術もあります。 2020年版では1700を超えるテクノロジを分析した上で30の先進テクノロジが提示されています。 ハイプサイクルの左からいくつか注目したいテクノロジを見ていくと、黎明期には「エッジにおける低コストのシングルボードコンピュータ」「双方向ブレイン・マシン・インターフェイス」「責任あるAI」「コンポーザブルエンタープライズ」などが並んで

                                                ガートナー「先進テクノロジのハイプ・サイクル:2020年」を発表。ソーシャルディスタンス技術、説明可能なAI、などが過度な期待
                                              • Serverless Architecture Patterns in #AWS - DEV

                                                1- Backend API Service 2- Hosting Microservices 3- Backend and Frontend Service 4- CloudFront with Regional API Gateway 5- Backend and Frontend Service using Single CloudFront Distribution 6- Storage First 7- APIs hosted by the backend service and frontend content hosted in S3

                                                • Clean Architectureにおいてバリデーションはどこでやるべきか

                                                  クリーンアーキテクチャで web アプリケーションを作る際に、バリデーションはどのレイヤの責務なのか?と悩むことが多いため、それについての考察を行ってみる。 あと、バリデーションについて書いてたはずがドメインロジックとアプリケーションロジックの違いについても結構言及せざるを得ない感じになったので、そのへんの話もしてみる。 結論から言うと バリデーションはどのレイヤの責務なのか?という問い自体が間違いであり、レイヤごとにそのレイヤの責務となるバリデーションを行うべき、というのが今のところの結論。 バリデーションという単語は意味があまりに広い。「意図していないもの/ことを防ぐ」ことはすべてバリデーションと呼ばれている節がある。そのことにより、バリデーションというのはあたかも唯一つの責務であるかのように錯覚しがちだが、そうではない。クリーンアーキテクチャではレイヤによって責務を分担しているが、同

                                                    Clean Architectureにおいてバリデーションはどこでやるべきか
                                                  • 吉本興業「ステマに該当せず」 京都市の施策PR投稿(共同通信) - Yahoo!ニュース

                                                    京都市と吉本興業の契約に基づき同社所属の漫才コンビ「ミキ」が市の施策を投稿したツイッターについて、吉本興業が市関連のハッシュタグが明記されているとして、口コミを装ってPRする「ステルスマーケティング(ステマ)」に該当しないとする見解をまとめたことが30日、関係者への取材で分かった。 市と吉本興業は昨年9月、総額420万円で京都国際映画祭などの宣伝事業を契約。ミキら所属芸人で「京都市盛り上げ隊」を結成しイベントや広報紙に登場し、ミキの2人が計100万円で施策をツイートした。

                                                      吉本興業「ステマに該当せず」 京都市の施策PR投稿(共同通信) - Yahoo!ニュース
                                                    • Hotwireとは何なのか?

                                                      はじめに HotwireはBasecampが発表した、モダンなWebアプリケーションを作るための新しいアプローチです。名前もHTML OVER THE WIREから来ているように、HotwireではHTMLをサーバーから送ります。「それ普通のWebアプリケーションでは?」と思う方もいるかもしれませんが、SPA + APIサーバでJSONが使われるのに対し、SPAと同様の体験をHTMLを中心に置いて作るアプローチであることを示す表現です。 僕個人は、最初は「ふ〜ん」という感じだったんですが turbo-railsを読みつつHotwireのデモアプリをPhoenixに移植してみたり WebSocketではないTurbo Streamsのsourceを作ってみて遊んだり と、ある程度触ってみて良さが理解できてきたので、Hotwireを使うと何が嬉しいのか、Hotwireの各要素の紹介を記事として

                                                        Hotwireとは何なのか?
                                                      • 時間を区切って設計を打ち切るのはおすすめできない - hitode909の日記

                                                        最初にマイルストーンを切って、この週で設計、この週で実装、みたいなことをやるのはおすすめできない。 設計に使える時間を最初に決めた時間までしか使わないということは、どうすればいいか、考えきれてなくても作り始めているということ。 コードは書けていくので、進んでいるようにも見えるけど、問題を先送りしているだけなので、じっくり設計や作戦を詰めていれば気付ける問題に、あとのほうで直面することになる。 この問題を回避するためにはこのように作るべきであった、ということにあとで気づくと手戻りが大きくなり、こんなことをするくらいなら最初に決めておけばよかった、となることが多いと思う。 家を建てることをイメージすると、設計フェーズはここで打ち切って、手を出せるところから始めよう、といきなり柱を建てることをイメージしてほしい。 先のことを見据えると、4本の柱は長方形になっているべきという制約があるけど、そのこ

                                                          時間を区切って設計を打ち切るのはおすすめできない - hitode909の日記
                                                        • CQRS実践入門 [ドメイン駆動設計] - little hands' lab

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

                                                            CQRS実践入門 [ドメイン駆動設計] - little hands' lab
                                                          • ドメイン駆動設計 モデリング/実装ガイド - little-hands - BOOTH

                                                            本書は、初めてDDDを学ぶ方、もしくは実際に着手して「難しい!!」と感じているエンジニアの方を対象とした、ドメイン駆動設計(以下、DDD)についての解説書です。 近年、ソフトウェアのレガシー化が社会的に問題になっていると言われています。 DDDはレガシー化への対策として非常に有用なものですが、日本語で出ている書籍「エリック・エヴァンスのドメイン駆動設計」や「実践ドメイン駆動設計」は非常に重厚かつ難解で、初学者が実用に到達するまでには長い時間と試行錯誤が必要なのが実情です。 そこで本書では、迷子になりがちな「DDDの目的」や「モデル」の解説からはじめ、 具体的なモデリングを行い実装まで落とす事例を元に、DDDの魅力や効果を体感することを目指します。 また、その後にはレイヤーごとの個別のトピックについて、1章ずつ詳しく解説します。 ■本書の構成 本書は以下の構成になっています。 「第1章 DD

                                                              ドメイン駆動設計 モデリング/実装ガイド - little-hands - BOOTH
                                                            • データ基盤チーム0人で運用は回るのか?! 前人未踏チャレンジ・クックパッドデータ基盤のすべて2020 - クックパッド開発者ブログ

                                                              技術部データ基盤グループの青木です。 ここ1、2年はなぜか成り行きでBFFをでっちあげたり、 成り行きでiOSアプリリニューアルのPMをしたりしていたので あまりデータ基盤の仕事をしていなかったのですが、 今年は久しぶりに本業に戻れたのでその話をします。 突然の1人チーム、そして0人へ…… 今年のデータ基盤チームは消滅の危機から始まりました。 間違いなく去年末は5人のチームだったと思うのですが、 メンバーがイギリスへグローバルのデータ基盤チームを作りに行ったり、 山へ検索システムを直しに行ったり、川へレシピ事業の分析業務をやりに行ったり、 海へ広告のエンジニアリングをしに行ったりするのをホイホイと気前よく全部聞いていたら、 なんと4月から1人だけのチームになってしまいました。 事はそれで終わりません。 恐ろしいことに10月にはわたし自身も育休に入ることになったので、 10月はデータ基盤が0

                                                                データ基盤チーム0人で運用は回るのか?! 前人未踏チャレンジ・クックパッドデータ基盤のすべて2020 - クックパッド開発者ブログ
                                                              • ソフトウェアアーキテクチャ・ ハードパーツ: Software Architecture The Hard Parts

                                                                ソフトウェアアーキテクチャ・ハードパーツ - Forkwell Library #12 での発表資料です https://forkwell.connpass.com/event/265858/ 動画: https://www.youtube.com/watch?v=6eCiC8oISYc #Forkwell_Library

                                                                  ソフトウェアアーキテクチャ・ ハードパーツ: Software Architecture The Hard Parts
                                                                • GoF デザインパターン チートシート - Qiita

                                                                  ここまで読んでくださった皆さんに、ちょっとしたクリスマスプレゼント。マンガでわかる GoF デザインパターン 23 種チートシートです。これでもうデザインパターンは完全にマスターしましたよ。やったね! (注: ここからはあとがきポエムです) ところでみなさん、せっかくデザインパターンを学んだので、これを使ってプログラムを書こう、チートシートがあるからなんでも書けそうだぞ、なんて思っていませんか。ダメですよ。そんなことしたら 2000 年前後に起きた失敗を繰り返してしまいます。 実は GoF のデザインパターンは、ビジネス的には成功したけど、教育には失敗しました。最初に出版された本に「オブジェクト指向における再利用のための」という肩書が付いていましたが、これが本当に良くなかった。 あの頃 (ポール・グレアムが LISP と Ruby を褒めるまで) は、「オブジェクト指向様こそが良い設計のす

                                                                    GoF デザインパターン チートシート - Qiita
                                                                  • DDD導入に踏み切れない方へ贈る「2層 + CQS アーキテクチャ(Flyweight DDD)」/Flyweight DDD

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

                                                                      DDD導入に踏み切れない方へ贈る「2層 + CQS アーキテクチャ(Flyweight DDD)」/Flyweight DDD
                                                                    • オブジェクト指向は業務システムで本当に不要なのか? - Qiita

                                                                      主旨 以前はシステムの状態をオブジェクト指向でカプセル化し、オブジェクト同士の通信でシステムの制御をしようとしていた しかし、Webアプリケーションのように状態をメモリ上に保持し続けるのが難しい環境が増えると、上記のことがやりにくくなった(ORMのインピーダンスミスマッチの影響が大きくなった) 現在では、システム全体の状態を管理するためにオブジェクト指向を用いるシーンは減っているが、要所要所でシステムを抽象化する道具の一つとして用いるシーンはあり、適材適所で使い続ければ良い はじめに 一時期あれだけもてはやされた「オブジェクト指向」ですが、現在では「業務システム開発においてオブジェクト指向で作るとろくなことがない」、とか、いっそ「不要である」、という意見もよく見かけます。 オブジェクト指向、この記事では特に「オブジェクト指向プログラミング」を対象として話をしますが、その利点は以下の3点に集

                                                                        オブジェクト指向は業務システムで本当に不要なのか? - Qiita
                                                                      • DDDで複数集約間の整合性を確保する方法(サンプルコードあり)[ドメイン駆動設計] - little hands' lab

                                                                        株式会社ログラスの松岡です。 本記事では、DDDに関する疑問で頻出な、複数集約間の整合性を確保する方法について、具体的なコードを交えて紹介します。 実装方法は、主に以下の3つに分かれます。 ユースケースで複数集約に更新をかける ドメインサービスを使用する ドメインイベントを使用する 目次 目次 集約の定義について 題材とする事例 実装方法1. ユースケースで複数集約を更新する メリット・デメリット 実装方法2. ドメインサービスを使用する メリット・デメリット 改善案 実装方法3. ドメインイベントを使用する ドメインイベント作成に制約をつける メリット・デメリット まとめ 集約の定義について詳しく知りたい方は 現場での導入で困ったら 集約の定義について 集約自体の説明については、本記事では割愛します。詳しくは下記の書籍「集約」の章をご覧ください。 little-hands.booth.p

                                                                          DDDで複数集約間の整合性を確保する方法(サンプルコードあり)[ドメイン駆動設計] - little hands' lab
                                                                        • SSR / SSGの理解を一段深ぼる: BFFアーキテクチャ

                                                                          BFFとは Backend for Frountendの略で、UI/UXを向上させる目的でフロントエンド専用のサーバーを用意したアークテクチャパターンです。 Webアプリケーションサーバーは下記の処理を行います。 リクエストを受ける DBからデータの取得・更新 ページを構築 (これはクライアントですることも) ページ or データの返却 このうち、「DBからデータの取得・更新」とそれ以外をフロントエンドとバックエンドの役割に明確にわけます。 BFFの役割となるサーバーをクライアントをWebサーバーの間に設け、「リクエストを受ける」と「ページ or データの返却」、場合によっては「ページの構築」をここで処理します。 こうすることで、これまでリクエストというUX関わる部分をフロントエンドエンジニアの責務に移行することができます。 ページの構築をクライアントではなくサーバーで行う場合、これもBB

                                                                            SSR / SSGの理解を一段深ぼる: BFFアーキテクチャ
                                                                          • Jason Warnerとマイクロサービス - 西尾泰和のScrapbox

                                                                            Jason Warner(Now: MD @redpoint, Prior: CTO @github, @heroku, @Canonical)がマイクロサービスについての考えをツイートしたところ「GithubのCTOが『マイクロサービスは失敗だった』と言っている」みたいに一部分だけ切り取ってバズった。そういうのは本当に良くないのでちゃんと全文を読もうよと言うことでまとめた。

                                                                              Jason Warnerとマイクロサービス - 西尾泰和のScrapbox
                                                                            • freee会計からマイクロサービスを切り出すのに4年かかりました / 4 Years for Carving Out A Micro Service from freee Accounting.

                                                                              freee会計からマイクロサービスを切り出すのに4年かかりました / 4 Years for Carving Out A Micro Service from freee Accounting.

                                                                                freee会計からマイクロサービスを切り出すのに4年かかりました / 4 Years for Carving Out A Micro Service from freee Accounting.
                                                                              • 【Atomic Designに懐疑的なあなたへ】改めて考えたい React / Next.js のデザインパターン

                                                                                フロントエンド開発は一般的に複雑性との戦いです。放ったらかしにしておくとますます複雑になり、変更するのが難しくなります。これまでにも、このような複雑さをどうにかして制御しようとして、Atomic Designをはじめとした様々な設計手法(デザインパターン)が考えられてきました。 しかし、React / Next.js を使ってチーム開発を行う際に、現状のデザインパターンでの運用では「どうもうまくいかないな」と思う場面に多々遭遇しました。そのような経験を踏まえて、「コンポーネントをどのように設計するか」「どのようにディレクトリを分けるか」を徹底的に考え、新しいデザインパターン「Tree Design」にまとめました。 Tree Design はまだまだ仮説段階です。今後弊社チームで運用していく中でブラッシュアップする予定です。しかし、他のフロントエンド開発チームがデザインパターンを再考する際

                                                                                  【Atomic Designに懐疑的なあなたへ】改めて考えたい React / Next.js のデザインパターン
                                                                                • 【レポート】インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~ #AWSSummit | DevelopersIO

                                                                                  DA事業本部の春田です。 AWS Summit Online絶賛開催中!ということで、本記事では「CUS-60: インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~」の内容についてまとめていきます。 セッション情報 株式会社カプコン システム開発部 中村 一樹 氏 株式会社カプコン システム開発部 中島 淳平 氏 DL数500万を超える大型タイトル、モンスターハンターライダーズ。 メンテフリー、省コスト、最先端、をテーマにしたカプコン史上最大のインフラアーキテクチャはどの様に設計され、どう運用されているのか。コンテナって実際どうなの、Kubernetes?ECS?RDBMSを使わずしてサービスを提供することは可能?大量アクセスにより生成されるログを安全に回収するにはどうする?実際に運用してみた経験や事例を踏まえて、カプコンの考えるクラウドネイティブ時代の

                                                                                    【レポート】インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~ #AWSSummit | DevelopersIO