ApplicationEventPublisher란? 이벤트 리스너는 발생된 event에 반응하고 이벤트 리스너는 발생된 event를 전달받아 이벤트에 담긴 데이터를 기반으로 특정한 기능을 수행합니다. 🤔 왜 ApplicationEventPublisher를 사용해야할까? 아래는 회원가입 상황입니다. 클라이언트가 회원가입을 완료하면 가입 축하 알림 발송과 축하 할인 쿠폰을 발송하고 있습니다. 이는 절차지향적 관점에서는 당연한 순서이지만 몇가지 문제점을 가지고 있습니다. @Service @Transactional @RequiredArgsConstructor public class MemberService { private final MemberCouponService memberCouponService; pri..
서론 상속의 첫 번째 용도는 타입 계층을 구현하는 것입니다. 타입 계층의 관점에서 부모 클래스는 자식 클래스의 일반화이고 자식 클래스는 부모 클래스의 특수화입니다. 상속의 두 번째 용도는 코드 재사용입니다. 상속을 사용하면 점진적으로 기능을 확장해나갈 수 있습니다. 다만 부모 클래스와 자식 클래스 간에 강하게 결합되기 때문에 변경이 어려워집니다. 우리는 상속을 코드 재사용의 목적이 아닌 타입 계층을 구현하기 위해서 상속을 사용해야 합니다. 타입 객체지향 프로그래밍 언어에서 타입을 이해하기 위해서는 프로그래밍 언어 관점에서의 타입과 개념 관점에서의 타입을 살펴봐야합니다. 타입은 적용 가능한 오퍼레이션의 종류와 의미를 정의함으로써 코드의 의미를 명확하게 전달하고 개발자의 실수를 방지하기 위해서 사용합니다. ..
서론 상속의 목적은 코드를 재사용하기 위함이 아닙니다. 상속은 타입 계층을 구조화하기 위해서 사용해야하며 조금 더 쉽게 이해하자면 같은 범주로 묶기 위해서 사용해야 합니다. 다형성 다형성이란 그리스어에서 "많은"을 의미하는 poly와 "형태"를 의미하는 morph의 합성어로 "많은 형태를 가질 수 있는 능력"을 의미합니다. 컴퓨터 과학에서는 다형성을 하나의 추상 인터페이스에 의해 코드를 작성하고 이 추상 인터페이스를 활용하여 서로 다른 구현을 연결할 수 있는 능력으로 정의하고 있습니다. 💡 다형성의 분류 다형성은 아래와 같은 사진처럼 분류할 수 있습니다. 매개변수 다형성이란? 매개변수 다형성이란 제네릭 프로그래밍과 관련이 높습니다. 클래스의 인스턴스 변수나 메서드의 매개변수 타입을 임의의 타입으로 선언한..
💡 Server Sent Event란? HTTP 스트리밍을 통해 서버에서 클라이언트에게 단방향으로 알림을 전송할 수 있는 HTML5 표준 기술입니다. EventStream의 최대 개수는 HTTP/1.1 사용시 6개, 간단히 말해 크롬탭을 6개까지 이용가능하며 HTTP/2 사용시 최대 100개까지 유지할 수 있다고 합니다. JavaScript의 EventSource를 사용하여 커넥션을 맺을 수 있으며, 접속에 문제가 발생한 경우 자동으로 재시도를 하는 특징을 가지고 있습니다. IE에서는 EventSource를 기본적으로 제공하고 있지 않지만 polyfill이라는 것을 사용하여 구현할 수 있지만 이제 IE는 떠났으며 걱정하지 않아도 괜찮지 않을까? 합니다. 클라이언트에서 페이지를 닫아도 서버가 이를 체킹하기..
- Total
- Today
- Yesterday
- spring boot excel download paging
- 공간 기반 아키텍처
- JDK Dynamic Proxy와 CGLIB의 차이
- space based architecture
- redis sorted set
- 레이어드 아키텍처란
- @ControllerAdvice
- redis sorted set으로 대기열 구현
- java ThreadLocal
- 자바 백엔드 개발자 추천 도서
- 서비스 기반 아키텍처
- microkernel architecture
- spring boot redisson sorted set
- spring boot poi excel download
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- service based architecture
- polling publisher spring boot
- transactional outbox pattern
- 람다 표현식
- pipe and filter architecture
- spring boot redisson destributed lock
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot excel download oom
- spring boot 엑셀 다운로드
- spring boot redis 대기열 구현
- spring boot redisson 분산락 구현
- java userThread와 DaemonThread
- redis 대기열 구현
- pipeline architecture
- transactional outbox pattern spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |