이번에는 멤버십 전체/상세 조회 관련 API를 개발해보도록 하겠습니다. 1. 멤버십 전체 조회 API 구현 [ 요구사항 확인 ] 나의 멤버십 전체 조회 API 기능: 내가 가진 모든 멤버십을 조회합니다. 요청: 사용자 식별값 응답: {멤버십 ID, 멤버십 이름, 포인트, 가입 일시}의 멤버십 리스트 [ Repository 계층 개발 ] 이전에 멤버십 등록 API를 개발할 때와 마찬가지로, 이번에도 먼저 구현할 계층은 Repository 계층이다. 또한 TDD 기반으로 개발을 하고 있으므로, 이번에도 역시 사용자 식별값으로 멤버십 정보 목록을 DB에서 조회하는 Repository에 대한 테스트 코드를 먼저 작성해보도록 하자. 이번에는 데이터가 없는 경우와 데이터가 있는 경우를 한번에 작성하도록 하자. @T..
이번에는 TDD로 멤버십 등록 API를 구현해보도록 하겠습니다. 첫 API를 개발하는 것이므로 다른 로직에서 사용되는 공통 로직들도 많이 있어서 작업이 적지는 않을 것 같은데, 열심히 첫 API를 개발해보도록 하겠습니다. 1. 멤버십 등록 API 구현 [ 요구사항 확인 ] 나의 멤버십 등록 API 기능: 나의 멤버십을 등록합니다. 요청: 사용자 식별값, 멤버십 이름, 포인트 응답: 멤버십 ID, 멤버십 이름 [ Repository 계층 개발 ] 앞선 포스팅에서 살펴봤던 것처럼 Repository의 메소드 중에서 멤버십을 DB에 추가하는 테스트 코드를 먼저 작성해보고자 한다. MembershipRepository에 대한 테스트 클래스를 작성하면 다음과 같다. public class MembershipRep..
이번에는 TDD로 구현해볼 연습 문제에 대해 소개하고, 프로젝트 생성까지 한 후에 마무리하도록 하겠습니다. 1. TDD 연습문제 소개와 요구사항 분석 [ 문제 설명 ] 이번 연습 문제의 주제는 멤버십 적립 서비스입니다. 현재 지원중인 멤버십에는 네이버, 카카오, 라인 3가지 멤버십이 있으며, 사용자는 원하는 멤버십을 등록할 수 있습니다. 포인트 적립비율은 결제금액의 1%로 고정되며, 추후에 고정 금액(1000원)으로 확장하여 적립될 수 있어야 합니다. 이번 연습문제에서는 위의 문제 설명과 아래의 요구사항을 만족하는 REST API를 자유롭게 정의하고, TDD 방식으로 구현하는 것입니다. [ 기능 요구 사항 ] 멤버십 연결하기, 나의 멤버십 조회, 멤버십 연결끊기, 포인트 적립 API 를 구현합니다. 사용..
이번에는 여러 개발 서적들 및 실무 경험 그리고 시행 착오 등을 겪으면서 얻은 테스트 주도 개발 방법에 대해 소개해보고자 합니다. 이번 포스팅에서는 먼저 단위 테스트와 중요성 그리고 단위 테스트를 바탕으로 하는 TDD는 어떻게 하는 것인지 이론적으로 소개해보고자 합니다. 이어지는 포스팅들에서 실제로 테스트에 주도되는 개발을 해볼 것인데, 많은 분들에게 도움이 되기를 바라겠습니다:) 1. 단위 테스트의 중요성과 좋은 단위 테스트의 특징 [ 단위 테스트(Unit Test)를 작성해야 하는 이유 ] 단위 테스트를 작성해야 하는 이유는 정말 너무 많다. 그 중에서 몇 가지 핵심적인 이유들을 작성하면 다음과 같다. 코드를 수정하거나 기능을 추가할 때 수시로 빠르게 검증 할 수 있다. 리팩토링 시에 안정성을 확보할..
이번에는 취업 준비를 하면서 풀었던 백준 알고리즘 문제 중에서 개인적으로 괜찮았던 문제들을 추천해보고자 합니다. 예전에 풀었던 기록들을 보고 정리한거라 빠진 좋은 문제들도 많이 있을텐데, 댓글 많이 남겨주세요:) 1. 코딩 테스트(알고리즘) 준비 및 간단한 팁 요즘 거의 모든 기업에서 코딩 테스트 전형을 진행하고 있는데, 이번에는 코딩 테스트와 관련된 부분에 대해 이야기해보도록 하겠습니다. [ 빈출 유형 파악 ] 수능에도 자주 출제되는 영역이 있듯이 코딩 테스트도 당연히 자주 출제되는 유형이 있습니다. 그렇기 때문에 전략적으로 빈출 유형을 집중적으로 준비하는 것이 도움이 됩니다. 알고리즘 코딩 테스트에서 자주 출제되는 유형은 크게 다음의 4가지가 있습니다. 구현/시뮬레이션: 문제의 요구사항을 주고 이를 ..