SMALL Spring Boot5 Event가 동작할 것만 같지? - 잔여 이벤트 처리하기 Event가 동작할 것만 같지? - Spring Event와 Domain Event 최근 팀에서 기술공유 목적의 세미나(?)를 진행했다. 사실 간단히 내용 공유 목적이었지만, 준비하다보니 할 이야기들이 많아서 발표자료까지 만들게 되버렸다! 그때 준비하면서 고민했던 내용 ramka-devstory.tistory.com 지난 포스트에서 Domain Event를 구현한 AbstractAggregateRoot의 동작과정에 대해서 알아보았다. Domain Event를 발행하는 것 역시 Spring Event를 사용하고 있었고, 여전히 부자연스러운 save 로직을 사용하여 이벤트를 발행하는 문제점이 해소되지 않았다. 이번엔 이를 해소하고자 시도했던 것들을 다뤄보고자 한다. 부자연스러운 행위를 없애자 팀원들과의 코드.. 2023. 5. 1. Event가 동작할 것만 같지? - Spring Event와 Domain Event 최근 팀에서 기술공유 목적의 세미나(?)를 진행했다. 사실 간단히 내용 공유 목적이었지만, 준비하다보니 할 이야기들이 많아서 발표자료까지 만들게 되버렸다! 그때 준비하면서 고민했던 내용과 실제로 적용한 내용을 회고 해보려 한다. 문제 상황 우리는 Spring에서 제공하는 ApplicationEventPublisher와 Spring Data 에서 제공해주는 Domain Event를 사용하고 있다. 서비스간의 의존성을 줄이기 위해서 사용하기 위해서 꽤나 많은 로직에서 사용중인 모습을 볼 수 있었는데, 여기서 문제가 되었던 건, AbstractAggregateRoot의 registerEvent() 였다. 현재 업무로 운영/유지보수를 하고 있는 나로써는 계속해서 이와 같은 반복적으로 발생하는 이슈들을 분석해보.. 2023. 5. 1. SnowFlake 적용기 - JavaScript의 자료형 문제 지난 글(SnowFlake 적용기 - 구현)에서 실제로 SnowFlake를 적용해서 채번을 진행해보았다. 채번되어 나온 값은 크다면 크다고 할 수 있는 값이 나오게 되는데, 이렇게 해서 나온 값은 JavaScript에서 문제가 된다. 클라이언트에 값을 내려주고 로직을 처리하기 위한 데이터가 온전한 형태를 유지하지 못하는 모습을 확인할 수 있었다. 이것은 JavaScript의 자료형이 감당(?) 할 수 있는 크기를 넘어서 나온것이고, 실제 문서에도 지원하는 범위가 64비트보다는 작은 모습을 볼 수 있다. JavaScript의 타입과 자료구조 - JavaScript | MDN 모든 프로그래밍 언어에는 내장된 자료구조가 존재하지만 보통 그 내용은 언어마다 다릅니다. 이 글에서는 JavaScript에서 사용할 .. 2023. 1. 10. SnowFlake 적용기 - 구현 해보자 지난 글(SnowFlake 적용기 - Unique한 값)에서는 SnowFlake를 조사하게 된 계기(?)를 이야기 했다. 이번에는 실제로 적용해보자. Twitter의 GitHub에 실제 채번을 위한 코드가 있지만, 이는 Scala로 작성되어 있었다. GitHub - callicoder/java-snowflake: Distributed Unique ID Generator in Java inspired by Twitter Snowflake Distributed Unique ID Generator in Java inspired by Twitter Snowflake - GitHub - callicoder/java-snowflake: Distributed Unique ID Generator in Java .. 2023. 1. 7. 이전 1 2 다음 LIST