네이버 클라우드를 활용한 사이드 프로젝트 아키텍쳐 도입기
Json을 Response 할때 null 인 데이터를 제외하는 방법
자바 제네릭(Generics)을 이용한 ResponseEntity 공통화
자바의 데이터 타입 자바의 데이터 타입은 2가지가 존재합니다. 기본 타입(Primitive Type) : int, double, boolean 참조 타입(Reference Type) : String, List 기본 타입은 1:1 대응으로 참조 타입을 하나씩 가지고
SpringBoot 3 버전 GitHub Action CI 환경에서 redis 연결 에러 해결 방법
제가 JoyMall 프로젝트를 진행하면서 GitHub 를 이용하여 Jira처럼 애자일하게 프로젝트를 진행하는 방법에 대해 공유해보겠습니다.
JoyMall의 주문 후 상품에 대한 재고 감소 로직에 비관적 락을 적용했었는데요. 네이버 클라우드의 Cloud DB for Redis를 생성하여 코드레벨에선 Redisson을 이용한 분산락을 적용해보겠습니다.비관적 락은 데이터베이스 수준으로 사용(특정 테이블 또는 행
Naver에서 개발한 APM 도구인 Pinpoint와 부하테스트 오픈소스 nGrinder를 활용하였습니다. 이 글을 통해 테스트 환경 세팅을 하면서 습득한 지식과 경험에 대해 작성해보았습니다.
nGrinder, Pinpoint로 성능 개선 후 Kafka를 도입하여 성능을 개선해보았습니다. 추가로 Kafka와 메시지 큐에 대한 설명을 작성하였습니다.
RDB에서 update를 통해 재고감소를 하던 로직을 Redis에서 재고 수량을 관리하여 update 해주는 방식으로 변경하였습니다.
JoyMall 프로젝트를 진행하던 중 상품 조회 쿼리에 대한 성능 개선을 경험해보았습니다.위와 같이 구성된 엔티티에서 200만건의 Product가 존재할 때 상품명을 통해 조회해오는 것을 목표로 했습니다.또한 Spring Data JDBC의 queryMethod를 이용
JoyMall 프로젝트를 진행하던 중 상품 조회 쿼리에 대한 성능 개선 2번째입니다.이번에 적용해볼 방법은 No Offset 방식과 커버링 인덱스입니다.일반적으로 페이징은 웹 페이지에서 기본적으로 제공하는 기능입니다.기존에 적용되었던 코드를 살펴보겠습니다.이와 같은 페
JoyMall 프로젝트를 진행하던 중 상품 조회 쿼리에 대한 성능 개선 3번째입니다. 이번에 적용해볼 방법은 Redis를 이용한 캐시입니다. (Redis는 로컬 환경에서 서버를 띄워 진행했습니다.) 들어가기 이전에는 데이터베이스 쿼리 최적화를 통해 조회 성능 개