YS's develop story

서버 개발 주의사항 본문

기타/라이징프로그래머 2기

서버 개발 주의사항

Yusang 2021. 3. 1. 07:07

서버 개발주의사항

프로젝트 서버 개발 시 중요한 주의 사항들을 멘토분들께서 잘 정리해 올려 주셨는데..

서버 개발 시 두고두고 참고하기 위해 정리해서 글을 작성하게 되었습니다.

1. API Index

전체적인 API 리스트를 관리하는 곳이에요.

클라이언트 개발자는 이 페이지만 보고 어떤 API가 있고 어떻게 접근하면 되는지 알 수 있어야 합니다.

아래 사항에 특히 신경 써서 작업을 진행해 줍시다.!!

 

  1. API 문서 최신화에 꼭 신경 써주세요!
  2. 테스트 서버와 실서버의 URL을 적어주세요.
  3. 각각의 항목에 대해 각 시트로 이동할 수 있는 링크를 걸어주세요. (Ctrl+K 또는 Cmd+K)
  4. API 개발 및 테스트를 마무리하고 git에 푸시하기 전에 꼭 API 명세서를 최신화해주세요.
    클라이언트 개발자가 슬랙 채널에 올라오는 푸시 알람만 보고도 바로 API를 사용할 수 있게 하기 위해서요!
  5. 프로젝트를 진행하면서 기획 변경 등의 이유로 API가 수정되는 경우가 잦을 수 있어요.
    비고란을 활용해서 클라이언트 개발자와 이슈사항 및 변동 사항을 명확히 공유할 수 있도록 해주세요.
  6. API 호출에 필요한 Parameter들의 예시를 잘 작성해주세요.
  7. Restful API는 서버 개발자의 자존심입니다! URI 설계에 신경 써주세요.
    아래 항목들은 가장 헷갈려하는 부분입니다.
    1. 리소스는 복수형을 기본으로 합니다. ex. /user/login (X), /users/login (O)
    2. URI 구분자로는 하이픈(-)을 사용합니다. ex. sign-up (O), signUp (X) sign_up (X)
    3. Query String에 들어가는 parameter들은 ?와 &를 이용하여 작성해주세요.
      ex) /products?name=&price=
    4. Path Variable은 콜론(:)을 붙여 작성해주세요. 구분자 형식으로는 카멜케이스를 사용합니다.
      ex) /products/:productIdx/like
    5. 상태 코드는 1000 단위로 나누어 표현합니다.
      1. 1000 : 성공
      2. 2XXX : Request 오류 / Validation
      3. 3XXX : Response 오류 / Validation
      4. 4000 : DB connection, Transaction 등 DB 관련된 모든 오류
    6. 성공 시에는 모두 1000번, DB 관련된 모든 오류는 4000번 상태 코드를 가집니다.(고정)
    7. Request(2XXX), Response(3XXX)와 관련된 모든 오류들은 서로 다른 값을 가집니다.
      • 예를 들어, 회원가입 API에서 이메일 중복 시 갖는 상태 코드가 3001번이라면 다른 API에서 3001번 에러코드를 갖는 에러 상황이 있어서는 안 됩니다.
        즉, 3001번 에러 코드는 무조건 이메일 중복 시 나오는 에러코드입니다.

2. 각 API 항목 시트

양식에 맞추어 해당 API에 필요한 항목들을 모두 작성해주세요.

이때 오타나 데이터 타입, 업데이트되어 새로 바뀐 값 등에 신경 써서 작성해주시기 바랍니다.

해당 API가 사용되는 제플린 화면 캡처 사진, Postman에서 API 요청한 parameter 예시,

결과 화면 캡처 사진 등을 첨부해주시면 클라이언트 개발자가 더욱 편리하게 작업할 수 있어요!

3. dev/prod

서버 구축의 경우 dev/prod를 나눠서 서버 2개를 운영합니다.

개인 프로젝트의 경우 나 혼자만 사용하면 되지만,
실제 외주 프로젝트의 경우 클라이언트 개발자와 외부 사용자들이

사용하는 서비스이기 때문에 개발 서버와 실서버를 만드는 것이 필수입니다.

 

3-1. 역할

  1. 개발 서버 : 클라이언트 개발자가 안정적으로 작업할 수 있는 서버
  2. 실서버 : 실제 사용자들이 안정적으로 서비스를 이용할 수 있는 서버

3-2. 주체별 적용 환경

  1. 서버 개발자 : local
  2. 클라이언트 개발자 : 개발 서버 (dev)
  3. 서비스 사용자 : 실서버 (prod)

로컬에서 (자신의 노트북)에서 테스트를 먼저 하신 후, dev에 반영을 해서 테스트를 진행하시면 됩니다!

따라서 로컬에도 개발환경을 구축해주시면 되고, 테스트 url은 localhost로 진행하시면 됩니다!

클라이언트 개발자분에게는 dev 주소를 알려드리면 됩니다!

 

 

Comments