/
https://42jerrykim.github.io/ _index.md
여러 프레임에 걸쳐 같은 물체를 이어 붙이는 Multi-Object Tracking을, Tracking-by-Detection과 Tracking-by-Regression 두 접근으로 나눠 설명합니다. 저신뢰도 검출까지 활용하는 ByteTrack과 DETR 기반 TrackFormer를 다룹니다. 픽셀 단위로 분류하는 Segmentation을 FCN의 Skip Fusion부터 Mask R-CNN, U-Net의 Encoder-Decoder 구조, Transformer 기반 SegFormer, 범용 파운데이션 모델 SAM까지 원 논문과 함께 정리합니다. 시리즈 B의 마지막 챕터입니다. 디자인 패턴은 암기용 카탈로그가 아니라 반복되는 설계 문제에 대한 검증된 해법입니다. SOLID 위반 신호로 변경 지점을 찾고, GoF 패턴 분류로 해법을 매칭하며, 패턴 오남용(패턴병)을 피하는 실무 판단 기준을 정리합니다. 레이어 분리는 코드를 폴더로 나누는 작업이 아니라 의존성 방향을 통제하는 작업입니다. 전통적 3계층 구조의 한계와, 도메인을 중심에 두는 의존성 규칙(Dependency Rule)을 아키텍처 품질 속성 관점에서 비교합니다. 의존성 역전은 '인터페이스를 만들라'는 뜻이 아니라 '어느 쪽이 더 안정적이어야 하는가'를 정하는 설계 결정입니다. 안정적 의존성 원칙과 인터페이스 분리 원칙을 함께 적용해 테스트 가능한 경계를 만드는 방법을 다룹니다. 확장 포인트를 아무 데나 만들면 YAGNI 위반이고, 필요한 곳에 안 만들면 매번 기존 코드를 고쳐야 합니다. 변화 빈도와 영향도를 근거로 확장 포인트 우선순위를 정하는 기준과, 전략 기반/이벤트 기반 확장 구조를 비교합니다. DDD는 새로운 패턴 모음이 아니라 '복잡한 도메인 로직을 어디에 둘 것인가'라는 질문에 대한 답입니다. 유비쿼터스 언어와 모델 주도 설계로 Phase 4의 4개 장이 다룰 전술 패턴 빌딩 블록의 전체 지도를 그립니다. '주문'이라는 단어가 팀마다 다른 뜻이면, 하나의 모델로 억지로 통일하려는 시도 자체가 버그의 원인이 됩니다. 바운디드 컨텍스트로 모델의 경계를 정하고, 컨텍스트 맵으로 팀 간 관계를 명시적으로 표현하는 방법을 다룹니다. 엔티티와 밸류 오브젝트의 차이는 클래스 이름이 아니라 '동일성을 무엇으로 판단하는가'입니다. 식별자 기반 동일성과 구조적 동일성, 불변 객체 설계와 자가 검증 원칙을 컴파일 가능한 파이썬 예제 코드로 구분해서 정리합니다. 애그리거트는 '연관된 객체 묶음'이 아니라 트랜잭션 일관성의 경계입니다. 애그리거트 루트로 불변조건을 강제하고, 리포지터리로 그 경계 단위 영속화를 다뤄 DDD 전술 설계에 해당하는 Phase 4를 마무리 짓습니다.