회원가입 로직을 구현하고, postman 으로 테스트 하던 중 boolean 값이 전달되지 않는 문제가 발생하였다위와 같이 상태값을 받는 필드는 isOwner 로 명명했으며, 기본값으로는 false = 고객 / true 를 받을 때는 사장님으로 가입할 수 있도록 했다.
redis 를 이용하여 Access Token 과 Refresh Token 구현 간 이상한 에러가 발생했다...!거의 다 끝났다 싶을 때 발생한 것이다...java.lang.ClassCastException: class java.util.HashMap cannot be
JWT 인증 방식을 채용하여 Refresh Token 과 Access Token 의 개념을 도입하던 중 뭔가 이상한 점을 느꼈다.생각했던 프로세스는인증이 성공하면, Access Token 과 Refresh Token 을 생성 및 발급서버측에서는 loginId 를 key
문제 JPQL 로 조회 쿼리를 작성하고 이를 PostMan 으로 반환하는 테스트를 하던중 해당 에러를 직면했다. 내가 작성한 쿼리는 String 타입을 반환하는데 현재 Restaurant 타입으로 반환하고 있어서 에러가 발생한 거 같다. RestaurantRepo
오늘도 어김없이 나타나는 에러,,,에러는 정말이지 매일매일 만나는 것 같다.오늘 만난 에러는 다음과 같다.뭐 대충 보니까 RestaurantRepository에서 정의한 메서드 findByIdAndUserIdAndDeletedFalse의 쿼리를 잘못 작성한 거 같다는
메뉴의 옵션을 추가하는 기능을 구현하기 위해 "option" 테이블을 생성하려고 했지만 위와 같은 에러가 발생했다.이처럼 create 문까지 나가는 건 확인했지만, 해당 이름의 테이블은 생성할 수 없는 거 같다.이에 테이블 이름을 변경해주었다.문제 없이 테이블 생성에
조회 쿼리를 진행 준 N + 1 문제가 발생했다.여러 개의 option 의 id 값을 조회하는데 쿼리가 세 개씩이나 나가는 것이었다.사용자가 메뉴를 추가할 때 메뉴 option 의 조합이 기존 장바구니에 동일한 조합이 있는지 확인하기 위해장바구니를 조회하고 해당 men
문제 장바구니 기능 중 장바구니 내에 존재하는 메뉴의 내용을 수정하는 기능을 구현하였다. 어지저찌 기능 구현까지는 성공하였지만, 가독성도 그렇고 성능에서 자신이 없었다. 탐탁지 않은 부분은 다음 부분이었는데 먼저 최초에 수정하고자 하는 장바구니의 메류를 조회하여
장바구니 취소기능을 구현하는 와중에 문제가 발생하였다.나는 프로젝트 전체적으로 soft-delete 정책을 이용하여 삭제 기능을 구현하려 했기에, 장바구니 취소도 해당 내용을 토대로 구현하고자 하였다.이처럼 코드를 구현하였고, 해당 API 를 호출하면 지정한 장바구니
프로젝트 진행 간 Controller 의 이름을 변경할 일이 생겼다.기존 RestaurantMananementController 가 있었는데 이를 RestaurantOwnerController 로 변경하였다.이후 어플리케이션을 실행하니이와 같은 에러가 발생한 것이다.{
문제 주문에 성공하면, 기존 장바구니에서 주문을 한 품목은 지워지는 기능을 구현하려고 했다. 이에 주문 성공 후 단순히 JPA 의 deleteAll 을 사용하면 되겠지만 싶었는데, 각 품목마다 delete 쿼리가 발생했고 이를 어떻게 개선하면 좋을까 생각했다. 시
주문 목록을 조회하는 과정에서 성능 문제를 경험했다. 초기 구현에서는 각 주문에 대해 메뉴 정보를 조회하고, 각 메뉴에 대해 옵션 정보를 조회하는 방식으로 구성되어 있었다. 이 과정에서 발생하는 중첩 반복문은 O(N M K)의 시간 복잡도를 가지며(N은 주문의 수,
장바구니 조회 로직을 수정하였다.수정 전에는 위와 같이 코드가 구성되어 있었다.마음에 들지 않았던 점은이와 같이 장바구니를 조회하고, 여기서 장바구니 목록을 추출하는데옵션을 조회하기 위해서 장바구니 목록을 순회하여 Id 를 추출하고, 이를 통해서 옵션을 조회한다는 것이
조회 기능을 구현할 때 엔티티를 조회 후 이를 Dto 로 변환하는 과정과, 조회할 때 바로 dto 로 반환하는 것의 성능차이가 궁금했다.최초에는 우선 엔티티를 조회하고 이를 이용하여 dto 로 변환 후 반환하는 로직을 작성하였다.두 번째는 바로 dto 로 반환하고, 필
서버 측에서 발생하는 예외 메시지를 프런트 측에서 전달하여 출력되게 하고 싶었다.서버측에는 위 코드와 같이 예외처리를 구현했다.이에 자바스크립트로 응답코드가 400일 때 해당 메시지를 출력하고자 시도했다.그러나 예상과는 다르게 서버 측에 설정한 메시지는 출력되지 않고
문제 위와 같이 OrderMen 엔티티를 DTO 로 변환 후 JsonIgnore 처리 된 orderId 를 이용하여 Map> 를 생성하는 로직을 구현하였다. 이에 대해, OrderMen 에서 Map> 로 변환되는 과정을 하나로 줄이고, 이 과정을 통해 orderId 필드도 굳이 사용하지 않아도 되니, 해당 방향으로 리팩토링을 하는 게 어떻냐는 제안을 ...
삽입정렬 학습 간에 위와 같은 문제를 맞닥뜨리게 되었다.요약하면 LinkedList 의 노드들을 오름차순으로 정렬 시키는 문제였다.이외 같은 유형의 문제는 처음 접하기에 30분 넘게 끙끙 앓다가 그냥 GPT 선생님께 답을 여쭤보고, 해당 답을 이해하는 방향으로 틀었다.
이번 MSA 아키텍처 기반 과제를 수행함에 앞서, 단순히 기능 구현뿐 아니라 각 기능이 어떻게 상호작용하며 동작하는지를 명확히 이해하는 것이 중요하다고 생각했다. 이러한 이해의 차이는 과제 수행에서 얻어가는 것에 대해 분명 큰 영향을 미칠 것이다.이에 과제 수행에 앞서