📌 해당 게시물은 전 게시물과 이어지는 내용입니다.지금까지 결제하는 로직을 모두 완성하였는데 이번 포스팅에서는 결제를 취소하는 것을 구현하려고 한다.결제를 취소하려면 결제 승인 시에 토스페이먼츠에서 발급받은 paymentKey와 취소 이유인 cnacelReason이
📌 해당 게시물은 전 게시물과 이어지는 내용입니다.📌 <결제 흐름 역할별 정리>에서 4~번에 해당하는 내용입니다.결제창을 이용하여 정상적으로 결제가 완료되면,아래와 같이 지정해둔 성공 시 콜백 URL로 orderId, paymentKey, amount 3개의
우리 프로젝트에서 토스페이먼츠를 이용한 결제 파트를 어떻게 구현하였는지 살펴보려고 한다 !서버에서 결제에 필요한 정보를 입력받을 수 있도록 하는 Controller,전달받은 정보를 가지고 검증 / 필요한 값들을 생성하는 Service,요청 값들을 가지고 있는 Dto,결
프로젝트를 진행하면서 결제 시스템을 도입해야 했는데,우리는 좀 더 쉽고 편하게 도입할 수 있는 토스페이먼츠를 선택하였다.토스페이먼츠는 결제 시스템 연동을 위해 필요한 자료들을 요기에 자세하게 안내해주고 있다.이 문서들을 참고하여 연동해주면 되고, 이번 게시물에서는 적용
연관 관계에서 발생하는 이슈로,연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 개수(n)만큼 연관 관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어오게 되는 것👉 즉, 1대 N(일대다)의 연관 관계를 가지고 있는 테이블이 있을 경우에,1 쪽의 테이블을 조회
정적 타입(컴파일 시 타입에 대한 정보를 결정)을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해주는 오픈소스 프레임워크SQL, JPQL을 코드로 작성할 수 있도록 해주는 빌더 APIEntity 클래스와 매핑되는 QClass 객체를 사용해서 쿼리 실행QClassEn
Java의 대표적인 캐시 엔진 중의 하나경량의 빠른 캐시 엔진확장(scable)➜ 메모리 & 디스크 저장 지원, 멀티 CPU의 동시 접근에 튜닝분산 지원➜ 동기/비동기 복사, 피어(peer) 자동 발견높은 품질➜ Hibernate, Confluence, Spring 등
📌 캐시와 관련한 다른 내용들은 이전 게시물들을 참고하여 주세요!캐시는 트랜잭션과 마찬가지로 AOP를 이용하여,캐시 관련 로직을 핵심 비즈니스 로직으로부터 분리할 뿐만 아니라, 메서드에 손쉽게 캐시 기능을 적용할 수 있습니다.또, Spring은 캐시 구현 기술에 종속
프로젝트의 테이블이 많아지고 연관관계가 많아지면서 데이터를 조회/검증 하는 데 많은 쿼리가 나가게 되었습니다.또, 이러한 쿼리들이 많아지면서 데이터 베이스 서버의 네트워크 트래픽 증가의 문제가 있었습니다.물론 Hibernate에서 기본적으로 제공하는 1차 캐시가 있지만
프로젝트에서 유효성 검사를 위해 사용했던 세 가지 애너테이션들에 대해 알아보려고 합니다!자바에서 @NotNull, @NotEmpty, @NotBlank는 모두 유효성 검증(validation)을 위해 사용되는 애너테이션입니다. 이 세가지가 비슷하지만 차이가 분명히 있기
⬆️ 위는 Pre Project 결과물인 StackOverFlow를 클론한 페이지! ⠀ 결과물은 Main Project ⬅ 요기 이씀 ! 사실 프로젝트 전까지는 되게 겁먹어서 "프로젝트라구..? 내가..? 어떻게..?!" 막 이랬는데 다 하고 보니 껌이네 ~ ㅋ (
동일한 데이터에 반복해서 접근해야 하거나 많은 연산이 필요한 일일 때,결과를 빠르게 이용하고자 성능이 좋은 / 가까운 곳에 저장하는 것서버의 부담을 줄이고 성능을 높이기 위해 사용되는 기술✔️ 캐시를 사용하기 좋은 경우반복적으로 동일한 결과를 반환하는 경우DB에 접근하
⬆️ 위는 Pre Project 결과물인 StackOverFlow를 클론한 페이지!⠀결과물은 Pre Project ⬅ 요기 이씀 !사실 프로젝트 전까지는 되게 겁먹어서 "프로젝트라구..? 내가..? 어떻게..?!" 막 이랬는데다 하고 보니 껌이네 ~ ㅋ( 사실 아님 ㅎ
프로젝트를 하는 중 실행 후에 postman으로 돌려보는데분명 실행은 잘 되는데 아래와 같은 에러가 나왔다.에러를 자세히 보니 toString이 반복해서 일어나고 있어서 StackOverFlow가 난다는 에러였다.그래서 내 프로젝트 내의 코드들을 살펴보니,YataReq
무한 스크롤 방식으로 전체 조회를 할 수 있도록 Slice 방식을 사용하여 로직을 대충 짜고애플리케이션을 실행시켰는데 아래와 같은 에러가 나왔다.위에 나와있는 대로 에러가 발생한 mappper 쪽 에러가 발생한 곳으로 가보았다.에러 메세지를 잘 읽어보니 반환 타입에 대
프로젝트를 진행하던 중, 기본 구조들을 만들어놓고 잘 돌아가는지 확인을 위해실행을 시켰는데 아래와 같은 에러가 나왔다!자세히 보면 아래와 같다.2023-01-10 23:08:20.969 WARN 31776 --- Test worker .w.s.m.s.DefaultHa
여러개의 test 코드를 작성하고 구분하기 쉽게 @DisplayName("") 으로 각각의 이름을 정해주고 돌렸는데테스트 결과 창에서 한글이 깨져서 나왔다!Intellij에서 Help > Edit Custom VM Options...에 들어가면 아래와 같이 ideat6