본문 바로가기
  • 장원익 기술블로그

분류 전체보기579

오버엔지니어링 하지 않기 내가 아는 거의 대부분의 개발자는 자기계발을 정말 열심히 한다. 최근 컨퍼런스에서 들었던 어떤 세션에서 재미난 말을 들었는데, 자바 스프링 진영에서 굉장히 유명하신 어떤 시니어 개발자분께서는 이런 말씀을 하셨다. “하루 3시간씩 공부하는 것을 시스템화 합니다”. 이외에도 많은 많은 개발자들은 퇴근 후 개발을 계속하며 주말에도 스터디를 진행하곤 한다. 그만큼 배우는 것도 많고 보고 직접 해보는 것도 많다. 나 역시도 그렇다. 어제는 정말 기억에 남는 하루였다. 꽤 오랜 시간동안 고민했던 문제를 드디어 이해했던 역사적인 날이고, 문제가 해결되니 그 외의 다른 것들도 술술 이해가 가던 날이었다. 그리고 월요일인 오늘 뿌듯한 마음을 유지한 채로 출근하여 업무를 하던 중, 어제 내가 한달동안 고민했던 문제와 정확.. 2022. 8. 29.
Repository Pattern - 실전편 (Spring 에서 DIP 를 통해 Repository 의 선언과 구현 분리시키기) 이 글은 이론과 실습, 두 파트로 나뉘어져 있습니다. Repository Pattern 에 대해서, 이론편 Repository Pattern - 실전편 (Spring 에서 DIP 를 통해 Repository 의 선언과 구현 분리시키기) 2022. 8. 28.
[DDD] Repository Pattern 이란, 이론편 이 글은 이론과 실습, 두 파트로 나뉘어져 있습니다. Repository Pattern 에 대해서, 이론편 2022. 8. 23.
Event-Driven-Architecture 에 대한 Overview 와 여러 고려사항들 목차 Event 란 Event Driven Architecture 란 Event Driven Architecture 의 구현 모델 Event-Driven-Architecture 에서 고려해야할 문제들 Event 란 Event 는 무엇일까? Event 의 개념은 간단하다. 이벤트는 과거에 일어난 어떠한 사건이다. Event-Streaming-Platform 에서는 이러한 이벤트를 통해서 분산된 환경에서 데이터를 주고받고 어떠한 side effect 를 일으키거나 특정 process 를 trigger 하며 어떨 대는 데이터를 동기화를 하기도 한다. 이러한 이벤트를 사용하는 이유는 여러 이유가 있겠지만 개인적으로 생각하는 가장 큰 이유는 바로 시스템간 강하게 결합된 문제라고 생각한다. 예를 들어서 다음과 같은.. 2022. 8. 22.
[Spring] ApplicationEventPublisher 를 이용해서 Event 를 발행하면 어떤 일이 일어날까 해당 글의 전체 소스코드는 github 에서 확인할 수 있습니다. README 를 참조하세요 목차 동기 There is No Magic in spring 동기 최근에 DDD 를 학습하면서 도메인 이벤트라는 것을 알게 되었다. 그러면서 Spring 에서 한 VM 안에서 이벤트를 발행하고 해당 이벤트를 handling 하는 코드를 접했고, 그와 관련해서 여러 실습을 해보던 중 Spring 에서 무언가 Magic 이 일어나고 있는것 같은 느낌을 받았다. 긴 말 필요 없이 아래의 코드를 확인해보자. @Entity(name = "orders") public class Order { public static Order create() { return new Order(); } @Id private Long id; .. 2022. 8. 15.
제어 불가능한 것을 제어하자 (2) - static method 를 mocking 하는 다양한 방법들 해당 제어 불가능한 것을 제어하자 라는 글은 2편의 시리즈로 이루어져 있습니다. static method 를 mocking 하기 힘든 이유 static method 를 mocking 하기 2022. 7. 25.