アーキテクチャ

SAML 2.0 仕様まとめ

アーキテクチャ

OASIS Security Assertion Markup Language (SAML) 2.0 に基づく要点整理。 概要 SAML(Security Assertion Markup Language)は、XMLベースの認証・認可データ交換標準。 異なるセキュリティドメイン間で、ユーザーの認証情報や属性情報を安全にやり取りするためのフレームワーク。主にエンタープライズ環境でのSSO(シン...

SAML 認証 認可

OpenID Connect 1.0 仕様まとめ

アーキテクチャ

OpenID Connect Core 1.0 に基づく要点整理。 RFC用語(RFC 2119) 用語 意味 MUST / REQUIRED / SHALL 絶対的な要求事項 MUST NOT / SHALL NOT 絶対的な禁止事項 SHOULD / RECOMMENDED 推奨(特別な理由がない限り従うべき) SHOULD NOT / NOT RECOMMENDED...

OIDC 認証 認可

OAuth 2.0 仕様まとめ

アーキテクチャ

RFC 6749(OAuth 2.0 Authorization Framework)およびRFC 6750(Bearer Token Usage)に基づく要点整理。 RFC用語(RFC 2119) 用語 意味 MUST / REQUIRED / SHALL 絶対的な要求事項 MUST NOT / SHALL NOT 絶対的な禁止事項 SHOULD / RECOMMENDED...

OAuth 認証 認可

ADRを書くときに抑えておくべきポイント

アーキテクチャ

ADR(Architecture Decision Record)は、ソフトウェアアーキテクチャに関する重要な意思決定を記録するためのドキュメントである。 ADRを書く内容が決まっていても実際書いてみると人によって内容がバラついたり、そもそも何を書けば良いのか分からなかったりして、形骸化してしまうことがある。 私の経験上大事だと思うことを4つにまとめた。 1:意思決定を一つに絞る(Atomicit...

Architecture Decision Record 設計 アーキテクチャ

要件と制約の違い

アーキテクチャ

ソフトウェア開発の現場で、「要件(Requirements)」と「制約(Constraints)」の違いに悩んだことはないだろうか。 私は設計を考える際に、この2つの概念を混同してしまうことがあった。 適切な設計を行うために、これらの違いを明確に理解することが大事であると感じたので、これらの違いについてシステム工学の国際標準である ISO/IEC/IEEE 29148 の定義をベースに整理してみた...

制約 要件 要求 設計 アーキテクチャ

Web配信の技術―HTTPキャッシュ・リバースプロキシ・CDNを活用する

アーキテクチャ

Web配信の技術―HTTPキャッシュ・リバースプロキシ・CDNを活用するを読んだ。 Webのコンテンツ配信におけるキャッシュについて網羅的に書かれている。キャッシュ最適化を考える際に手元に置いておきたい。 ...

キャッシュ リバースプロキシ CDN

ソフトウェア設計の結合バランス 持続可能な成長を支えるモジュール化の原則

アーキテクチャ

ソフトウェア設計の結合バランス 持続可能な成長を支えるモジュール化の原則を読んだ。 この本は結合をテーマにした珍しい本で、アーキテクチャ設計の複雑性をどう管理するかを理論的に学べる本。 複雑性をどう管理するかはアーキテクチャの寿命を決めるようなものだと思っているが、そのための分析観点として結合について深く学ぶことができる。 一回読んだだけでは頭に入り切らなかったので、設計するときなど辞書的に参照で...

設計

プラットフォーム・エンジニアリングとは何か

アーキテクチャ

概要 本記事では、プラットフォーム・エンジニアリングの定義、必要性、実現方法、導入判断について解説する。 プラットフォーム・エンジニアリングは、開発者がアプリケーション開発に専念できるよう、複雑なインフラや運用プロセスを共通基盤として抽象化・提供する専門分野である。組織の規模拡大に伴い顕在化する開発者の認知負荷、開発スピードのボトルネック、標準化の欠如といった課題を根本的に解決する。 本記事では、...

プラットフォーム・エンジニアリング

クリーンコードクックブック ―コードの設計と品質を改善するためのレシピ集

アーキテクチャ

クリーンコードクックブック ―コードの設計と品質を改善するためのレシピ集を読んだ。 本全体を通して、全単射と偶発的複雑さの概念について教えてくれる本であり、コードの設計と品質を改善するテクニックを学ぶことができる。 よく見知った法則なども網羅的に書かれているので、手元に置いておきたい一冊。 ...

設計

システム設計面接の傾向と対策

アーキテクチャ

システム設計面接の傾向と対策を読んだ。 面接対策というテーマではあるが、システム設計のパターンを学ぶにもちょうど良い。 作問する側にとっても参考になると思う。 システム設計の勘所を抑えた質問のパターンについても参考になる部分があるので、システム設計面接ではない技術面接の面接官にとっても役立ちそう。 この手の本は少ないが、アーキテクチャの設計事例やパターンについて実例に近い形で学ぶことができる本はも...

システム設計 アーキテクチャ