Project/friend42

[friend42] 회의 그리고 멘토링

jaewpark 2022. 6. 8. 10:27

이 프로젝트의 초점은 무엇인가?
최소한의 제스쳐로 원하는 정보를 보여주려고 했다.

기본 디자인과 구성은 내가 했지만 현재 백엔드 역할을 많이 하는 중이고 프론트엔드는 팀원이 하다보니 문제점에 대해서 모르고 있었고, 어떤 자료가 필요한 지 모르고 백엔드, 프론트엔드로서 각자의 역할을 하다보니 막히는 부분이 생겨서 회의를 하게 되었다.

회의에서 크게 달라진 것은

  • 메인 컬러 ( 60 30 10 법칙?으로 색을 구성할 예정)
  • 목록이라는 항목을 없애고 즐겨찾기 추가
  • 정렬하는 우선순위에 대해 논의
    1. 즐겨찾기
    2. 현재 로그인 상태 (유/무)
    3. 2번에서 로그인 시간 기준으로 최신순
  • 시멘틱 라이브러리에 있는 기능과 비슷하게 알람 구현
  • 친구 삭제 시 모달창으로 한 번 더 삭제가 맞는 건지 확인
  • 친구 검색 (모달창)
    1. 검색할 때, 실시간으로 필터링 되어 보여주기 (가능한)
    2. 닉네임을 입력하고 검색을 눌러야지 결과 보여줌
  • 드래그 앤 드롭 기능 구현
  • 친구 메모하기 기능 (친구 카드를 누르면 카드가 뒤집히면서 상태 보여주기)
  • 실시간으로 유저의 로그인 상황을 반영해야 하는가?

멘토링을 하면서

질문 목록

  1. 백엔드에서 에러 코드( Node.js 일반적으로 사용하는 방법 ) 및 현재 코드 리뷰
  2. 백엔드에서는 코드 동작이 제대로 이루어져 있는지 어떻게 확인해야 하는 지
  3. 백엔드와 프론트엔드끼리 협업을 위해서 고민해야 되는 것이 무엇인지, 제대로 된 협업 방향
  4. 도메인, 배포에 대해서 어떻게 해야 하는 지 (AWS EC2 혹은 Heroku를 알아보았고, 무료이기도 하고 간단하게 할 수 있다는 Heroku로 채택)
  5. 프로젝트가 2명인데, 피그마 혹은 스웨거를 사용해야 하는 지

#1

에러 코드의 경우, status에 따른 명시된 에러가 있기에 HTTP 상태 코드에 따라야 한다.

HTTP 상태 코드에 나와있지 않은 것에 대해서는 커스텀하여 사용하면 된다.

에러 코드에서 API의 GET 경우에는 동작에는 문제가 없을 수 있지만, req.body 사용이 아니라 req.query를 사용해야 한다.

브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을 제한합니다. 그래서 cross-origin 요청을 하려면 서버의 동의가 필요하는데, HTTP-header를 이용해서 가능하게 만드는 것이 CORS(Cross-Origin Resource Sharing)

백엔드와 프론트엔드 연결을 하는데 필요로 할 것이다.

#2

테스트 코드의 필요성, Jest 라는 테스팅 라이브러리가 제일 유명하니 사용하는 게 좋을 것이다.

postman으로 일일이 입력하는 것은 귀찮음과 동시에 불편하기에 Jest를 이용해서 테스트를 거쳐 한 번에 확인하는 것을 추천받았다. 그 다음으로 유명한 Mock 이라는 테스팅 라이브러리가 있다.

테스트의 필요성은 언제나 듣는다.
Frontend에서도 보여지는 거니깐 코드를 고쳐가면서 직접 보지만 나중에 협업을 위해서라도 지금 경험해 보는 게 좋을 거 같아서 해볼 예정

#3

기능적으로 무엇이 필요하다 등의 요구를 서류화 하는 것이 중요, 협업에 대해 기록

프론트엔드에서 API 값으로 명확하게 어떤 게 필요한 지 백엔드에게 전달하면

GET, POST, PUT, DELETE 를 REST API design guide에 맞춰서 작성하고 프론트엔드에서 json 파일을 재가공 하지 않게끔 만들어서 전달(값을 가공하고 이러한 것을 하지 않아야 한다. 예를 들면 sorting 같은 작업)

#4

도메인 구매까지는 하지 않아도 heroku 자체적 제공된 주소를 사용할 수 있다. (물론 원하는 주소가 아닌 단점)

heroku 사용하는 것에 동의를 하지만 클라우드 경험으로 Azure를 사용하는 것을 추천, aws는 기본적으로 한 달에 2 ~ 3 만원은 생각해야하고 Azure는 무료로 사용 가능하며 github와 같은 microsoft이기에 계정을 로그인 하여 원하는 레포지토리를 바로 업로드하는 방식으로 손쉽게 할 수 있다.