내 주문 리스트를 조회하는 api를 작성했다.조회할 엔티티는 위와 같고, 조건은 visit_date로 오름차순 정렬,orderStatus가 없으면 전체 조회, 있으면 where절의 조건이 된다.커서기반 페이지네이션위 조건(동적쿼리, 페이지네이션)을 만족하려면 jdbcT
선착순 쿠폰 이벤트 개발기를 진행한 뒤 분산락에 대해서 알게 되어 스핀락보다 분산락이 더 효율적이라는 생각에 redis 클라이언트를 변경해보았다.implementation 'org.redisson:redisson-spring-boot-starter:3.16.8'lett
내 주문 리스트를 조회하는 api를 작성했다.조회할 엔티티는 위와 같고 조건은 visit_date로 오름차순 정렬,orderStatus가 없으면 전체 조회, 있으면 where절의 조건이 된다.커서기반 페이지네이션위 조건(동적쿼리, 페이지네이션)을 만족하려면 jdbcTe
문득 "선착순 이벤트" 같은 트래픽이 몰리는 상황에서 서버가 트래픽을 어떻게 받아내는지 궁금증이 생겼다.선착순 이벤트는 한번에 많은 사람이 몰리는 서비스이기 때문에 tps를 최대한 높게, mtt는 최대한 낮게 만드는게 목표이다.모든 코드는 여기서 볼 수 있다.erd는
두 어노테이션 모두 IoC 컨테이너에 Bean을 등록하기 위해 사용합니다@Component : 개발자가 작성한 class를 기반으로 실행시점에 인스턴스 객체를 1회(싱글톤) 생성합니다@Controller, @Service, @Repository 는 모두 @Compone
빈의 라이프 사이클에 따르면 11번과 14번 단계는 BeanPostProcessor와 연관되어 있다.그 전에 10번까지 이미 모든 빈들이 생성되고, 의존관계가 설정되어 있기 때문에, BeanPostProcessor타입의 빈들은 @Autowired로 의존관계를 주입하는
스프링 빈은 자바 빈과 큰 차이가 있다.반복적인 작업을 효율적으로 하기 위해 사용하는 클래스private필드, getter/setter, 생성자를 가지고 있음직렬화가 가능해야 한다.스프링 IoC 컨테이너가 관리하는 Java 객체를 뜻한다.IoC(Inversion of
OOP에서 객체간 협력은 필수적이며, 객체가 협력한다는 것은 의존성이 존재한다는 것이다. 여기서 의존성이란 파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것을 의미한다.예들 들어 Service가 Repository를 사용하고 있을 때 Service객체가
강의 중 Stub과 Mock의 차이점에 대해 의문이 들어 찾아봤다.Test Double테스트 목적으로 실제 객체의 대역을 test double이라 한다.Dummy - 객체를 전달하지만 실제로 사용하지 않는다.Fake - 실제 작동하는 구현체지만 프로덕션에는 적합하지 않
의존성 주입 (Dependency Injection)전략패턴서비스 로케이터 패턴팩토리 패턴의존관계 주입 패턴이 생성자에 주입하는 패턴을 생성자 주입패턴(DI) 라고 한다.의존관계를 주입할 때 참조 순환 관계(Circular dependencies) 에 대해 유의하자.관
의존성컴파일 타임 의존성 : 코드를 작성하는 시점에 발생하는 의존성 (클래스간 의존성)런타임 의존성 : 애플리케이션이 실행되는 시점의 의존성 (객체간 의존성)IoC(제어의 역전)라이브러리는 애플리케이션이 흐름을 직접 제어하지만 프레임워크는 프레임워크(IoC 컨테이너)가