Section 1 실습과제 회고

CHLEE·2023년 4월 5일
0

DevOps

목록 보기
9/24

Section1 실습과제 회고

Day 1

  • ERD 설계
    • 유저 - 장바구니 - 상품 -카테고리
    • 장바구니는 유저와 상품의 ID를 FK로 받음.

  • fastify 프로젝트 생성, 팀 레포 클론 후 /server/routes에 디렉토리를 만들어서 Endpoint로 쓰이는 것을 연습하고 확인.

Day 2

  • 본격적인 서버와 데이터베이스 설계 및 연결
MethodURIDescriptionRequest BodyResponse Status CodeResponse Body
GET/user전체 사용자 조회-200 OKListhttps://www.notion.so/52c451c26a6d436dbc3801f23133233d
GET/user/{user-id}개별 사용자 조회-200 OKhttps://www.notion.so/52c451c26a6d436dbc3801f23133233d
POST/user개별 사용자 등록https://www.notion.so/52c451c26a6d436dbc3801f23133233d201 Createdhttps://www.notion.so/52c451c26a6d436dbc3801f23133233d
PATCH/user/{user-id}개별 사용자 수정https://www.notion.so/52c451c26a6d436dbc3801f23133233d200 OKhttps://www.notion.so/52c451c26a6d436dbc3801f23133233d
DELETE/user개별 사용자 삭제-200 OKhttps://www.notion.so/52c451c26a6d436dbc3801f23133233d

내가 맡은 API 부분은 User API였다. 사실 최소 요구사항에 포함은 안되어있지만 실제 서비스에서 중요한 부분이고 팀원들 각자 맡아서 구현해야할 부분들이 있었기에 User 테이블 CRUD를 맡게 되었다.

Fastify, PostgreSQL이 익숙하지 않았고, 아직 자바스크립트도 잘 몰라서 처음 구현하는데에는 어려움이 있어보였다. 그래도 유어클래스 내용과 팀원들의 도움으로 하나씩 해결해 나갈 수 있었다.

특히 팀장님이 공식문서를 읽어보면 좋다고 조언을 해주셨고 덕분에 도움이 많이 되었다.

https://github.com/fastify/fastify-postgres → 해당 예시들만 읽어봐도 프로젝트 진행하고 이해하는데 수월하다.

앞으로도 잘 모르는 것이 있거나 기본적인 사용법이 궁금할 때는 공식문서나 공식 깃허브를 잘 읽어보는 습관을 들여야겠다.

  • UPDATE로 값들을 수정하는 상황에서 쿼리문 작성 중 나온 에러!

invalid input syntax for type boolean

→ 바로 구글링을 하였고 다행히 똑같은 에러의 내용을 가진 stackoverflow 글이 있었다.

https://stackoverflow.com/questions/13495840/postgresql-update-error-error-invalid-input-syntax-for-type-boolean

You must separate fields in SET part with "," , not with "AND"

너무 간단하게 해결?해버렸지만 흔히 하기 쉬운 실수라고도 적혀있었다. SQL도 미묘하게 문법들이 달라서 쓸 때마다 잘 검색해서 찾아봐야겠다.

고마워요! stackoverflow!👍

  • Git으로 협업하는 과정

    팀 레포 작성 → 기본 세팅 + 이슈생성→ 팀 레포 포크 → 로컬 환경에 클론 → 로컬 작업 진행 → 변경된 파일 git add → git commit (#본인담당 이슈) → git push (로컬 환경에서 나의 원격 레포로) → 팀 레포에 pull request → 검토 후 머지

    이번 과정에서 팀으로서 Git 협업은 처음이라 긴장했었는데, 다행히 이번엔 큰 문제 없이 진행되었다. 지난번 페어끼리 Git으로 연습할 때 온갖 시행착오..?를 겪어서 그런지 조금은 익숙하고 편하게 쓸 수 있었고 확실히 Git이 협업에 있어서 장점이 있다는 걸 느꼈다. 그리고 팀 자체적으로 Commit Message Convetion을 만들어서 이슈와 각자 작업 내용을 기록하는 연습을 해보았는데 처음엔 어색해도 끝나고 보니 깔끔하고 진행상황이 잘 기록되어있어 보기 좋았다. 다음번 팀 협업때도 잘 쓰도록 해야겠다.

Day 3

팀원 각자가 구현한 것들을 pull request하였고 merge 후 잘 작동하는지 확인해보고 미비한 점들을 리팩토링하면서 조금씩 가다듬었다. 팀 과제 최종 완성본의 코드들을 다시 쭉 보면서 공부를 더 해야 할 것 같다. 완벽한 서비스 구현은 아니기에 최소한의 요구사항을 충족해서 잘 진행된 것 같아 좋았다. 다음 섹션 과제가 어떨지 기대반 걱정반 되면서도 앞으로 공부하게 될 내용들을 착실하게 가져가도록 하자💪

profile
🤗

0개의 댓글