Application Architecture
Class Design Basics — SOLID Principles and Inheritance vs Composition
Application Architecture
Domain Logic — Transaction Script vs DDD
Application Architecture
Error Handling — Systems That Recover After Falling
Application Architecture
Naming and Code Conventions — End Debates with Automation
Application Architecture
Application Architecture Overview — The Internal Rules
Software Architecture
API Design Basics — REST / GraphQL / gRPC / WebSocket
Software Architecture
Authentication & Session Design — Server Session vs JWT
Software Architecture
Choosing a Framework — Spring / Next.js / FastAPI / Rails
Software Architecture
Choosing a Programming Language — TS / Python / Java / Go / Rust
Software Architecture
Choosing Module Design — Layered / Hexagonal / Clean
Software Architecture
Software Architecture Overview — Navigating a Domain Full of Camps
Software Architecture
Choosing Overall Structure — Monolith / Microservices / Modular Monolith
Software Architecture
Transaction Design — ACID / Eventual Consistency / Saga / Outbox
System Architecture
Choosing Application Form — Web / Native / Hybrid
System Architecture
BCP / DR Design Rules — RPO, RTO, and the 3-2-1 Backup Rule
System Architecture
Choosing a Cloud Vendor — AWS / Azure / GCP
System Architecture
Cloud Cost Management (FinOps) — Defend with Design, Polish in Operations
System Architecture
Datastore Placement Strategy — Combining RDBMS / NoSQL / Cache / Search
System Architecture
Choosing a Deployment Model — On-Prem / Cloud / Hybrid
System Architecture
Monitoring & Ops Overall Design — The 3 Pillars of Observability and the 4 Golden Signals