ApplicationEventPublisher란? 이벤트 리스너는 발생된 event에 반응하고 이벤트 리스너는 발생된 event를 전달받아 이벤트에 담긴 데이터를 기반으로 특정한 기능을 수행합니다. 🤔 왜 ApplicationEventPublisher를 사용해야할까? 아래는 회원가입 상황입니다. 클라이언트가 회원가입을 완료하면 가입 축하 알림 발송과 축하 할인 쿠폰을 발송하고 있습니다. 이는 절차지향적 관점에서는 당연한 순서이지만 몇가지 문제점을 가지고 있습니다. @Service @Transactional @RequiredArgsConstructor public class MemberService { private final MemberCouponService memberCouponService; pri..
💡 Server Sent Event란? HTTP 스트리밍을 통해 서버에서 클라이언트에게 단방향으로 알림을 전송할 수 있는 HTML5 표준 기술입니다. EventStream의 최대 개수는 HTTP/1.1 사용시 6개, 간단히 말해 크롬탭을 6개까지 이용가능하며 HTTP/2 사용시 최대 100개까지 유지할 수 있다고 합니다. JavaScript의 EventSource를 사용하여 커넥션을 맺을 수 있으며, 접속에 문제가 발생한 경우 자동으로 재시도를 하는 특징을 가지고 있습니다. IE에서는 EventSource를 기본적으로 제공하고 있지 않지만 polyfill이라는 것을 사용하여 구현할 수 있지만 이제 IE는 떠났으며 걱정하지 않아도 괜찮지 않을까? 합니다. 클라이언트에서 페이지를 닫아도 서버가 이를 체킹하기..
추상 팩토리 패턴이란? 서로 관련성 있는 객체들을 인터페이스로 규격화하여 팩토리에서 일정한 방식으로 생성하는 패턴입니다. 구체적으로 어떤 클래스의 인스턴스를 사용하는지 감출 수 있습니다. 팩토리 메서드 패턴과 굉장히 유사하지만 초점은 클라이언트에게 있다고 생각하시면 됩니다. 추상 팩토리 패턴 목적 차제가 클라이언트 코드에서 인스턴스를 만들어서 쓰는 코드를 인터페이스 기반으로 코딩을 할 수 있게끔 도와주는 패턴입니다. 추상 팩토리 구조 클래스 다이어그램 추상 팩토리 패턴을 사용한 예제 1) 💡Abstract Factory와 Concrete Factory // 추상 팩토리 public interface ShipFactory { Anchor createAnchor(); Wheel createWheel(); }..
팩토리 메서드 패턴이란? 객체를 생성하기 위한 인터페이스를 정의하고 어떤 클래스의 인스턴스를 생성할지에 대한 처리는 서브 클래스가 결정하는 디자인패턴입니다. new 키워드를 호출해 객체를 생성하는 역할을 서브 클래스에 위임하는 것입니다. 그렇기 때문에 팩토리 메서드 패턴은 객체를 만들어 내는 공장 패턴이라 할 수 있습니다. 클래스의 인스턴스를 만드는 일은 서브 클래스에게 맡깁니다. 클래스 다이어 그램 💡 다양한 구현체(Product)가 있고, 그중에서 특정한 구현체를 만들 수 팩토리(Creator)를 제공할 수 있습니다. 💡 Product 인스턴스 생성시 큰 틀을 결정하는 추상 클래스 및 인터페이스입니다. 구체적인 내용(구현부)은 ConcreteProduct에서 결정합니다. 💡 ConcreteProduc..
- Total
- Today
- Yesterday
- space based architecture
- 람다 표현식
- spring boot excel download oom
- pipeline architecture
- microkernel architecture
- redis 대기열 구현
- java userThread와 DaemonThread
- transactional outbox pattern spring boot
- 트랜잭셔널 아웃박스 패턴 스프링부트
- 공간 기반 아키텍처
- spring boot 엑셀 다운로드
- pipe and filter architecture
- 레이어드 아키텍처란
- spring boot redisson destributed lock
- 서비스 기반 아키텍처
- 자바 백엔드 개발자 추천 도서
- redis sorted set으로 대기열 구현
- service based architecture
- spring boot redis 대기열 구현
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot excel download paging
- spring boot poi excel download
- polling publisher spring boot
- redis sorted set
- spring boot redisson 분산락 구현
- transactional outbox pattern
- spring boot redisson sorted set
- @ControllerAdvice
- java ThreadLocal
- JDK Dynamic Proxy와 CGLIB의 차이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |