내일배움캠프 2주차 회고록

김광훈·2021년 9월 26일
2

WIL(Weekly I Learned)

목록 보기
2/7

💻프로젝트 시작

⚙Fact


1. 프로젝트 설계 단계

  • 요리 관련 openAPI를 사용하여 재료를 선택하면 재료가 사용되는 요리를 추천하는 페이지 개발하기로 함.
  • 기능은 최소 요리 레시피 추천, 좋아요, 댓글 작성까지 개발하기로 함.
  • API는 5가지를 개발하기로 함
    🔧 레시피 리스트 GET
    🔧 레시피 상세보기 GET
    🔧 댓글 작성 POST
    🔧 좋아요 리스트 보기 GET
    🔧 좋아요 선택 PUT
    🔧 좋아요 취소 PUT
  • 프레임 와이어(페이지 구성) 구상 완료
  • Github에 REPO 생성

2. 개발 시작

  • 개발해야할 기능에 대해 이슈 작성 및 개발하려는 기능 선정 작업
  • openAPI에서 스크립트로 호출이 안되고 소스가 6000개가 넘는데 한번에 호출 가능한 갯수가 1000개 밖에 안됨.
    🔧 openAPI의 소스를 python의 requests로 받아 DB에 저장해서 사용하기로 정함.
  • 레시피 리스트가 화면에 출력되도록 하는 기능과 상세 페이지, 댓글 작성 기능 추가를 맡음
  • 레시피 리스트의 경우 DB에서 받은 모든 레시피를 화면에 출력되도록 작성.
  • 의사소통 미스로 상세페이지와, 댓글 기능은 팀원과 개발이 겹쳐서 작업을 진행했음.
    🔧 상세페이지와, 댓글 기능은 팀원분이 작성한 코드로 진행하기로 결정.
  • 레시피 리스트 출력 기능 추가 후 첫 병합 실시. 에러 코드 및 충돌 多발생.
    🔧 이후 PR후 병합하기로 결정.
  • 다음 기능 개발로 선정된 재료 조건에 맞게 레시피 출력되는 기능을 개발하기로 함.
    🔧 아직 재료 조건을 선정하는 기능이 개발안되었기 때문에 대기.
  • 현재 레시피 리스트 프론트엔드 부분 수정중.

⚙Feeling


1. 프로젝트 설계의 중요성
프로젝트 시작하기 앞서 프로젝트를 설계하는 단계가 얼마나 중요한지 느낄 수 있었다. 팀원들과 함께 디테일 신경쓰면서 구상했다고 생각했지만, 막상 개발이 시작되고선 API 주소이름, 프론트 부분, DB 할당, 변수이름 스타일 등 여러 상황에서 불편이 발생했고 이것은 상당한 인력이 소비되는 결과로 이어졌다. 처음에 조금 더 디테일 했다면 좋았겠다고 생각하며 아쉬움을 달랬지만, 팀원분들이 모두 적극적으로 참여해준 덕분에 첫 프로젝트 진행임에도 불구하고 수월하게 진행할 수 있었다.

2. issue!
개발자는 항상 Github의 issue를 확인해야된다는 걸 뼈저리게 느꼈다. 내가 issue를 확인하지 않고 기능 개발하다 팀원과 겹치는 상황이 발생했다. 왜 도대체 내가 확인을 안했는가 나조차 이해가 되지 않는 상황이였다. 팀원분이 작성하신 코드가 더 깔끔하고 훌륭하게 작성되어 있어 내 코드를 날리고 팀원분의 코드를 사용하기로 했지만, 내 새끼... 열심히 작성했는데 조금은 아쉬웠었다. 다음에는 꼭 이런일 없도록 해야겠다.

3. 일의 순서!
프로젝트를 함께 진행하며 내 공부도 따로 시간을 내야하는 상황이 발생해버렸다. 첫 프로젝트고 나조차도 내가 어느정도까지 능력이 되는지 모르니깐, 도저히 공부하는 시간을 내기가 어렵분더러 공부하는 내내 뭔가 불안한 마음을 갖게 되는거 같았다. 결국 주말동안 개발할 상황이 되지 않아 내 공부를 시작했지만 여전히 마음은 불편한 상황이다. 일의 분배도 중요한 법인데 이게 참 어려운거 같다.

⚙Finding/Future


1. 테스트는 체계적으로!
프로젝트를 진행하면서 기능이 실현 가능한지 기술 테스트를 하게 되는 상황이 많이 발생했다. 때는 내가 프론트 부분의 레시피 카드가 순서대로 나열되지 않아 바르게 나열되도록 버그를 수정하는 과정에서 발생했다. 이 문제를 해결하기 위해 나는 구글링을 시작했고 다른 사이트의 코드를 가져와 붙였다 떼었다. 반복해가며 버그를 해결하고 있었다. 하지만 디버깅을 시작한지 몇시간째 어느새 같은 글을 수십번을 읽게 되는 일이 발생했다. 만약 체계적으로 테스트를 진행 했다면 불필요한 행동으로 버린 시간을 아낄 수 있었을텐데...

✔ 기술 테스트 시 체크리스트를 작성하고, 테스트 결과를 간단하게나마 작성하자.

2. 프로젝트는 시작이 반이다!
프로젝트 시작할 때 설계를 디테일하게 하는 것이 굉장히 중요하다는 것을 발견했다. 4명의 팀원들이 함께 작업하는 만큼 개발을 시작하기 앞서 많은 것들을 약속해야 한다는 것을 느꼈따. 코드 스타일, 와이어 프레임(프론트 부분), API url, DB할당 등 이런 것들에 대해 약속을 하고 개발을 시작한다면 훨씬 수월하고 깔끔하게 프로젝트를 진행할 수 있지 않을까?
다음 프로젝트를 시작할 때는 최소한으로 다음 사항을 체크했는지 확인해야겠다.

✔ 코드 스타일 선정 했는가?
✔ API 갯수와 url에 대해 약속 했는가?
✔ 프론트 뼈대는 세워졌는가?
✔ DB 할당에 대해 의논 됬는가?

3. 배움의 장
주간 테스트 때도 느꼈지만, 다른 사람이 작성한 코드를 보는 것은 그 자체만으로도 훌륭한 공부가 된다는 것을 느꼈다. 이번 프로젝트를 진행하면서 팀원분들의 코드를 보면서 '이렇게도 짤 수 있구나!'라는 생각을 얼마나 많이 했는지 모르겠다. 팀 프로젝트를 진행하다 보면 서로가 서로의 스승이자 제자가 되지 않을까 싶다.

✔ 프로젝트 진행하며 팀원분들이 짠 코드 리뷰하며 공부하자!

profile
잘 부탁드려요

0개의 댓글