Wiki Log
위키 변경 사항을 시간순으로 기록하는 로그. 최신 항목이 위에 위치한다.
[2026-07-31] update | Testing 카테고리 구조 재정리 - TDD와 일반 테스트 주제 분리
- 문제:
testing/카테고리의 하위를tdd/하나로만 두어, TDD가 아닌 일반 테스트 문서 3개가/docs/testing/tdd/경로에 들어가 있었음- 특히
self-testing-code.md는 “TDD와 같은 것이 아니다"가 문서의 핵심 주장인데 URL이/docs/testing/tdd/self-testing-code/로 자기 주장과 모순 test-pyramid-and-scope.md,self-testing-code.md는 작성 시점에 이미tdd태그를 붙이지 않았음 (분류 불일치의 신호)
- 특히
- 이동:
testing/tdd/{test-pyramid-and-scope, self-testing-code, test-double}.md→testing/카테고리 루트- 판단 기준: TDD라는 실천법 자체를 다루면
tdd/, 테스트 일반의 개념·전략·어휘면 카테고리 루트 test-double.md는 Meszaros의 일반 테스트 어휘이므로 루트로 이동. frontmatter에서tdd태그 제거
- 판단 기준: TDD라는 실천법 자체를 다루면
- weight 재배정: 루트
test-pyramid-and-scope(1) /self-testing-code(2) /test-double(3), 서브섹션tdd/_index.md(10). 기초 → 특정 실천법 순서 - 업데이트: 크로스 링크 7개 파일 경로 갱신,
testing/tdd/_index.mddescription에서 “테스트 더블” 제거 - 업데이트:
content/docs/wiki-index.md- Testing 카테고리를 루트 3개 + TDD 서브섹션 3개로 분리 - 비고:
content/docs/testing/이 아직 미커밋 상태여서 공개된 URL 변경 없음
[2026-07-31] ingest | 미사용 TDD 소스 소진 - 테스트 피라미드 / Self-testing Code
- 배경: 직전 수집한
raw/tdd/14개 중 4개가 위키에 반영되지 않은 채 남아 있었음. 해당 소스를 읽고 문서 2개 신규 작성 - 소스:
raw/tdd/fowler-test-pyramid.md,fowler-unit-test.md,fowler-self-testing-code.md,fowler-refactoring.md - 생성:
testing/tdd/test-pyramid-and-scope.md- 피라미드 구조와 Cohn 어원, 아이스크림 콘 안티패턴, UI 테스트의 4가지 문제, Subcutaneous Test 중간층, 고수준 테스트 = 2차 방어선, 피라미드가 성립하지 않는 조건(Fowler 각주), end-to-end/UI/customer-facing 직교성, “단위” 정의 24가지 일화와 공통 요소 3가지, solitary vs sociable(Jay Fields), compile suite / commit suite 분리와 실무자별 속도 기준 - 생성:
testing/tdd/self-testing-code.md- 버그 탐지기 모형, Dave Thomas·JUnit 유래, TDD와의 구분(TDD는 경로이고 self-testing code는 상태), 진짜 이득은 변경에 대한 자신감, 두려움→기술부채 악순환 vs 안전망→선순환, 리팩터링 정의(명사/동사)와 전제 조건 관계, CI의 기둥, 프로덕션 버그 대응 프로토콜, 프로덕션 모니터링 차원 - 업데이트:
testing/tdd/tdd-overview.md- 오해 절에 “TDD와 Self-testing Code는 같은 말이 아니다” 추가, 통합 테스트 절에 피라미드 링크 - 업데이트:
testing/tdd/red-green-refactor.md,classicist-vs-mockist.md,test-double.md- 신규 문서 2개로 향하는 인바운드 링크 추가 - 업데이트:
content/docs/wiki-index.md- Testing 카테고리 6개 문서로 확장 - 결과: Testing 섹션 4개 → 6개 문서.
raw/tdd/미사용 소스 0개
[2026-07-31] ingest | TDD Raw Sources 수집 (소급)
- 사유: 아래
create | Test-Driven Development항목은 raw 소스 없이 작성됨. 3계층 아키텍처의 진실의 원천 레이어를 소급 보강 - 소스 (신규 수집,
raw/tdd/):fowler-mocks-arent-stubs.md- Martin Fowler, Mocks Aren’t Stubs (2007). Classicist/Mockist 구분과 테스트 더블 분류의 정본fowler-is-tdd-dead.md- Beck·DHH·Fowler 대담 5회분 전체 기록fowler-test-driven-development.md,fowler-unit-test.md,fowler-test-double.md,fowler-self-testing-code.md,fowler-test-pyramid.md,fowler-refactoring.md- Martin Fowler blikidhh-tdd-is-dead.md- David Heinemeier Hansson, TDD is dead. Long live testing. (2014)uncle-bob-three-rules-of-tdd.md- Robert C. Martin, The Three Rules of TDD. 원 사이트(butunclebob.com) 접속 불가로 web.archive.org 경유 수집xunitpatterns-test-double.md,xunitpatterns-mock-object.md,xunitpatterns-test-stub.md,xunitpatterns-fake-object.md- Gerard Meszaros, xUnit Test Patterns 온라인판. 테스트 더블 5분류의 정본- 미수집: Beck TDD by Example, Meszaros 서적판, Freeman&Pryce GOOS, Khorikov Unit Testing (모두 저작권 서적으로 공개 원문 없음)
- 대조 후 수정:
testing/tdd/classicist-vs-mockist.md- Fowler의 Classicist 선호 근거를 “습관에 가깝다"로 서술한 부분이 원문과 불일치. 원문이 제시한 두 근거(결과에 집중하게 됨 / 구현 결합 우려)와 Mockist를 시도할 두 조건, 캐시 예외 사례, 용어에 대한 유보를 반영 - 대조 후 보강:
testing/tdd/red-green-refactor.md- Robert C. Martin의 세 가지 금지 규칙 원문 반영
[2026-07-31] create | Test-Driven Development
- 신규 카테고리:
testing/(weight 7) - TDD, 테스트 더블, 단위/통합 테스트 범위.CLAUDE.md카테고리 테이블 갱신 - 신규 서브섹션:
testing/tdd/ - 생성:
testing/tdd/tdd-overview.md- TDD 정의(설계 기법), Beck의 두 규칙, Red-Green-Refactor 사이클, 얻는 것 4가지, 흔한 오해 4가지, “TDD is dead” 논쟁 정리 - 생성:
testing/tdd/red-green-refactor.md- 각 단계의 규칙, Green 전략 3가지(Fake It / Triangulation / Obvious Implementation), 테스트 목록 운영, 실패 패턴 6가지 - 생성:
testing/tdd/classicist-vs-mockist.md- 상태 검증 vs 행위 검증, Inside-Out vs Outside-In, 리팩터링 내성 비교, 상황별 선택 가이드 - 생성:
testing/tdd/test-double.md- Meszaros 5분류(Dummy·Fake·Stub·Spy·Mock), Mockito 매핑, 대체 판단 기준, 과용 문제 3가지 - 업데이트:
content/docs/wiki-index.md- Testing 카테고리 및 4개 문서 등재 - 크로스 링크:
architecture/ddd/repository-and-service,architecture/ddd/ddd-overview로 아웃바운드 연결
[2026-07-30] ingest | Domain-Driven Design
- 소스 (신규 수집,
raw/ddd/):evans-ddd-reference.pdf/.txt- Eric Evans, Domain-Driven Design Reference (2015, 60p, CC BY 4.0). 패턴 정의의 정본vernon-aggregate-part1~3.pdf/.txt- Vaughn Vernon, Effective Aggregate Design 3부작 (2011). Aggregate 크기 결정의 정본fowler-domain-driven-design.md,fowler-bounded-context.md,fowler-ddd-aggregate.md,fowler-ubiquitous-language.md,fowler-anemic-domain-model.md,fowler-value-object.md,fowler-cqrs.md- Martin Fowler blikimslearn-tactical-ddd.md,mslearn-domain-analysis.md,mslearn-ddd-oriented-microservice.md,mslearn-domain-model-design.md,mslearn-domain-model-validations.md- Microsoft 아키텍처 가이드
- 생성:
architecture/ddd/섹션 신규 (_index.md+ 7개 문서)ddd-overview.md- Evans의 3점 요약, 핵심 용어 5개 정의, 전략적/전술적 설계 구분, 원서 6부 구조, 흔한 오해 3가지bounded-context.md- 여러 모델이 불가피한 이유, 다의어(polyseme) 사례, 경계를 긋는 요인, Continuous Integration, 마이크로서비스 크기 기준ubiquitous-language.md- 언어가 파편화되는 방식, 언어 변경 = 모델 변경, 검증 방법, Hands-on Modelers, Model-Driven Designcontext-map.md- upstream-downstream 등 기본 용어, 9가지 관계 패턴(Partnership / Shared Kernel / Customer-Supplier / Conformist / ACL / Open-host Service / Published Language / Separate Ways / Big Ball of Mud), 선택 가이드 Mermaidaggregate.md- Vernon의 4가지 규칙, ProjectOvation 대형 Aggregate 실패 사례, 70/30 통계, 식별자 참조, 결과적 일관성과 “누구의 일인지” 판별법, 규칙을 어길 4가지 이유, BOTE 크기 검증entity-value-object.md- 동일성 기준, 식별자 전략(자연 키 vs 대리 키), Value Object 불변성, sealed 계층으로 표현 불가능한 상태 차단, JPAdata class주의, Domain Eventrepository-and-service.md- Repository는 Aggregate Root당 하나, Factory, Domain Service vs Application Service 경계, Module 패턴anemic-domain-model.md- 증상, “비용은 다 치르고 이득은 없다” 논거, Service Layer와의 혼동, 자가 진단 5항목, 벗어나는 방법
- 업데이트:
wiki-index.md- Architecture 카테고리 카탈로그 신규 작성 (8개 항목) - 비고: Architecture 카테고리의 첫 문서 묶음. 관련 블로그 글
/posts/architecture/ddd-aggregate-boundary-ticketing/를aggregate.md예제 절에서 참조
[2026-04-12] ingest | Dependency Injection
- 소스:
raw/Dependency Injection Spring Framework.md - 생성:
spring/dependency-injection.md— DI 정의, 생성자/Setter 기반 DI, 인자 해결 3가지 방식(타입/인덱스/이름), 생성자 vs Setter 비교, 의존성 해결 프로세스, 순환 의존성, DI 예제(Setter/생성자/팩토리) - 업데이트:
spring/core-technologies.md,spring/ioc-container-and-beans.md,spring/bean-overview.md— Dependency Injection 크로스 링크 추가
[2026-04-11] ingest | Bean Overview
- 소스:
raw/Bean Overview Spring Framework.md - 생성:
spring/bean-overview.md— BeanDefinition 메타데이터, Bean 오버라이딩, 네이밍/앨리어싱, 인스턴스화 3가지 방식(생성자/정적 팩토리/인스턴스 팩토리), 런타임 타입 결정 - 업데이트:
spring/ioc-container-and-beans.md,spring/container-overview.md,spring/core-technologies.md— Bean Overview 크로스 링크 추가
[2026-04-11] ingest | Container Overview
- 소스:
raw/Container Overview Spring Framework.md - 생성:
spring/container-overview.md— ApplicationContext 역할, 설정 메타데이터 3가지 방식, 컨테이너 사용법 - 업데이트:
spring/ioc-container-and-beans.md,spring/core-technologies.md— Container Overview 크로스 링크 추가
[2026-04-11] ingest | Spring Framework Overview
- 소스:
raw/Spring Framework Overview Spring Framework.md - 생성:
spring/spring-framework-overview.md— Spring 전체 소개, 역사, 설계 철학 5원칙
[2026-04-11] ingest | Spring Core Technologies
- 소스:
raw/Core Technologies Spring Framework.md - 생성:
spring/core-technologies.md— IoC, AOP, AspectJ, AOT 핵심 기술 개요
[2026-04-11] ingest | Introduction to the Spring IoC Container and Beans
- 소스:
raw/Introduction to the Spring IoC Container and Beans Spring Framework.md - 생성:
spring/ioc-container-and-beans.md— IoC/DI 원리, BeanFactory vs ApplicationContext, Bean 정의
[2026-04-09] create | Wiki 초기 설정
- LLM Wiki 패턴 적용: CLAUDE.md 스키마 생성
- Raw Sources 계층 설정:
raw/디렉토리 생성 - 카탈로그 파일 생성:
wiki-index.md - 변경 이력 파일 생성:
log.md - 기존 7개 카테고리에 description 추가
- 기존 문서: 옵저버 패턴, 전략 패턴 (Design Patterns / Head-First)