전체 글63 거래요청에 대한 동시성 테스트 주문시 트랜잭션처리와 예외처리에 대한 생각상품 거래 시스템을 만들 때 신경 써야 하는 부분이 많았었습니다. 그 중에서 동시성 관리는 중요한 요구사항 중 하나였습니다. 주문 처리 시 상품이 단일 상품으로 정의되었기 때문에, 동시에 주문 요청이 들어오는 상황에서 동시성 제어가 필요했습니다. 특히, 다수의 사용자가 동시에 주문을 시도할 경우 데이터 무결성을 보장해야 했습니다. 단일 상품으로 재고가 1개이기에 중복 거래요청이 발생하면 구매자와 판매자 모두에게 곤란한 상황을 만들게 됩니다. 주문 생성 및 판매 요청처리 단계에서 트랜잭션을 어떻게 사용해야 할지 고민했습니다. 이번 시간에는 동시성 문제를 해결한 과정을 다루겠습니다. 주문 처리 흐름에서의 트랜잭션과 예외처리리포지토리 인터페이스 JPA에서 제공하는 비관.. 2024. 12. 6. 다중 토큰: Refresh 토큰과 생명 주기 이번 글에서는 프로젝트에서 로그인과 고객 정보를 위한 보안 처리를 어떻게 구현했는지에 대해 정리합니다. Spring Security와 JWT 기반 인증 로직을 어떻게 구현하여 JWT 토큰을 관리하려고 했는지 다루어 보도록 하겠습니다. (해당 포스팅 내용은 Github wiki에도 요약 되어있다.) 기본 설정아래와 같이, Jwt 사용을 위해 jsonwebtoken 관련 라이브러리와 Spring Security 라이브러리를 추가했습니다. 1. 단일 토큰으로 했을 때의 문제점이전 프로젝트에서 스프링 시큐리티를 단일 토큰으로 구현했었습니다. 구체적으로, 토큰을 다음과 같이 관리하여 사용하였습다. 로그인 성공 시, JWT 발급한다. : 서버측에서 클라이언트로 JWT를 발급한다.권한이 필요한 모든 요청에 JWT를 .. 2024. 12. 4. 1:N 조인에서 발생한 중복 데이터 및 누락 문제 해결 이번 시간에는 검색 구현 과정에서 발생한 중복 데이터 조회 오류를 정리해보고자 한다. 프로젝트 코드는 Github에 있으니 참고해주세요. 문제상품 페이징 조회 기능을 구현하던 중, 예상치 못한 문제가 발생했었다. API를 통해 데이터를 조회했을 때, DB에서 직접 조회한 결과와 비교해보니 일부 데이터가 누락된 것이다. DB에서 직접 쿼리를 실행했을 때는 12개의 데이터 항목이 모두 정상적으로 조회되었지만, API를 통해 조회한 결과는 단 6개의 항목만 반환되었다. POSTMAN 실행다음과 같이, postman에 페이징 api 요청을 실행했었다. 문제 분석이 문제를 해결하기 위해, 가장 먼저 살펴본 것은 search_fetch 로직이다.이 로직은 QueryDSL을 사용하여 페이징 쿼리로 구현했었다. LE.. 2024. 8. 10. CORS 문제 해결 과정 CORS 문제 해결 과정팀 프로젝트를 진행하면서 CORS 문제를 겪었다. 이번 포스팅에서는 이 문제를 어떻게 해결했는지 그 과정을 정리해보자.프로젝트 코드는 GitHub 링크를 통해서 확인할 수 있습니다.문제의 발단API를 구현하고 서버에 배포한 후, 프론트엔드 팀원에게서 CORS 문제가 발생했다는 메시지를 받았었다. 그 메시지를 처음 받았을 때는 조금 당황스러웠다. 프론트 팀원이 보내준 오류 메시지"지금 회원가입 API 요청을 보냈을 때 CORS 때문에 안되는 것 같아요. 설정이 어떻게 되어 있는지 확인해주실 수 있나요? 백엔드 API 주소는 배포된 주소인데 프론트에서 요청 보내는 주소가 localhost:3000이라 CORS 문제가 기본적으로 발생할 텐데요. 만약 설정이 제대로 되어 있다면 제가 뭔가.. 2024. 8. 9. 이전 1 2 3 4 5 6 7 ··· 16 다음