Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1차] 이재혁 백엔드 과제 제출합니다. #11

Open
LEEJaeHyeok97 opened this issue Sep 20, 2024 · 0 comments
Open

[1차] 이재혁 백엔드 과제 제출합니다. #11

LEEJaeHyeok97 opened this issue Sep 20, 2024 · 0 comments
Assignees
Labels
1차 과제 1차 과제입니다.

Comments

@LEEJaeHyeok97
Copy link
Member

1. TDD 에 대한 이해

다음 문항에 대한 내용을 조사한 후 정리하여 채워주세요!

  • TDD란?
  • 회귀 버그를 방지하고 유연한 설계로 코드를 개선할 수 있는 구조를 지향하는 테스트 주도 개발 방법론이다.
  • TDD는 언제 필요할까? 왜 필요한가?
  • tdd는 소프트웨어 개발 시 인수 테스트만 하는 것을 넘어서 소프트웨어의 내부적 안정성을 높히고 사용자가 많아져 스펙업이 필요할 때 유연한 설계를 바탕으로 중단 없이 유연하게 확장 가능한 소프트웨어를 만들기 위해 필요하다.

2. 수강신청 서비스 구현

필수 구현 사항

  1. 회원 가입 및 로그인 기능 구현(1차 과제)
    • 학생 및 관리자 계정을 위한 회원 가입 및 로그인 기능
    • 로그인한 사용자만 수강신청 기능을 이용할 수 있도록 설정

본인 레포에서 public으로 구현 후 레포 주소를 올려주세요!
https://github.com/LEEJaeHyeok97/TDD-and-HexagonalArchitecture

2차 과제의 필수 구현 사항은 다음과 같습니다. 2차 과제 내용을 고려하여 1차 과제를 수행해주세요!

  1. 수강신청 기능 구현(2차 과제)
    • 학생이 수강신청을 추가할 수 있는 기능 구현
    • 학생이 수강신청을 취소할 수 있는 기능 구현
    • 학생이 자신의 수강신청 목록을 조회할 수 있는 기능 구현
  2. 강좌 목록 조회 기능 구현(2차 과제)
    • 관리자 또는 학생이 강좌 목록을 조회할 수 있는 기능 구현
    • 강좌 상세 정보 조회 기능 구현

3. 나의 이해와 의견

2번 과제에서 TDD를 적용하여 구현하며 느낀 자신의 생각을 요약하여 작성하세요!
내용 예시: 각 기능을 TDD 방식으로 개발하면서 어떤 테스트를 먼저 작성했는지, 그리고 해당 테스트를 통과하기 위해 어떤 코드를 작성했는지에 대한 설명을 포함하세요. 리팩토링 과정에서의 고민도 함께 설명해 주세요!

  • 의외의 의견도 자유롭게 남겨주세요.
  • 테스트 주도 개발 자체의 개념도 어렵지만 사용해야 한다는 것을 스스로에게 설득하는 것이 더 힘들었던 것 같다. given when then으로 기본적인 테스트를 하는 것은 알 수 있었지만 어떻게 테스트 주도적으로 개발하는지는 더 많은 시간을 고민해봐야할 것 같다
@LEEJaeHyeok97 LEEJaeHyeok97 added the 1차 과제 1차 과제입니다. label Sep 20, 2024
@LEEJaeHyeok97 LEEJaeHyeok97 self-assigned this Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1차 과제 1차 과제입니다.
Projects
None yet
Development

No branches or pull requests

1 participant