항해 플러스 백엔드 WIL (2주차 회고)

이선주·2024년 6월 29일
0

항해플러스5기

목록 보기
3/8
post-thumbnail

🚀 돌아온 2주차 회고!

2주차에 겪었던 문제점해결 방법 그리고 알게 된 점을 정리해 보았습니다.

1. 문제점

ERD 작업에만 이틀이나 써버렸다. 때문에 대부분 과제를 급하게 마무리할 수 밖에 없었다.

내가 생각하는 이번 과제의 핵심은.. '아키텍처가 클린하게 잘 짜여져 있는지'와 '데이터베이스 동시성 제어'이다. 과제에 집중하지 못하고, 과제가 요구하는 Spec에 정신이 팔려 '좋은 ERD'를 추구하다 보니 제대로 된 과제를 수행하지 못하였다.

아래는 이틀이나 고민해서 나온 ERD 초안이다.

---
Users <-- Participants <-- Applications --> Sessions --> Lectures
---

Tables
 - Users: 사용자 테이블
 - Particpants: 신청한 사용자 테이블
 - Applications: 신청 성공 테이블
 - Sessions: 특강을 날짜와 시간별로 나눈 테이블
 - Lectures: 특강 테이블

2. 해결법

사전 멘토링 시간에 ERD에 대한 피드백을 받았다. 팀원 분들과 멘토님의 의견을 종합한 결과는 심플한 구성이었다.

때문에 다음과 같이 수정하였다.

---
Users <-- Applications --> Lectures

Participants
---

Tables
 - Users: 사용자 테이블
 - Particpants: 신청한 사용자 테이블
 - Applications: 신청 성공 테이블
 - Lectures: 특강 테이블
  • Participants 테이블은 특강을 신청한 모든 사용자의 정보를 담고 있는 테이블이다. 때문에 관계를 사용하지 않고, 단순히 참가자의 이름과 이메일 등의 연락처 & 특강 ID를 가지고 있다.

  • Applications 테이블은 특강 신청에 성공한 사용자의 ID와 특강의 ID를 가지고 있는 테이블이다.

  • Lectures 테이블은 기존 Sessions 테이블이 제거되고 Lectures에 병합되었다. Lectures에 이름과 날짜 & 시간별로 구분하며, 이는 요구사항을 달성하기 충분하다.

3. 깨달음

과제에 집중하자,

다음 과제에서도 (ERD와 같이) 잘하고 싶은 욕심은 잠시 억누르고, 요구사항을 먼저 만족시키자. 그 이후에 욕심나는 부분을 해도 늦지 않을 것이다.

profile
백엔드 개발자의 기초 다지기

0개의 댓글