IT&Programming/Project Process

GDSC Solution Challenge 일지 - 2

YongE 2024. 1. 25. 02:09

CORS 정책에 며칠 발목이 잡혔지만 해결했다. 왜 CORS에서 발목이 잡혔나에 대한 이유와 해결과정은 나중에 한꺼번에 정리해서 올릴 때 같이 해야겠다. 

 

메인 기능 구현에 들어가기 전에 ERD 설계를 했다.

 

말 그대로 모든 게 처음이라 이것도 어떻게 해야 할지 고민이 많았다. 데이터베이스 강의를 들었지만 막상 설계를 들어갈 때는 다시 공부해야 했다.

 

지금 보니 배치를 다시 해야 할 것 같다.

 

정규화를 한다고 한 건데 불만족스러운 부분이 많지만 이 또한 경험이다. 다음에는 더 보강해서 할 수 있다고 생각한다!

 

무엇보다도 정말 재밌다. 강의로 들었을 땐 지루한 부분이 많았지만 역시 실전에 들어가서 팀원과 의미 있다고 생각하는 결과물을 만드니 뿌듯하다. 역시 백문이 불여일견! 백 번 듣는 것보다 한 번 해(보)는 게 낫다!

 

이제 ERD 설계대로 각종 엔터티, 레포지토리를 작성하고 메인 기능에 들어갔다. ERD 대로 코드를 작성해준 것은 팀원이다. 믿음직스러워라.

 

메인기능을 이제 시작하려는데 로직을 어떻게 짤지 한참 고민했다. 요구 사항(조건)은 다음과 같다.

 

1. 밥, 반찬, 대표메뉴, 간식 이 4개의 카테고리에서 랜덤하게 가져와야 한다.
2. 밥 1개, 반찬 2~3개, 대표메뉴 1개, 간식 2개 -> 간식은 하나씩 나눠서 총 5가지의 식단이 완성돼야 한다.
3. 유저의 설문조사의 결과로 나온 열량, 탄수화물, 단백질, 지방 수치가 있다면 이 5가지 식단의 합은 이를 초과해서는 안된다. 즉, 5가지의 식단의 열탄단지는 기준점을 넘어서는 안된다.

 

많은 테이블을 조회해서 랜덤하게, 하지만 조건에 만족시킬 수 있도록 짜는 건 결코 쉽지 않았다. 이제 막 코딩하려는 찰나, 뭐가 이상했다. 알고보니 팀원이 ERD 설계대로 엔터티와 레포지토리를 작성해주지 않은 것! 처음이니까 그럴 수 있지.

잘 설명하니까 직접 수습해주었다. 역시 믿음직스럽다!

 

어쨌든 결과적으로 메인기능 구현에 성공했다. 처음 로직 짜고 구현하고, 테스트할 때는 정말 가슴 쫄렸다. 복잡한 알고리즘 문제 푸는 기분이랄까? 높아보이는 산을 넘을 때의 쾌감은 잊을 수가 없다.

 

메인기능도 구현했겠다. 한 번도 배포를 해본 적이 없으니 맛만 볼까 싶어서 docker를 쓰지 않고 직접 해보는 방식으로 시도했는데 한 이틀 썼다. 낯설지만 재밌는 리눅스, 익숙하지 않은 원격조종, 이해할 수 없는 명령어, 알듯 말듯 설명이 약간 부족한 자료 등등. 많은 난관이 있었지만 직접 해결해서 돌아가는 거 보면 이렇게 기쁠 수가 없다...!

 

다음은 docker로 배포해봐야겠다.

 

라고 생각했지만 구현해야 할 기능이 남아있다. 아마 이것이 이번 프로젝트에서 내가 구현할 마지막 기능이 아닐까 싶다.

 

마지막까지 화이팅!!

728x90
반응형

'IT&Programming > Project Process' 카테고리의 다른 글

GDSC Solution Challenge 일지 - 3  (0) 2024.03.01
GDSC Solution Challenge 일지 -1  (1) 2024.01.07