[수업과제] 카우치코딩 팀 프로젝트 리뷰 ③

devHagaa·2022년 1월 25일
0

오늘 수업에서 다룬 내용

오늘 수업에서는 지난 목요일에 과제로 내주신 DB 및 API 명세서를 보고 피드백해 주시는 시간을 가졌다.

PATCH vs PUT

참고 : https://programmer93.tistory.com/39

HTTP Method 중에 PUT과 PATCH는 리소스의 업데이트를 의미한다.
리소스를 업데이트 한다는 점에서는 같은 역할을 하는 메소드처럼 보이지만 두개의 요청에는 약간의 차이가 있다.

PUT : 리소스의 모든 것을 업데이트 한다.

PATCH : 리소스의 일부를 업데이트 한다.

예를 들어, 아래와 같은 회원이라는 리소스가 있을 때
| 회원 (member) | 1 |
|:----------:|:----------:|
| 이름 (name) | 홍길동 |
| 나이 (age) | 18 |
| 성별 (gender) | M |

PUT
PUT으로 요청을 보내면

PUT /members/1
{
    name : "홍길동",
    age : 19,
    gender : "M"
}
회원 (member)1
이름 (name)홍길동
나이 (age)19
성별 (gender)M

이렇게 요청 보낸 값을 그대로 업데이트 한다.

만약, 나이와 성별을 빼고 요청을 보낸다면

PUT /members/1
{
    name : "김길동",
}
회원 (member)1
이름 (name)김길동
나이 (age)
성별 (gender)

보내지지 않은 값에 대해서는 null 값으로 변한다.

PATCH
반면, PATCH로 아래와 같은 요청을 보냈을 때

PUT /members/1
{
    name : "김길동",
}
회원 (member)1
이름 (name)김길동
나이 (age)18
성별 (gender)M

요청에 포함되어 있는 부분만 변경이 된다는 차이점이 있다.

REST API 디자인 가이드

1. URL에 케밥케이스(kebab-case)를 사용하자

orders의 목록을 반환하는 API를 만든다고 가정했을 때

Bad:

[GET] /systemOrders 
[GET] /system_orders

Good:

[GET] /system-orders

2. Path Variable에는 카멜케이스(camelCase)를 사용하자

주문내역 조회 URL을 만든다고 가정했을 대, 주문내역이라는 Orders 하위에 orderId가 있을 것이다. Path Variable에 해당하는 orderID는 카멜케이스를 사용한다.

Bad:

[GET] /orders/{order_id} 
[GET] /orders/{OrderId}

Good:

[GET] /orders/{orderId}

리스트 API의 Query String

page size sort


느낀점

정말.. 세상에는 잘 하는 사람들이 너무 많고 똑똑한 사람도 너무 많다. 우리 팀원들도 그렇지만 다른 사람들이 말할 때, 멘토님의 설명을 들을 때 내가 너무 모르고 있던 것들이 많았다는 것을 하루하루 깨닫는다. 이전 시간에서도 느끼고 있었지만 이번주 들어서 가장 크게 느끼고 덜컥 걱정이 됐다. 팀원들에게 민폐가 될까봐ㅠㅠ
공부가 많이 부족했다는 걸 실감하고 내가 당장 이 프로젝트를 위해서 공부해야할 것이 뭐가 있는지 정리해봤는데 너무 많은 것이다. 하지만 주어진 시간은 짧기 때문에 다 공부하고나서 프로젝트를 진행할 수는 없다.

최근에 계속 여러가지 생각과 감정이 오가는 날들의 연속이긴 했지만 오늘따라 유독 그랬던 것 같다.

'이렇게 기본이 안된 상태로 멘토님의 도움을 받는다고 해도 주어진 기간안에 할 수 있을까?', '팀원들에게 피해가 갈 것 같다' 등 여러가지 생각이 들면서 조금 위축되기도 하고 많은 생각이 들었다.

이 때까지의 나는 그럼에도 불구하고 조금씩 성장해 나가고 지금까지 혼자 이겨내왔다는 걸 스스로 상기하면서 겨우 멘탈을 부여잡고는 있지만, 혼자할 때와 팀을 이루었을 때의 부담감은 차원이 다른 것 같다. 그리고 나는 특히 팀원들이 캐리하는 상황에 매우 익숙하지 않기 때문에 미리부터 팀원들에게 미안해지는 이 기분.. 정말 싫다. 하루 24시간을 다 써도 될까 말까 싶은데 직장다니면서 어떻게 하지?ㅎ......

이 프로젝트의 과정과 결과가 어떻게 될 진 아직 모르지만 확실하게 오늘 알게된 건 내가 갈 길이 멀다는 것! 공부할게 엄청 많다는 것!

profile
디자이너인가 퍼블리셔인가 프론트엔드개발자인가 정체성의 혼란을 겪는 개린이

0개의 댓글