You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
이번 과제는 TDD(Test-Driven Development) 방식을 활용하여 시스템을 구축하는 것입니다.
1. TDD 에 대한 이해
TDD란?
테스트 주도 개발 절차를 이르는 말.
먼저 실패하는 테스트를 추가하고 (RED)
해당 테스트를 추가하는 코드를 작성한다. (GREEN)
최종적으로 테스트에 성공한 코드를 리팩토링한다. (REFACTOR)
TDD는 언제, 왜 필요한가?
WHEN : 실제 개발 코드를 작성하기 이전에 WHY :
코드의 불안정성을 해결하고
오버엔지니어링을 방지하며
개발의 인과관계를 쉽게 확인할 수 있기 때문이다!
2. 수강신청 서비스 구현
2024년 2학기, 미르미 대학교의 수강신청 시스템 개발을 맡은 당신은 매 학기마다 반복되는 수강신청 전쟁을 해결해야 합니다. 이번 과제는 단순한 개발이 아니라, TDD(Test-Driven Development) 방식을 활용하여 시스템을 구축하는 것입니다.
🥅 과제 목표
테스트 주도 개발(TDD) 방식을 적용하여 수강신청 관리 시스템의 회원가입 및 로그인 서비스를 개발한다.
필수 구현 사항
회원 가입 및 로그인 기능 구현(1차 과제)
학생 및 관리자 계정을 위한 회원 가입 및 로그인 기능
로그인한 사용자만 수강신청 기능을 이용할 수 있도록 설정
2차 과제의 필수 구현 사항은 다음과 같습니다. 2차 과제 내용을 고려하여 1차 과제를 수행해주세요!
수강신청 기능 구현(2차 과제)
학생이 수강신청을 추가할 수 있는 기능 구현
학생이 수강신청을 취소할 수 있는 기능 구현
학생이 자신의 수강신청 목록을 조회할 수 있는 기능 구현
강좌 목록 조회 기능 구현(2차 과제)
관리자 또는 학생이 강좌 목록을 조회할 수 있는 기능 구현
강좌 상세 정보 조회 기능 구현
설계
회원 설계 가이드 예시
회원
id
password
created_at
type(학생, 관리자)
3. 나의 이해와 의견
2번 과제에 TDD를 적용하여 구현하며 느낀 TDD에 대한 자신의 생각 요약
예시: 각 기능을 TDD 방식으로 개발하면서 어떤 테스트를 먼저 작성했는지, 그리고 해당 테스트를 통과하기 위해 어떤 코드를 작성했는지에 대한 설명을 포함하세요. 리팩토링 과정에서의 고민도 함께 설명해 주세요!
의외의 의견을 자유롭게 남겨주세요.
과제 제출 예시
ISSUE 제목: [1차] 이름 과제 제출합니다.
## 1.TDD에대한이해>다음문항에대한내용을조사한후정리하여채워주세요!-TDD란?
-TDD는언제필요할까? 왜필요한가?
## 2.수강신청서비스구현
### **필수구현사항**1.**회원가입및로그인기능구현(1차과제)**-학생및관리자계정을위한회원가입및로그인기능-로그인한사용자만수강신청기능을이용할수있도록설정>본인레포에서public으로구현후레포주소를올려주세요!2차과제의필수구현사항은다음과같습니다.2차과제내용을고려하여1차과제를수행해주세요!1.**수강신청기능구현(2차과제)**-학생이수강신청을추가할수있는기능구현-학생이수강신청을취소할수있는기능구현-학생이자신의수강신청목록을조회할수있는기능구현2.**강좌목록조회기능구현(2차과제)**-관리자또는학생이강좌목록을조회할수있는기능구현-강좌상세정보조회기능구현
## 3.나의이해와의견>2번과제에서TDD를적용하여구현하며느낀자신의생각을요약하여작성하세요!내용예시: 각기능을TDD방식으로개발하면서어떤테스트를먼저작성했는지,그리고해당테스트를통과하기위해어떤코드를작성했는지에대한설명을포함하세요.리팩토링과정에서의고민도함께설명해주세요!처음실패하는코드를작성한다는부분이조금신선한시각이라도입하기어려웠다.테스트코드를작성함에있어' 특정 기능이 이러한 식으로 흘러갈 것'이라고미리예상하여큰틀을잡을수있다는장점이있는것같다.
public Account create(AccountForm form){
Account entity=form.toEntity();
return accountRepository.save(entity);
}
TDD 의 의도에 걸맞게 최소한의 기능만 담는 것을 첫번째 목표로 했다.
이후에는 추가적으로 유효성 검정, 타입(관리자/유저)에 따라 응답 처리를 다르게 하는 테스트를 추가 작성하였다.
The text was updated successfully, but these errors were encountered:
구름톤 유니브 연합 스터디 백엔드 1차 과제
이번 과제는 TDD(Test-Driven Development) 방식을 활용하여 시스템을 구축하는 것입니다.
1. TDD 에 대한 이해
2. 수강신청 서비스 구현
2024년 2학기, 미르미 대학교의 수강신청 시스템 개발을 맡은 당신은 매 학기마다 반복되는 수강신청 전쟁을 해결해야 합니다. 이번 과제는 단순한 개발이 아니라, TDD(Test-Driven Development) 방식을 활용하여 시스템을 구축하는 것입니다.
🥅 과제 목표
필수 구현 사항
2차 과제의 필수 구현 사항은 다음과 같습니다. 2차 과제 내용을 고려하여 1차 과제를 수행해주세요!
설계
회원 설계 가이드 예시
3. 나의 이해와 의견
과제 제출 예시
ISSUE 제목: [1차] 이름 과제 제출합니다.
The text was updated successfully, but these errors were encountered: