[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-04-30 22:42:02 +09:00
parent 0bd4f19e38
commit c36c0644a1
4888 changed files with 18470 additions and 18602 deletions
@@ -1,10 +1,10 @@
---
id: P-REINFORCE-AUTO-55088F
id: [[P-Reinforce]]-AUTO-55088F
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - 관심사의 분리(Separation of Concerns)"
github_commit: "[P-Reinforce] Continuous Worker - 관심사의 분리([[Separation of Concerns]])"
---
# [[관심사의 분리(Separation of Concerns)]]
@@ -21,8 +21,8 @@ github_commit: "[P-Reinforce] Continuous Worker - 관심사의 분리(Separation
* **독립적인 테스트 가능성**: 개별 모듈이 외부 인프라(데이터베이스, UI 등)와 격리되어 있으므로, 가짜 객체(Mock)나 더미 데이터를 이용한 독립적인 단위 테스트가 수월해집니다 [16, 17].
* **병렬 개발 및 협업 효율성**: 역할의 경계가 명확하게 설정되므로, 여러 개발자나 팀이 서로의 작업에 간섭하지 않고 동시에 병렬로 개발을 진행할 수 있습니다 [14, 17, 18].
* **실무 적용 및 아키텍처 패턴**:
* **웹 표준 기술**: 웹 개발에서 구조를 담당하는 HTML, 표현을 담당하는 CSS, 동적 동작을 담당하는 JavaScript로 나누어 개발하는 것이 가장 고전적인 관심사 분리의 예시입니다 [19-21].
* **계층화 아키텍처 (Layered Architecture)**: 프레젠테이션 계층, 비즈니스 로직 계층, 데이터 액세스 계층 등 논리적 층으로 나누어 역할과 책임을 엄격히 분리하는 방식입니다 [22-25]. MVC(Model-View-Controller) 패턴이 대표적입니다 [22, 26].
* **웹 표준 기술**: 웹 개발에서 구조를 담당하는 HTML, 표현을 담당하는 CSS, 동적 동작을 담당하는 [[JavaScript]]로 나누어 개발하는 것이 가장 고전적인 관심사 분리의 예시입니다 [19-21].
* **계층화 아키텍처 (Layered [[Architecture]])**: 프레젠테이션 계층, 비즈니스 로직 계층, 데이터 액세스 계층 등 논리적 층으로 나누어 역할과 책임을 엄격히 분리하는 방식입니다 [22-25]. MVC(Model-View-Controller) 패턴이 대표적입니다 [22, 26].
* **마이크로서비스 아키텍처 (MSA)**: 거대한 모놀리식(Monolithic) 시스템을 작고 독립적인 비즈니스 기능(마이크로서비스)들로 쪼개어 분리하는 접근법입니다 [22, 27-29].
* **한계 및 주의사항**:
* **과도한 분리의 부작용**: 관심사를 맹목적으로 혹은 지나치게 잘게 쪼개면 추상화 계층이 늘어나고 간접 참조가 증가해, 오히려 코드의 실행 흐름을 파악하기 어렵게 만드는 '오버엔지니어링'이 발생할 수 있습니다 [30, 31].
@@ -35,7 +35,7 @@ github_commit: "[P-Reinforce] Continuous Worker - 관심사의 분리(Separation
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[단일 책임 원칙(SRP)]], 응집도(Cohesion)와 결합도(Coupling), 계층화 아키텍처(Layered Architecture)
- **Projects/Contexts:** 넷플릭스(Netflix)의 코스모스(Cosmos) 플랫폼과 마이크로서비스 전환, 스포티파이(Spotify)의 마이크로 프론트엔드 및 스쿼드 모델, HTML, CSS, JavaScript의 웹 표준 3요소 분리
- **Contradictions/Notes:** 많은 개발 가이드라인은 관심사의 분리를 선제적으로 엄격히 설계할 것을 권장하지만, 일부 전문가들은 코드 작성 초기부터 완벽하게 관심사를 예측하여 분리하는 것은 불가능하다고 주장합니다 [34, 35]. 대신, 유사한 코드가 3번 이상 반복될 때 추출하는 'Rule of Three'처럼, 반복되는 패턴을 확인한 뒤에 경험적으로 사후에 분리하는 실용적이고 점진적인 접근(DRY 원칙과 병행)을 강조합니다 [31, 35, 36].
- **Contradictions/Notes:** 많은 개발 가이드라인은 관심사의 분리를 선제적으로 엄격히 설계할 것을 권장하지만, 일부 전문가들은 코드 작성 초기부터 완벽하게 관심사를 예측하여 분리하는 것은 불가능하다고 주장합니다 [34, 35]. 대신, 유사한 코드가 3번 이상 반복될 때 추출하는 '[[Rule of Three]]'처럼, 반복되는 패턴을 확인한 뒤에 경험적으로 사후에 분리하는 실용적이고 점진적인 접근(DRY 원칙과 병행)을 강조합니다 [31, 35, 36].
---
*Last updated: 2026-04-18*