2023-05-08-TIL
2023-05-08-TIL
Today I Learned
도메인 이벤트
도메인 이벤트는 DDD의 전술적 설계 요소 중 하나로, 도메인에서 일어난 의미 있는 사건을 과거형 이름의 객체로 표현한 것이다(OrderPlaced, MemberWithdrawn). 주문이 완료되면 알림을 보내고 포인트를 적립해야 할 때, 주문 서비스가 알림과 포인트 서비스를 직접 호출하면 주문 로직이 후속 작업을 모두 알아야 한다. 대신 주문 애그리거트가 “주문이 완료됐다”는 이벤트만 발행하고 각 후속 작업이 이벤트를 구독하면 결합이 끊어지고, 새 후속 작업을 추가할 때 주문 코드를 고치지 않아도 된다.
Spring Data는 이를 위해 @DomainEvents를 제공한다. 문서에 따르면 애그리거트 루트의 메서드에 붙이면 save(), saveAll(), delete() 같은 리포지토리 메서드가 호출될 때 반환한 이벤트를 발행하고, 발행 후에는 @AfterDomainEventPublication 메서드로 이벤트 목록을 비울 수 있다. 구독 쪽은 @TransactionalEventListener로 커밋 이후에 처리하게 해서, 롤백된 변경에 대한 알림이 나가지 않게 하는 것이 일반적이다.
- https://medium.com/fistkim101/%EC%A0%84%EC%88%A0%EC%A0%81-%EC%84%A4%EA%B3%84-domain-event-aa6d11d5a544
- Publishing Events from Aggregate Roots (Spring Data Commons)
AWS 자격증 준비 자료
AWS 공식 자격증 준비 페이지는 준비 과정을 단계로 안내한다. 시험 영역을 다루는 디지털 과정, AWS Cloud Quest 같은 실습, 무료 샘플 문제와 공식 모의고사, 강사 주도 교육과 웨비나다. 학습 자료는 대부분 AWS Skill Builder에 모여 있다. 시험 응시 페이지에서는 시험 등록, 온라인 감독 응시와 시험 센터 응시 방식을 안내한다. Linux Foundation의 무료 강의 목록도 클라우드 기초를 보충할 자료로 함께 찾아 두었다.
- https://aws.amazon.com/ko/certification/certification-prep/
- https://aws.amazon.com/ko/certification/certification-prep/testing/
- https://training.linuxfoundation.org/resources/?_sft_content_type=free-course
Kubernetes 자격증
Kubernetes 공식 교육 페이지에 따르면 Linux Foundation이 운영하는 자격증은 네 가지다.
- KCNA(Kubernetes and Cloud Native Associate): 쿠버네티스와 클라우드 네이티브 생태계의 개념 지식을 묻는 입문 자격증이다.
- CKAD(Certified Kubernetes Application Developer): 쿠버네티스 위에서 애플리케이션을 설계, 구성, 노출하는 능력을 본다.
- CKA(Certified Kubernetes Administrator): 운영 수준 클러스터를 관리하는 관리자 역량을 본다.
- CKS(Certified Kubernetes Security Specialist): 빌드, 배포, 런타임 단계의 보안을 다루며 CKA 보유가 선행 조건이다.
CKA와 CKAD는 객관식이 아니라 실제 클러스터에서 명령어로 과제를 해결하는 실기형 시험이라, 후기 글들은 kubectl 명령과 공식 문서 탐색에 익숙해지는 것을 준비의 중심으로 꼽는다.
- https://hong-sam.tistory.com/179
- https://seongjin.me/how-to-prepare-cka-exam/
- https://kubernetes.io/ko/training/
- https://training.linuxfoundation.org/training/kubernetes-fundamentals/
찾아본 책
- Domain Modeling Made Functional(Scott Wlaschin): F#의 타입 시스템으로 도메인을 모델링하는 DDD 책이다. 비즈니스 규칙을 타입에 담아 잘못된 상태를 아예 표현할 수 없게 만들고, 그래서 코드가 곧 문서가 되도록 하는 접근을 다룬다. 도메인 이벤트와 워크플로를 함수의 파이프라인으로 보는 시각이 앞의 도메인 이벤트 주제와 이어진다.
Grokking Functional Programming(Michał Płachta): 객체지향 개발자를 위한 함수형 프로그래밍 입문서로, Java와 Scala 예제로 순수 함수, 불변 데이터부터 오류 처리, 동시성, 스트림까지 다룬다.
- https://www.amazon.com/Domain-Modeling-Made-Functional-Domain-Driven/dp/1680502549
- https://pragprog.com/titles/swdddf/domain-modeling-made-functional/
- https://www.manning.com/books/grokking-functional-programming
댓글
아직 댓글이 없습니다