inflearn logo
강의

Course

Instructor

[Daily Completion Challenge] <From Planning to Launch with FastAPI> with the Author

Sections 8.1–8.2: Implementing Calendar APIs per Host (p266~p298)

4주 1회차 과제

Resolved

119

Green Lee

2 asked

3

- is_host를 기준으로 호스트 사용자와 게스트 사용자를 구분하는 것은, 가입 당시부터 본인의 역할을 선택하여 구분 짓는 경우에 효과적인 것으로 판단됩니다. 가입 시점부터 역할(게스트/호스트)을 구분 지어서 관리하고자 하는 경우에 적절한 구조라고 생각되며, 호스트의 자격조건이 있거나, 검증이 필요한 서비스라면 이렇게 관리하는 방법이 적절해 보입니다.

- 반면, 호스트/게스트의 타입을 캘린더의 존재 여부(또는 갯수)로 정의한다고 하면, 모든 가입자가 가입시에 동일한 자격을 갖는 가입자로서 가입처리가 되고, 추가 단계로서 캘린더를 생성 함으로 써, 호스트와 게스트의 역할을 자유롭게 넘나드는 자유도가 생기는 구조가 될 것 같습니다.

- 지금은 커피챗을 목적으로 일정을 조율하는 목적을 갖는 시스템이므로, is_host를 사용하지 않는 결정을 하겠습니다. 전자상거래 시스템같은 판매자와/소비자 처럼 엄격한 구분과 자격을 검증해야 하는 시스템으로 여겨지지는 않기때문입니다. is_host 필드가 없어지는 경우에, 사용자의 상태(또는 역할)을 구분하기 위해서 매번 캘린더의 존재 여부를 확인해야 하지만 앞서 언급한 호스트와 게스트의 역할 변경에 열려있는 점이 중요하게 생각되기 때문입니다. 하지만 모든 가입자가 게스트로 시작하는 만큼 커피챗 호스트를 어떻게 유치할 것인가는 고민이 되는 부분입니다.

python aws tdd FastAPI 북-챌린지

Answer 2

0

hannal

호스트 구분 정책을 엄격하기보다는 데이터 기준으로 자연스럽게 구분되도록 하셨군요. is_host 와 캘린더 유무가 일치하지 않는 사고가 발생하지 않아 명료한 운영이 될 것 같습니다. 🙂

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

Green Lee님께서 설명하신 바와 같이, is_host 필드를 사용하여 사용자를 호스트와 게스트로 구분하는 것은 역할을 미리 결정하고 관리하는 데 효과적입니다. 특히, 특정 자격 검증이 필요한 시스템이라면 유용하죠. 반면, 캘린더의 존재 여부로 역할을 관리한다면 동적인 역할 전환이 가능하며, 유연성이 필요할 때 적합할 수 있습니다.

현재 커피챗 시스템에서는, 단일 가입자가 역할을 자유롭게 변환할 수 있는 방식을 선택하셨고, 따라서 is_host 필드를 활용하지 않기로 한 결정은 이 시스템의 목적에 합리적이라고 보입니다. 다만, 모든 사용자가 기본적으로 게스트로 시작하게 되므로, 커피챗 호스트 유치를 위한 방안은 지속적인 고민이 필요할 것 같습니다.

또한, 각 사용자 상태 또는 역할을 확인하기 위해서는 매번 캘린더의 존재 여부를 체크해야 한다고 하셨는데, 이러한 구조적 결정을 두고 각각의 장단점을 충분히 고려하여 시스템을 설계하시면 좋겠습니다.

추가적인 Spring Boot 가이드나, 개발 관련 문서가 필요한 경우에는 spring.io를 참고하셔도 좋습니다.

도움이 되셨기를 바랍니다.

4주 1회차 과제

0

44

2

4주 5회차 과제

0

44

1

4주 5회차 과제 제출

0

52

2

4주 4회차 과제 제출

0

62

2

351쪽 질문

0

52

2

4주 3회차 과제

0

49

2

refresh() 메서드와 픽스처에 대해 질문이 있습니다.

0

59

2

4주 2회차 과제 질문

0

57

3

4주 1회차 과제

0

53

2

4주 1회차 과제

0

44

2

4주 3회차 과제

0

55

2

4주 1회차 과제

0

52

2

4주 3회차 과제

0

38

1

4주 5회차 과제

0

38

2

4주 1회차 과제

0

30

2

4주 1회차 과제

0

25

2

4주 4회차 과제 제출

0

36

2

4주 1회차 과제 제출합니다.

0

43

1

4주 2회차 과제

0

49

1

patch 요청시 payload가 넘어가지 않습니다.

0

60

3

페이지 144 코드 문의

0

61

3

책과 github 코드가 다릅니다 p130

0

50

2

120페이지 코드 질문드립니다.

0

48

2

테스팅과 학습법의 관계 (?)

0

67

2