64 lines
2.3 KiB
JSON
64 lines
2.3 KiB
JSON
{
|
|
"title": "`application-core`는 왜 Spring DI만 허용했을까",
|
|
"document_type": "technical_blog",
|
|
"language": "ko-KR",
|
|
"audience": {
|
|
"roles": [
|
|
"Java 백엔드 개발자",
|
|
"Clean Architecture를 적용하는 팀"
|
|
],
|
|
"prior_knowledge": [
|
|
"Spring component scanning의 기본 개념",
|
|
"Gradle multi-module의 기본 개념"
|
|
],
|
|
"needs": [
|
|
"application layer의 framework 의존 경계를 판단할 기준",
|
|
"선택 이유와 자동 검증 방법"
|
|
]
|
|
},
|
|
"reader_goal": "`application-core`에서 Spring DI는 허용하면서 transaction, web, persistence 의존은 금지한 이유와 트레이드오프를 설명할 수 있다",
|
|
"core_message": "framework-free라는 구호보다 의존 목적을 좁히고 자동 검증하는 편이 이 프로젝트의 문제에 맞았다. bean 등록을 위한 Spring DI는 허용하되 transaction, transport, persistence 정책은 application 경계 밖에 남겼다.",
|
|
"scope": [
|
|
"ca-tmpl의 `application-core` 의존성 결정",
|
|
"Spring DI 허용 이유",
|
|
"Gradle과 ArchUnit을 통한 경계 검증"
|
|
],
|
|
"non_scope": [
|
|
"모든 Clean Architecture 프로젝트의 보편 규칙",
|
|
"SLF4J 사용 이유",
|
|
"운영 환경 성능 검증"
|
|
],
|
|
"prerequisites": [
|
|
"Spring의 `@Service`, `@Component`, `@Configuration` 역할을 구분할 수 있음"
|
|
],
|
|
"required_topics": [
|
|
"수동 bean 등록의 조립 코드 비용",
|
|
"Spring DI 허용 범위",
|
|
"`spring-tx`, Spring Web, JPA 금지",
|
|
"`TransactionPort`",
|
|
"Gradle dependency matrix",
|
|
"ArchUnit rule과 정적 분석 한계"
|
|
],
|
|
"constraints": {
|
|
"target_words": 1500,
|
|
"tone": "프로젝트 문제와 선택 근거를 먼저 밝히는 직접적인 한국어 기술 블로그 문체",
|
|
"version_context": "",
|
|
"max_heading_depth": 3,
|
|
"require_citations": true,
|
|
"allow_external_knowledge": false,
|
|
"citation_style": "hidden",
|
|
"date_policy": "only_when_material",
|
|
"style_profile": "woowahan_tech_blog_ko"
|
|
},
|
|
"forbidden_claims": [
|
|
"application-core는 framework-free다",
|
|
"SLF4J를 의도적으로 사용한다",
|
|
"운영에서 검증했다"
|
|
],
|
|
"metadata": {
|
|
"owner": "architecture",
|
|
"risk": "medium",
|
|
"example_kind": "golden-reader-facing"
|
|
}
|
|
}
|