ソフトウェアパターンの一種で、特にソフトウェアのアーキテクチャ (構造) に関するもの。
Layersパターン、MVCパターン、PACパターン等がある。
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系 http://www.kindaikagaku.co.jp/bookdata/ISBN4-7649-0283-4.htm に詳しい。
この記事の説明 アーキテクト同士の会話で出現するキーワードとその意味を集めました。 例)結合(動的、静的)、アーキテクチャ量子、通信方式など アーキテクチャ用語集 コンポーネント サービス 結合 静的結合 動的結合 結合を取り巻くトレードオフ 結合のトレードオフは厄介な問題 トレードオフの分析手法 アーキテクチャ量子 アーキテクチャ量子が重要な理由 独立してデプロイ可能 高度な機能的凝縮 高度な静的結合 サービスベースアーキテクチャの量子数 イベント駆動アーキテクチャの量子数 マイクロサービスアーキテクチャの量子数 動的な量子結合 結果整合性とは? 通信方式 同期通信 非同期通信 調整方法 オ…
参考記事 本記事は以下の二冊をもとに作成しています。アーキテクトを目指す人に対しておすすめの二冊です。 気になった方はこのページから購入していただけると自分に少しお小遣いが入るので差し入れとしてお願いいたします! スペースベースアーキテクチャが解決する課題 ほとんどのWebアプリケーションは、次のような一般的なリクエストフローに従っている。 ブラウザからの要求は、Webサーバー、アプリケーションサーバーを経て、最後にデータベースサーバーに処理が移る。 このパターンは少数のユーザーには最適ですが、ユーザーの負荷が増えると、Webサーバー層、次にアプリケーションサーバー層、最後にデータベースサーバ…
イベント駆動アーキテクチャ - ブローカータイプ - イベント駆動アーキテクチャのブローカータイプの実装方法 ブローカータイプの構造 ブローカータイプのメリット ブローカータイプの開発事例例 イベント駆動アーキテクチャ メディエイターパターンとは イベントメディエイターの実装方法 イベント駆動アーキテクチャのエラー処理 AWSでイベント駆動アーキテクチャを実装すると... イベント駆動アーキテクチャの総評 備考 参考記事 本記事は以下の二冊をもとに作成しています。アーキテクトを目指す人に対しておすすめの二冊です。 気になった方はこのページから購入していただけると自分に少しお小遣いが入るので差し…
概要 マイクロカーネルアーキテクチャは別名、プラグインアーキテクチャと呼ばれている。 コアシステムとプラグインの二つのコンポーネントで構成される比較的シンプルなアーキテクチャであり、アプリケーションのカスタムロジックの結合と分離を実現している。 プラグインアーキテクチャの用途は大きく分けて2種類あり、 パッケージ化され、単一のモノシリックなアプリとしてダウンロードされてインストールできるようなアプリケーション カスタムビジネス(国ごとのローカライズが発生するなど)アプリケーション このいずれかで使用される。 今回は前者の意味合いで(ダウンロードして使用するタイプのアプリケーションで)解説する。…
この記事の内容:ソフトウェアアーキテクチャの概要と選択 上司から任られたプロジェクトについて「アーキテクチャについてざっくり考えてきてください」といわれたとき そもそもどんなアーキテクチャが世の中にあるのか 新米アーキテクトとしてどうすればいいかわからないとき 特に、アーキテクトスタイル(アーキテクチャパターン)のことについて 参考記事 本記事は以下の二冊をもとに作成しています。アーキテクトを目指す人に対しておすすめの二冊です。 気になった方はこのページから購入していただけると自分に少しお小遣いが入るので差し入れとしてお願いいたします! アーキテクチャを学ぶ意味 アーキテクチャとは 世間一般の…
個人開発(趣味プロジェクト)でプロダクトを作りながら, 本職の仕事でソリューションアーキテクトっぽいことをしているマンです*1. 最近は個人開発のネタとして, プロ野球選手の成績予測プロジェクト ヘルスケア周りの自分専用プロダクト開発 この2本軸で週末エンジニアリングをしているのですが, これらの事をしているうちに, Webアプリケーション + 分析用のデータ基盤の最小セット, みたいなパターンが見えてきた クラウドにおけるサービスの選び方・スケール(=拡張)するときに気をつけるべき勘所 みたいなのがまとまってきました. せっかくなので, 言語化した上で再現性をもたせよう!という主旨でこのエン…
大規模災害が起こった時の災害対策パターン、基本的なことだけど名前も含めて忘れがちになるので備忘のためにまとめておきます。 前提でわかっておきたいRTO / RPO RTO(Recovery Time Objective / 目標復旧時間) RPO(Recovery Point Objective / 目標復旧時点) 【本題】災害復旧のためのパターン バックアップ&リストア RTOとRPOについて コールドスタンバイ / パイロットライト RTOとRPOについて ウォームスタンバイ RTOとRPOについて ホットスタンバイ / マルチサイト RTOとRPOについて パターンまとめ 前提でわかって…
hachibeechan.hateblo.jp 前回の続き そういえば、前回の記事のブコメで Behavior = TransactionScript? 実践CQRS という感じの元ネタばらし鋭い指摘をしてくれた方がいました。 90%方その通りなのですが、実装の平易さ、許容できるパターンの広さを優先するために元の定義からかなり離れてしまっており、混乱を招くかもしれないと感じたので別の用語で説明している次第です。 読み返すと文字の密度が高くて読むの大変な記事ですね。 今回は具体的な話になるのでサンプルコードとか載せられるといいなとおもいます。 スケーラブルなデータ設計の基本アイディア Store…
こんにちは。MLBお兄さんこと松村です。 MLBは60試合の短縮シーズンが終わり、ポストシーズンに突入しました。我がヤンキースは地区シリーズで敗退してしまい、現在はタンパベイ・レイズの応援に勤しんでいます。 私は .NET Core でデータベースを使ってアプリケーションを実装するときにリポジトリパターンという、データ操作の方式を使うことが多いです。 リポジトリパターンを採用するかしないかというのは賛否両論あるでしょうが、私としてはデータ操作のコードが共通化しやすく、インターフェースを使うことでテストコードが書きやすくなるという利点があるため、リポジトリパターンを使っています。 リポジトリパタ…
AI言語モデルである私は、2021年9月の知識カットオフ以降、リアルタイムの情報や過去のデータへのアクセスを持っていません。したがって、AWSソリューションアーキテクトプロフェッショナル認定が直面する過去の問題や課題に関する具体的な詳細を提供することはできません。しかし、この認定資格と受験者が遭遇する可能性のある課題に関する一般的な情報を提供することはできます。 AWS 認定ソリューションアーキテクト - プロフェッショナル認定は、Amazon Web Services(AWS)が提供する上級レベルの認定です。この資格は、AWS上でスケーラブルで可用性の高い、耐障害性の高いアプリケーションを設…
ビジネスアプリケーションとビジネスルール 用語について パターン適用前 Specification パターン Hard Coded Specification Parameterized Specification Composite Specification 条件の再利用性が向上する テスト性が向上する ルールと条件を統一したインターフェースで扱える 動的にルールを構成できる まとめ 関連するデザインパターン Strategy パターン Composite パターン Interpreter パターン 参考文献 補足
エンベデッドシステムスペシャリスト試験を受験する方向けに、午前Ⅱ対策を中心としたチートシートを用意しました。 こちらは、あくまで試験合格を目的とした内容になっていますので、きちんと学習したい方は、過去問題解説ページ等をご覧ください。 午前 午後 速報 (adsbygoogle = window.adsbygoogle || []).push({}); 試験別 午前Ⅰ 同時開催の応用情報技術者試験午前問題と同じ問題が出題されます。(80問中30問)よって、対策は応用情報技術者のページを参考にしてください。 なお、午前Ⅰは応用情報or高度区分の合格か、午前Ⅰの部分合格により、2年間の免除を受けられ…
Qrio Smart Lock 初代モデルのサービス終了 アプリとの接続による解施錠などは急に使えなくなることはないが、アカウント認証情報の更新やカギ情報の更新など、セキュリティに関わる重要な機能の担保ができないため、使い続けないでほしいとユーザーに呼び掛けている。 Qrio Smart Lockの初代モデルがサービス終了とのこと。僕自身は二代目モデルを使っているので今のところは影響がないのだけど、将来的なリスクに少し憂鬱になった。結局はオートロック機能の後付けのためにしか使っておらず、物理鍵で開けているからカギ情報は完全に抹消して登録不可にできた方が安全なのかもしれない。インキーロックすると…
部門の勉強会でオライリーから出ている「ソフトウェアアーキテクチャの基礎」という本を読んでいる。アーキテクチャのパターンランゲージを手に入れることを主眼にしているので、第2部から読んでる。 www.oreilly.co.jp 内容的に同意できないところもあるし、「そのネーミングはどうなのか?」と思うこともしばしばだけども知識の整理にはなるし、何より「うーん、どうなの?」という内容の方が勉強会が盛り上がるというのはあるので、楽しくやっているところ。 で、次回は15章の「スペースベースアーキテクチャ」である。「すぺーす?宇宙?」という感じでまったく聞いたことがない名前なんだけれども、インメモリDBグ…
「ソフトウェアアーキテクチャの基礎」を読んだので、印象に残った点などをまとめていきます。 ソフトウェアアーキテクチャとは 本書では冒頭で、「ソフトウェアアーキテクチャとはなにか」について定義しており、ソフトウェアアーキテクチャとは、以下の4つの組み合わせであるとしています。 システムの構造 そのシステムを実装するアーキテクチャスタイルの種類(マイクロサービスやレイヤードなど)を指します アーキテクチャ特性 いわゆる非機能要件と言われるものがこれに該当します。 例としては、セキュリティ、パフォーマンス、可用性、テスト容易性などが挙げられます。 アーキテクチャ決定 システムをどのように構築すべきか…
業務でいわゆる軽量DDDを採用しているシステムを扱っており、そのアーキテクチャの理解を深めるために「実践ドメイン駆動設計」を読んでみました。 戦略的DDDと戦術的DDD 本書を読む前から、DDDには戦略的DDDと言われるものと、戦術的(軽量)DDDと言われるものがあることはなんとなく知っていました。 戦略的DDDとはざっくり以下のようなことを意識してシステム開発をすることで、 ドメインエキスパートとエンジニアが協力してユビキタス言語やドメインモデルを作り上げる ドメインモデルは、全部入りの一つの大きなモデルを作るのではなく、ドメインをサブドメイン(コアドメイン、支援サブドメイン、汎用サブドメイ…
BLoCパターンとは BLoCパターンはアプリケーション開発に用いられるアーキテクチャパターンの一つ。 ざっくり以下のような特徴がある。 UIとビジネスロジックを分離する streamを利用してイベントと状態を管理する 次の記事に非常にわかりやすく説明されている。詳細が知りたい方はこちらを参照してほしい。 www.flutteris.com この記事では私が実装する際の備忘録として記載する。 実装方法 まずポイントから列挙する。以下の手順で実装するとBLoCパターンでの実装が可能。 状態管理用BLoCクラスの作成 イベントクラスの作成 Observerクラスの作成 Observerクラスの配置…
現代のフロントエンドは、フロントエンドから距離のある人にとっては混乱に満ち満ちた近寄りがたい存在に映ります。かくいう自分がそうでした。サーバサイドのコードはそれなりに書けたし、アーキテクチャパターンや関数型プログラミングなどのトピックにキャッチアップして習熟できてもいました。 ではフロントエンドはどうかというと… 苦手意識が強かった。フロントエンドなのになんでnode.js要るのかよくわからないし、双方向データバインディング?フレームワークはどれがいいの… など、容易に混乱をきたします。 この記事は転職を機にフロントエンドに入門するまでの学習記録を書いたものです。 入門!これだけ読んどけ!的な…
目次: はじめに: ドメイン駆動設計とは ドメイン駆動設計の要素 戦術的設計パターン 戦略的設計: ドメイン駆動設計のコンテキストマッピング ドメイン駆動設計の実践 ドメイン駆動設計とアーキテクチャ 結論: ドメイン駆動設計の採用を検討する 1. はじめに: ドメイン駆動設計とは ドメイン駆動設計 (Domain-Driven Design, DDD) は、ソフトウェア開発プロセスにおいて、ビジネスドメイン(業務知識や業務要件)を中心に据え、それを表現するソフトウェア設計手法の一つです。ドメイン駆動設計は、エリック・エヴァンスによって開発されました。 この設計手法は、ビジネス要件が複雑で変更が…
ヒューマンインタフェースをもつシステムにおいて,機能とヒューマンインタフェースの相互依存を弱めることによって,修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか。 MVC イベントシステム マイクロカーネル レイヤ 解答・解説 (adsbygoogle = window.adsbygoogle || []).push({}); 解答 ア 解説 ー MVCー イベントシステムー マイクロカーネルー レイヤー 参考書・問題集 参考情報 分野・分類 分野 テクノロジ系 大分類 開発技術 中分類 システム開発技術 小分類 設計 出題歴 ES 令和3年度秋期 問21 ES 平成2…
ヒューマンインタフェースをもつシステムにおいて,機能とヒューマンインタフェースとの相互依存を弱めることによって,修正性や再利用性を向上させることを目的としたアーキテクチャパターンはどれか。 MVC イベントシステム マイクロカーネル レイヤー 解答・解説 (adsbygoogle = window.adsbygoogle || []).push({}); 解答 ア 解説 ー MVCー イベントシステムー マイクロカーネルー レイヤーー 参考書・問題集 参考情報 分野・分類 分野 テクノロジ系 大分類 開発技術 中分類 システム開発技術 小分類 設計 出題歴 SA 令和5年度春期 問4 前問 一…
システムアーキテクト試験を受験する方向けに、午前Ⅱ対策を中心としたチートシートを用意しました。 こちらは、あくまで試験合格を目的とした内容になっていますので、きちんと学習したい方は、過去問題解説ページ等をご覧ください。 当ページの内容は動画(YouTube)でも公開していますので是非ご利用ください。 (adsbygoogle = window.adsbygoogle || []).push({}); 試験別 午前Ⅰ 同時開催の応用情報技術者試験午前問題と同じ問題が出題されます。(80問中30問)よって、対策は応用情報技術者のページを参考にしてください。 なお、午前Ⅰは応用情報or高度区分の合格…
すべてはトレードオフである!(ばばばばーん) 2022年3月刊行、ITエンジニア本大賞2023にもノミネートされた良著と名高い一冊。今回も翻訳は島田浩二さんです。 ソフトウェアアーキテクトやテックリードに(たぶん)近い位置にいる身としてもこれはいつか読まねば!と思っていたのですが、オライリーの2023年カレンダーと一緒に物理本で買ってきてじっくり読みました。以下、各章ごとに読書記録や感想など。
こんにちは。弁護士ドットコム クラウドサイン事業本部 Product Engineering 部の須山と申します。CloudSign はサービスを開始してから約 7 年が経過しています。その間数多くの機能追加・拡張を続けている中で技術的な負債を残していくことは、どの企業でもよくある話ではないでしょうか。そんな中 CloudSign では技術的負債を解消することを主な目的としたチームを 2 年程前から結成して、日々改善活動を進めています(それ以外にも、新機能の技術検証や基盤開発も担当しています) 今回はチーム発足時から活動しているモノリシックアプリケーションの分割に関してやってきたことをまとめま…