강의 중 Stub과 Mock의 차이점에 대해 의문이 들어 찾아봤다.Test Double테스트 목적으로 실제 객체의 대역을 test double이라 한다.Dummy - 객체를 전달하지만 실제로 사용하지 않는다.Fake - 실제 작동하는 구현체지만 프로덕션에는 적합하지 않
문득 "선착순 이벤트" 같은 트래픽이 몰리는 상황에서 서버가 트래픽을 어떻게 받아내는지 궁금증이 생겼다.선착순 이벤트는 한번에 많은 사람이 몰리는 서비스이기 때문에 tps를 최대한 높게, mtt는 최대한 낮게 만드는게 목표이다.모든 코드는 여기서 볼 수 있다.erd는
내 주문 리스트를 조회하는 api를 작성했다.조회할 엔티티는 위와 같고 조건은 visit_date로 오름차순 정렬,orderStatus가 없으면 전체 조회, 있으면 where절의 조건이 된다.커서기반 페이지네이션위 조건(동적쿼리, 페이지네이션)을 만족하려면 jdbcTe
Hey, Cake 베타버전을 배포하고 200명이 넘는 사용자들이 이용해주었다. 첫 배포때는 예상치 못한곳에서 많은 오류가 발생했었는데, 사용자 설문과 Cloud Watch의 로깅으로 오류를 추적하는 것은 불편했다.모니터링 툴을 붙여보자!그라파나,프로메테우스, 키바나등
내 주문 리스트를 조회하는 api를 작성했다.조회할 엔티티는 위와 같고, 조건은 visit_date로 오름차순 정렬,orderStatus가 없으면 전체 조회, 있으면 where절의 조건이 된다.커서기반 페이지네이션위 조건(동적쿼리, 페이지네이션)을 만족하려면 jdbcT
스프링 컨테이너는 스프링 프레임워크의 핵심중 핵심 모듈로 객체의 초기화부터 소멸까지 관리해준다.자바는 객체를 직접 생성하고 호출했었는데 스프링에선 컨테이너 덕분에 비즈니스 로직에 집중할 수 있다.Application ContextBeanFactoryBeanDefinit
@Autowired 어노테이션은 스프링 프레임워크에서 의존성 주입을 자동화하기 위해 사용된다.의존성 주입은 빈 라이프사이클 마지막에 진행되며, BeanPostProcessor의 구현체인 AutowiredAnnotationBeanPostProcessor를 사용한다.코드를
transactional 속성에서 readonly를 왜 걸어줘야 할까?한번 알아보자.readOnly 속성이 true로 설정되면, 트랜잭션 내에서 데이터를 변경하는 작업(INSERT, UPDATE, DELETE 등)은 허용되지 않는다. 오직 데이터를 읽는 작업만 수행할
Spring Transaction과 JPA Transaction은 다르다.JPA는 EntityManager를 통해 영속성 컨텍스트를 관리하기 때문에 Transaction 처리방법이 다르다.Spring Transaction은 PlatformTransactionManage
Reflection을 사용하면 프로그램이 실행 중에 클래스의 정보를 동적으로 가져올 수 있으며, 이를 통해 클래스의 멤버(필드, 메서드, 생성자)에 접근하고 수정할 수 있다. Reflection은 런타임에 동적으로 클래스를 조작할 수 있는 유연성을 제공한다.장점:동적인
@Transactional 어노테이션은 메서드에 트랜잭션을 만들어 준다. 여러가지 속성을 설정할 수 있는데 읽기 전용 트랜잭션, 전파 레벨, 격리 레벨, 타임 아웃, 롤백 규칙 등을 설정해줄 수 있다.Spring 에서 전파와 격리 레벨에 대해서 알아보자.트랜잭션이 진행
오늘은 히카리 CP에 대해 알아보겠습니다. (이 글은 3.4.1 버전 기준으로 작성되었습니다.)커넥션 풀은 DB와 연결을 미리 생성하여 풀에 보관하고, 필요할 때마다 이 연결을 주고 받는 기술입니다.DB와 연결은 비용이 크기 때문에, 매번 새로운 연결을 초기화 하는 것
hikariCP에서 커넥션 연결을 할 수 없는 에러가 발생할 때 어떻게 해결하는지 정리해 본 글입니다. SpringBoot, HikariCP, Postgresql을 사용 중입니다. > 에러 내용 HikariPool-1 - Connection is not availa
값을 입력 받을 때 XSS와 SQL Injection 공격이 발생했고, 이를 어떻게 방어했는지 정리한 글입니다.사용 스택은 Java8, Spring 4.X, maven 입니다.사용 외부 API는 도로명 주소 API 입니다.회원가입시 주소 검색을 위해 도로명 주소 검색