[Loop:PAK] 7주차 WIL

2025. 12. 6. 23:49·외부활동/루퍼스 2기

🧠 이번 주에 새로 배운 것

  • event와 command의 개념과 차이점을 새롭게 공부하였습니다.
  • @TransactionalEventListener의 before_commit, after_commit의 흐름과 사용시 장단점을 알게 되었습니다.
  • Spring Application Event는 내부 이벤트 발행이며, 하나의 애플리케이션 안에서 물리적 트랜잭션을 분리하는 목적이 주된 이유일때 효과가 크다는 것을 배웠습니다.

 

💭 이런 고민이 있었어요

  • 어떤 비즈니스를 이벤트 발행할까 하는 고민이 있었습니다. 실무에서의 선택 기준도 궁금하였습니다.
  • 사용자 활동 로깅을 이벤트 발행하고 있었습니다. 이를 이벤트 체이닝으로 구성할지 이벤트 발행을 하는 계층에서 같이 발행할지 고민했습니다. 
  • 이벤트 코드 배치를 어떻게 할지 고민했습니다. EventListener는 interfaces 계층, Event는 domain 계층에 생성하였습니다.

 

💡 앞으로 실무에 써먹을 수 있을 것 같은 포인트

  • @TransactionalEventListener before_commit보단 after_commit + @async 조합으로 맛있게(?) 적용할 대상을 찾아서 사용해보려고 합니다.
  • eventListenr의 위치도 interfaces이기 때문에 controller처럼 로직이 있으면 안됩니다. application 계층 혹은 domain 계층에 위임을 해야 합니다.

 

🤔 아쉬웠던 점 & 다음 주에 해보고 싶은 것

  • 구현에 치중하느라 테스트 코드를 꼼꼼하게 작성하지 못했습니다.
  • 코드가 깔끔한 느낌을 받지 못했습니다. 구현도 중요하지만 가독성도 챙겨야 겠습니다.
저작자표시 (새창열림)

'외부활동 > 루퍼스 2기' 카테고리의 다른 글

[Loop:PAK] 8주차 WIL  (0) 2025.12.16
[루퍼스/루프백 2기] Kafka At-Least-Once 전송과 Consumer 멱등성 구현기  (0) 2025.12.16
[루퍼스/루프백 2기] Event-Driven Architecture 도입기: Command와 Event, 그리고 트랜잭션 경계  (0) 2025.12.06
[Loop:PAK] 6주차 WIL  (0) 2025.12.04
[루퍼스/루프백 2기] 실패를 실패로 끝내지 않는 법: Circuit Breaker의 철학  (0) 2025.12.04
'외부활동/루퍼스 2기' 카테고리의 다른 글
  • [Loop:PAK] 8주차 WIL
  • [루퍼스/루프백 2기] Kafka At-Least-Once 전송과 Consumer 멱등성 구현기
  • [루퍼스/루프백 2기] Event-Driven Architecture 도입기: Command와 Event, 그리고 트랜잭션 경계
  • [Loop:PAK] 6주차 WIL
소프
소프
  • 소프
    기회는 찬스
    소프
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • Language (20)
        • Java (19)
        • Design Pattern (1)
      • Tech (27)
        • Spring (19)
        • JPA (3)
        • QueryDSL (1)
        • Gradle (4)
      • 개발 생각 (1)
      • IT Book (0)
        • 자바_스프링 개발자를 위한 실용주의 프로그래밍 (0)
      • Database (4)
        • Mysql (4)
        • Redis (0)
      • 네트워크 (1)
      • 운영체제 (2)
      • IDE (12)
        • Intellij (9)
        • vscode (2)
        • datagrip (1)
      • 인프라 (11)
        • Docker (2)
        • Jenkins (7)
        • Github Actions (1)
        • GCP (1)
      • 형상관리 (2)
        • gitlab (2)
        • git (0)
      • 외부활동 (44)
        • CS 면접 끝장내기 - 데이터베이스 1기 (5)
        • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
        • CS 면접 끝장내기 - 자바 2기 (0)
        • TDD, 클린 코드 with Java 17기 (7)
        • ATDD, 클린 코드 with Spring 8기 (6)
        • 루퍼스 2기 (21)
      • 프로젝트 (0)
      • 회고 (6)
      • 기타 (1)
        • 제미니의 개발 실무 (0)
  • 블로그 메뉴

    • 홈
    • Github
    • LinkedIn
    • 방명록
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.6
소프
[Loop:PAK] 7주차 WIL
상단으로

티스토리툴바