본문 바로가기
728x90

전체 글54

카카오 쇼핑하기 클론프로젝트 #4 이번엔 좋아요 기능을 추가해봤다!! 기존 er diagram에서 테이블을 하나 추가해줬다. 사용자가 , 어떤 상품마다 좋아요를 눌렀는지에 대한 데이터를 저장해줘야한다고 생각했기 때문에 Like 라는 테이블을 따로 만들어주었다. package com.example.kakao.like; //import 생략.. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name="like_tb", indexes = { @Index(name = "like_user_id_idx", columnList = "user_id"), @Index(name = "like_product_id_idx", columnList = "product_id") .. 2023. 8. 22.
카카오 쇼핑하기 클론프로젝트 #3 매주 프로젝트 진행상황을 블로그에 업데이트 하려고 했지만... 4주차 까지는 스프링부트에 적응하면서 과제 하느라 바빴고 쏟아지는 새로운 개념들을 익히기 바빴다..ㅎ ㅎ 저번 주에 드디어 6주간의 프로젝트가 끝나고 뭘 해야 좋을 지 고민하다가... 새로운 프로젝트를 하는 것 보단 기존 프로젝트의 부족한 기능을 추가하거나 코드를 리팩토링 하는 시간을 갖는 게 좋을것 같다고 생각했다. 기존 프로젝트엔 "장바구니 조회" , "장바구니 추가" , "장바구니 수량 수정 기능"만 구현했다. 따라서 "장바구니 옵션 삭제" 기능을 추가해봤다. 제대로 잘 구현했는지 확신할 수 없지만ㅜ..ㅜ 일단 스스로 구현한 내용을 바탕으로 적어보겠다. 사진은 프론트 UI인데 각 옵션마다 삭제할 수 있는 x 버튼을 추가했다고 가정하자. .. 2023. 8. 9.
stub는 언제 사용할까? 컨트롤러 단위테스트를 진행하면서 처음에 혼란이 왔던 부분은 stub는 언제? 왜? 사용하는지가 의문이었다. 근데 정확히 배우고 나니까 너무 간단한 문제였던 것,,,, 내가 이해한 내용을 토대로 작성해보겠다. Stub이란? stub은 상태 검증 이라고 할 수 있다. 상태 검증이란 메소드가 수행된 후, 객체의 상태를 확인하여 올바르게 동작했는지를 확인하는 검증법이다. 다시 정리하자면, 컨트롤러에는 서비스를 호출하는 메서드가 존재하는데, 그 메서드의 리턴값을 내가 임의로 지정해주는 것이다. 나는 "컨트롤러" 단위테스트를 작성하는 것이 목표였어서 UserService를 MockBean으로 등록 하였다. 사실상 UserService 안에 있는 메서드 로직을 사용할 수 없는 상태인거다. 따라서 난 컨트롤러에서 쓰인.. 2023. 7. 26.
@WebMvcTest 란?, 가짜로 등록한다는 것의 의미? 컨트롤러 단위테스트를 작성하면서 @WebMvcTest를 사용했다. 시간이 지나면 금방 까먹을 거 같아서 일단 간단히 정리하기... https://www.appsdeveloperblog.com/the-first-principle-in-unit-testing/ The F.I.R.S.T. Principle in Unit Testing - Apps Developer Blog When writing unit tests, developers try to follow the F.I.R.S.T principle as much as possible. F.I.R.S.T is a combination of multiple principles. Let’s learn www.appsdeveloperblog.com 참고로 Fas.. 2023. 7. 26.
카카오 쇼핑하기 클론프로젝트 #2 #1 전체 API 주소 설계 API 주소를 설계하여 README에 내용을 작성하시오. URL 요청 방식 전체 상품 목록 조회 /products GET 개별 상품 상세 조회 /products/{id} GET 회원가입 /join POST 로그인 /login POST 이메일 중복 체크 /check POST 장바구니 조회 /carts GET 장바구니 담기 /carts/add POST 주문하기 (장바구니 수정) /carts/update POST 결제하기 (주문 인서트) /orders/save POST 주문 결과 확인 /orders/{id} GET #2 Mock API Controller 구현 이 4개의 요청들에 대한 DTO 와 컨트롤러를 구현해야한다. POST /carts/add POST /carts/update.. 2023. 7. 7.
카카오 쇼핑하기 클론프로젝트 #1 1. 요구사항 시나리오를 보고 부족해 보이는 기능을 하나 이상 체크하여 README에 내용을 작성하시오. 화면 UI에 있는 톡딜가로 구매하기 기능 회원정보를 수정하는 기능 개별 상품마다 별점을 표기하는 기능 (매진임박일때) 각 옵션별 남은 수량, 품절여부를 보여주는 기능 상품을 카테고리 형태로 볼 수 있는 기능 장바구니 조회 (수량 결정)에서 상품을 삭제하거나 특정 옵션을 삭제하는 기능 배송 관련 기능 결제하기 단계에서 쿠폰이나 상품권을 사용할 수 있는 기능 2. 제시된 화면 설계를 보고 해당 화면설계와 배포된 기존 서버의 API주소를 매칭하여 README에 내용을 작성하시오. ● (기능 1) 회원 가입 회원가입 버튼 클릭 시 : (/join) POST 요청 이메일 중복 체크를 해줘야 한다. (/chec.. 2023. 7. 2.
728x90