アーキテクチャ
110 件の記事
bmf-tech.comの gobel → gohan 移行記—完全静的サイト化の流れ
自作ヘッドレスCMS(gobel)+ MySQL + Vue.js構成から、gohanによる完全静的サイトへ移行しCloudflare Pagesでホスティングするまでの全工程。700件超の記事、英語スラッグ生成、画像移行、リダイレクト、Go製プリフライトチェッカーまで。
AI時代のエンジニアリング:プロンプトから自律型システムへの進化
AI時代のエンジニアリングを考察。Prompt as Code、PromptOps、LLM-as-Judge評価、Context Engineering、Agentic Engineeringへの進化を紹介します。
AI時代のエンジニアリングについて考える
AI時代のエンジニアリングを考察。Golden Datasetによる検証、LLM-as-Judge評価、プロンプトインジェクション対策といったプロンプトガバナンスを紹介します。
GitHub Agentic Workflowを使ったLLMプロンプト管理・評価基盤
GitHub Agentic Workflowを使い、LLMプロンプトをコードとして管理する基盤を解説。Copilotによる自動化、golden dataset、評価の仕組みを紹介します。
ドメイン駆動設計をはじめよう―ソフトウェアの実装と事業戦略を結びつける実践技法
『ドメイン駆動設計をはじめよう』の書評。DDDの戦略的設計・戦術的設計を実務に適用するための考え方と実装パターンを扱う一冊。サブドメインの識別から境界づけられたコンテキスト、集約、ドメインイベント、イベントソーシングまで、それぞれの使いどころとともに解説し、DDDの入門から実践への橋渡しになる。
アーキテクチャ戦略・戦術・設計の書き分け
アーキテクチャのドキュメントを書く際に迷いがちな「戦略・戦術・設計」の書き分けを整理した記事。三層構造として捉え、Why・What・How・When・Where・Whoという5W1Hのフレームワークを使って、それぞれに何を書くべきかを明確にする。
良いアーキテクチャ戦略・悪いアーキテクチャ戦略
アーキテクチャ戦略を立てても、形だけになったり実行に移されなかったりして機能しないことがあります。この記事では、書籍『良い戦略、悪い戦略』も参照しながら、課題分析・方針・施策という要素の観点から良い戦略と悪い戦略の違いを整理します。
なぜ・いつアーキテクチャ戦略を書くべきか
なぜ・いつアーキテクチャ戦略を書くべきかについて解説する記事です。「書く時間があるなら手を動かしたい」「書いても読まれない」といった声がある一方、戦略がないまま進めるとさまざまな問題が生じます。戦略を書く意義と、書くべきタイミングを整理します。
OAuth 2.0とは?フロー・トークン・実装の完全解説
OAuth 2.0 を網羅的に解説。認可フロー・アクセストークン・リフレッシュトークン・スコープ、API セキュリティ実装のための実践的なノウハウを紹介します。
OpenID Connect 1.0 仕様まとめ
OpenID Connect Core 1.0の仕様に基づいて要点を整理した記事です。OAuth 2.0の上に認証のレイヤーを重ねる仕組みとして、IDトークンやJWTのクレーム、認証フロー、署名・暗号化といった要素を取り上げ、仕様書のポイントを実装の観点から詳しく解説します。
SAML 2.0とは?SSOとフェデレーテッドアイデンティティの仕組みを解説
OASIS SAML 2.0の仕様に基づいて要点を整理した記事です。SAML(Security Assertion Markup Language)とは何かという基本から、SSO(シングルサインオン・フェデレーテッドアイデンティティを実現する仕組みや認証のフロー、そして実装上の注意点までを解説します。
ADRを書くときに抑えておくべきポイント
ADR(アーキテクチャ決定記録)を書くときに押さえておきたいポイントを、経験をもとに4つに整理した記事。意思決定を一つに絞るアトミック性、トレードオフの記録、チームでの議論、テクニカルライティングの原則に焦点を当てる。
要件と制約の違い
ソフトウェア設計における「要件(Requirements)」と「制約(Constraints)」の違いについて、ISO 29148の定義をもとに整理した記事です。設計を考える際に混同しやすいこの2つの概念を明確に区別することで、アーキテクチャのトレードオフ判断に役立てることを目指します。
ソフトウェア設計のモジュール化の原則|結合バランスと持続可能な成長
『ソフトウェア設計の結合バランス 持続可能な成長を支えるモジュール化の原則』の書評。結合という切り口からアーキテクチャの複雑性をどう管理するかを理論的に学べる珍しい一冊。結合に関する分析の観点が非常によく整理されており、設計するときに辞書的に参照したくなる。
プラットフォームエンジニアリングとは?内部開発者プラットフォームの構築
プラットフォームエンジニアリングとは何かを解説する記事です。開発者の認知負荷を下げて生産性を高めるための内部開発者プラットフォーム(IDP:Internal Developer Platform)とはどのようなものか、その構築の考え方や、DevOps・SREといった近接する概念との関係を整理します。
システム設計面接の傾向と対策
『システム設計面接の傾向と対策』の書評。面接対策をテーマにしつつ、システム設計のパターンを学ぶのにもちょうど良い一冊。設計の勘所を押さえた質問のパターンが整理されており、受験者だけでなく作問する面接官にとっても参考になる。
セッションベースとトークンベースの認証方式について
Webアプリケーションにおける認証方式の選択について、セッションベース認証とトークンベース認証を比較して解説する記事です。それぞれの技術的な仕組みの詳細をふまえ、スケーラビリティやセキュリティ、保守性といった観点から、どちらを選ぶべきかを考えるための考慮事項を整理します。
アーキテクチャアドバイスプロセス(AAP)とは何か?
アーキテクチャアドバイスプロセス(AAP:Architecture Advice Process)とは何かについて、調べたことをまとめた記事です。意思決定を中央集権的にせず、関係者からアドバイスを受けたうえで決定者が意思決定を行うこのプロセスの考え方や、ADRとの関係、実践的な進め方を解説します。
データモデリングでドメインを駆動する──分散/疎結合な基幹系システムに向けて
『データモデリングでドメインを駆動する』の書評。帳簿という概念を軸に、基幹系システムを分散・疎結合化するデータモデリング手法を体系的に解説する一冊。活動系と経営管理系の二分類や「残」という新しい概念を提唱し、DDDやマイクロサービス化の実践的な指針を与える。
技術的な意思決定において制約やトレードオフを明示することの重要性
技術選定や設計判断を行う際に、制約やトレードオフを明示することの重要性を解説した記事です。意思決定は限られた条件下で複数の選択肢から選ぶ行為であるという前提に立ち、判断の背景を明文化することが将来の再評価や組織の成長につながる理由と、その記録の残し方を紹介します。