refactor: 문서 개선 중

This commit is contained in:
donghyeon-ka
2026-09-21 14:30:55 +09:00
parent c93cdea150
commit 805a18f486
1497 changed files with 525837 additions and 59152 deletions
@@ -0,0 +1,45 @@
---
kind: PROJECT_DECISION
slug: destructive-admin-operations-are-not-autoconfigured
title: 파괴적 admin 작업은 자동설정하지 않는다
topic: assembly-ownership
topicName: 조립 소유권 — 통제와 그 의존을 같은 곳이 소유하기
project: clean-architecture-backend-template
status: 게시 전
decisionStatus: ADOPTED
source:
- final/document.md#a19
- final/document.md#10-3
- final/document.md#5-4
- final/document.md#a19 §8.1
sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916
---
# 파괴적 admin 작업은 자동설정하지 않는다
플랫폼은 파괴적 admin 작업의 보호 장치와 계약을 제공할 수 있지만, 실제 실행 서비스까지 기본 빈으로 만들지는 않는다.
## 근거
- **가드와 journal 과 durability 검증기는 켜지고, 부를 서비스가 없었다**
보호 장치와 실행 주체가 분리된 현재 조립 결과를 보여 준다.
- **꺼짐은 조건의 반복이 아니라 구조여야 한다**
능력 활성 여부를 조립 구조로 제한하는 기준이다.
## 결정문
파괴적 admin operation의 실제 실행 서비스는 자동설정하지 않는다. 애플리케이션이 사용 의도를 명시하고 필요한 의존성을 제공한 경우에만 별도 조립 경로에서 만든다.
## 판단 이유
파괴 작업은 잘못 노출됐을 때 복구 비용이 크다. 플랫폼이 클래스패스와 설정만 보고 실행 서비스를 자동 생성하면, 사용자가 기능을 선택하지 않았는데도 파괴 권한이 생길 수 있다.
가드와 journal을 자동설정하는 것은 실행 서비스 자동설정과 다르다. 보호 장치는 실행 서비스가 제공되는 경우 적용할 공통 규칙이고, 서비스 생성은 채택 애플리케이션의 책임으로 둔다.
## 영향
감수하는 것 : 기능을 쓰는 애플리케이션이 명시적인 wiring을 추가해야 한다.
얻는 것 : 라이브러리를 추가했다는 이유만으로 파괴적 operation이 실행 가능한 상태가 되지 않는다.
얻는 것 : 자동설정의 존재와 admin 권한의 존재를 구분할 수 있다.
@@ -37,7 +37,7 @@ source:
그리고 자식을 컴포넌트 스캔에서 빼는 것이 이 구조의 나머지 절반이다. 스캔이 자식 설정을 독립적으로 발견하면 루트를 우회하기 때문이다.
임포트 필터는 권한을 잃고 도구로 남는다. 프레임워크 자신의 자동설정을 후보 집합에서 빼는 일은 어떤 프로젝트 조건보다 먼저 일어나야 하므로 그 자리가 필요하지만, 능력이 켜졌는지 판정하는 것은 그 필터의 일이 아니다.
임포트 필터는 마스터 스위치를 판정하지 않고 프레임워크 자동설정을 후보 집합에서 제거하는 역할만 맡는다. 이 제거는 프로젝트 조건을 평가하기 전에 실행되어야 하지만, 능력 활성 여부는 루트 자동설정이 판정한다.
## 영향