[Assignment]1 에이모회고

raejun·2021년 11월 3일
0

프로젝트(자세히)

게시판 Restful API를 개발

  • 게시글 CRUD 및 검색
  • 사용자 회원가입 및 로그인
  • 게시글 카테고리 추가
  • 댓글 및 대댓글 CRUD, 게시글 조회수 표시

기술

  • node express
  • mongoose, atlas
  • postman

과제 접근

  • 원티드 과제로 제출했던 게시글 CRUD 및 사용자 로그인과 회원가입 API를 확장하는 방식으로 결정하였다. API를 설계 후 TDD와 OOP에 대한 이야기 나왔지만, 시간 관계상 포기하였다. 구현 후 유니테스트를 만들기로 했다. 멘토님께서는 페어 프로그래밍을 지향하라고 하셨지만 그럴 여유는 없었다. 각자 역할을 분담하여 과제를 진행하였다.

구현

  • 데이터베이스쪽과 게시글 조회수를 맡았다. 데이터베이스는 node에서 mongoose를 이용하였고 atlas로 클라우드 데이터베이스를 사용하였다. 이전에 들은 강의에서 mongoDB에 대한 설명이 있어 강의를 다시 들으며 데이터베이스 환경을 구성하였다. atlas에서는 따로 설정할 것이 없었고 접속할 수 있는 키만 있으면 됐다. mongoose는 NoSQL이지만 스키마를 만들 수 있었다. node에서 스키마를 만들어 atlas에 보내 저장하는 형태로 데이터베이스를 만들었다. 게시글 조회수 구현은 로그인한 유저가 자신의 글을 읽지 못하게 구현을 하였다. 하지만, 이를 의미하는 것이 아닌 로그인한 유저가 처음으로 접근한 글에 조회수를 올리고 이후 접근했던 게시글에는 조회수를 올리지 않는 것을 요구했다. 쿠키를 통해 이를 구현하였다. 게시글에 처음 접근하면 조회수를 올리고 유저의 쿠키에 게시글 id를 담아 보내주었고 다시 같은 글에 접근 시 쿠키를 확인하여 해당 게시글 id가 존재하면 조회수가 올라가지 않게 하였다. 로그아웃 기능이 없어 쿠키를 따로 삭제해주지 못하고 시간을 두어 자동으로 없어지게 하였다.

소통

  • 사실 팀 프로젝트 경험이 많지 않아 두려움이 있었다. 하지만 팀원 중 한 분이 상당히 외향적이어서 대화를 이끌어 가셨다. 팀장님이 준비하신 자기소개를 하며 아이스브레이킹하는 모습이 인상적이었다. 미리 준비한 것을 보니 상당한 내공이 있음을 느꼈다. 나는 대화에 적극 참여하려 했으나 과제를 하다 보니 모르는 이야기가 너무 많아 침묵을 유지해야 했다.(팀원들이 얘기할 때마다 검색해서 찾아보느라 바빴다) 모르는 것이 나올 때마다 질문을 할까도 생각했지만 모르는 게 너무 많았고 없는 시간에 질문으로 시간을 소비하면 제출기한내에 완성하지 못할거라는 생각이 들어 질문하지 못하였다.(대화에 끼지 못하니 나 자신이 점점 작아졌다)

끝마침

  • 시작부터 너무나 고난이었다. 주어진 시간에 비해 내 지식은 한없이 짧았다. 생각해보면 팀원의 배려가 아니었으면 포기했을지도 모른다. 깃 협업 사용법이나 코딩컨벤션 같은 자료를 공유해 주었고 예시를 보여주는 친절함까지 있었다. 질문에 항상 답을 잘해주었고 비교적 쉬운 역할을 주었다. 배려 덕에 남는 시간에 구현한 코드와 공유한 자료를 익히려 노력하였다. 단기간에 급속히 성장하여 팀원들의 몫을 덜어줄 순 없겠지만 조금씩 팀원들이 하는 이야기를 알아듣고 대화에 적극적으로 참여하여 협업에 도움이 되어야겠다.
profile
정리노트

0개의 댓글