Architecture
104 articles
The Abstraction Trap in Architecture Design
Why sharing domain logic can quietly turn into architectural debt, while technical concerns can safely be shared — with nuance around authorization and PII-sensitive logging.
Viability Conditions for Building a Platform
How do you decide whether to build an internal platform? This article organizes the viability conditions from the perspectives of core/supporting/generic subdomains, comparison with external services, leverage, and organizational capacity, and examines how far domain analysis alone can take you.
What's the Difference Between Product Development and Platform Development?
Exploring how product development and platform development differ across three dimensions — decision criteria, design philosophy, and investment perspective.
Migrating bmf-tech.com from gobel to gohan — A Full Static Site Transition
The complete process of migrating bmf-tech.com from a self-built headless CMS (gobel) with MySQL and Vue.js to a fully static site on gohan, hosted on Cloudflare Pages. Covers 700+ articles, English slug generation, image migration, redirects, and a Go-based preflight checker.
Engineering in the AI Era: Evolution from Prompts to Autonomous Systems
Master Prompt as Code, PromptOps, LLM-as-Judge evaluation, Context Engineering, and Agentic Engineering for AI.
Considering Engineering in the Age of AI
Establish prompt governance with Golden Dataset validation, LLM-as-Judge evaluation, and prompt injection security.
LLM Prompt Management and Evaluation Platform Using GitHub Agentic Workflow
Manage LLM prompts as code using GitHub Agentic Workflows: Copilot-powered automation with golden datasets and evaluation.
Everything About Digital Identity: Knowledge for Realizing a Secure and User-Centric Identity System
Everything About Digital Identity: Knowledge for Realizing a Secure and User-Centric Identity System
Getting Started with Domain-Driven Design: Practical Techniques for Connecting Software Implementation and Business Strategy
Getting Started with Domain-Driven Design: Practical Techniques for Connecting Software Implementation and Business Strategy
Introduction to Digital Identity: Essential Authentication, Authorization, and ID Management for Web Services
Introduction to Digital Identity: Essential Authentication, Authorization, and ID Management for Web Services
Differentiating Architecture Strategy, Tactics, and Design
Differentiate architecture strategy, tactics, and design using 5W1H framework to clarify why, what, how, when, where, and who decisions.
Good Architecture Strategy, Bad Architecture Strategy
Exploring the differences between effective and ineffective architecture strategies.
Why and When to Write an Architecture Strategy
Develop architecture strategies to eliminate ad-hoc technology decisions and establish technology standards across teams.
OAuth 2.0 Explained: Complete Guide to Flows, Tokens, and Implementation
Summary based on RFC 6749 (OAuth 2.0 Authorization Framework) and RFC 6750 (Bearer Token Usage).
Summary of OpenID Connect 1.0 Specifications
Understand OpenID Connect specification, JWT structure, ID tokens, claims, and authentication flow details.
SAML 2.0 Explained: How SSO and Federated Identity Work
Understand SAML 2.0 and how it enables Single Sign-On (SSO), the roles of Identity Provider and Service Provider, and how it compares to OAuth 2.0 and OpenID Connect.
Key Points to Consider When Writing an ADR
Master ADR writing by focusing on atomic decisions, documenting trade-offs, team discussions, and technical writing principles for architecture.
Difference Between Requirements and Constraints
Distinguish requirements from constraints in software design using ISO 29148 definitions for effective architecture trade-offs.
Web Distribution Technology: Utilizing HTTP Cache, Reverse Proxy, and CDN
Implement HTTP caching, reverse proxy, and CDN strategies for efficient web content distribution and edge delivery.
Balancing Coupling in Software Design: Principles of Modularity for Sustainable Growth
Balancing Coupling in Software Design: Principles of Modularity for Sustainable Growth