2.4 KiB
2.4 KiB
id, category, confidence_score, tags, last_reinforced
| id | category | confidence_score | tags | last_reinforced | |||||
|---|---|---|---|---|---|---|---|---|---|
| P-REINFORCE-AUTO-PARC-001 | 10_Wiki/💡 Topics/AI | 0.95 |
|
2026-04-20 |
Principles-of-Architecture
📌 한 줄 통찰 (The Karpathy Summary)
"지속 가능한 복잡성을 위한 약속: 시스템이 커져도 무너지지 않도록, 구성 요소 간의 결합을 끊고 소통 방식을 표준화하는 거시적 설계 원칙."
📖 구조화된 지식 (Synthesized Content)
소프트웨어 아키텍처 원칙(Principles of Architecture)은 복잡한 시스템을 효율적으로 구축하고 유지보수하기 위해 지켜야 할 기본 지침입니다.
- 가장 핵심적인 3대 원칙:
- Separation of Concerns (관심사 분리): 핵심 로직, 데이터 접근, UI 처리를 명확히 분리하여 한 부분의 변화가 전체를 흔들지 않게 함.
- Abstraction (추상화): 구현의 세부 사항을 감추고 인터페이스만 노출하여 시스템간 결합도를 낮춤.
- Modularity (모듈화): 독립적으로 재사용 가능한 단위로 시스템을 쪼개어 확장성 확보.
- 품질 속성 (Quality Attributes):
- Scalability: 늘어나는 부하에 대응할 수 있는가?
- Resilience: 장애 시 복구 가능한가?
- Maintainability: 읽기 쉽고 고치기 쉬운가?
- 설계 접근법:
- Monolithic vs Microservices: 비즈니스 규모와 팀 구조에 따른 선택.
- Layered Architecture: 계층별 역할 분담을 통한 구조적 통제.
⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- 과거 데이터와의 충돌: 과거에는 '완벽한 미리 설계(Upfront Design)'를 권장했으나, 현대 아키텍처는 비즈니스 변화에 유연하게 대응하는 '진화적 아키텍처(Evolutionary Architecture)'와 'Agile 설계'를 지지함.
- 정책 변화(RL Update): 클라우드 네이티브 환경으로의 전환 정책에 따라, 모든 시스템 아키텍처는 '장애를 가정하고 설계(Design for Failure)'해야 한다는 안정성 최우선 정책이 글로벌 표준이 됨.
🔗 지식 연결 (Graph)
- Object-Oriented-Design-Patterns, Software-Design-Principles, Polymorphism-in-Engine-Architecture, Complexity Theory, System Thinking
- Modern Tech/Tools: Kubernetes, Docker, AWS Well-Architected Framework.