TIL(Today I Learned)
12월 14일(목)
공부한 내용을 제 언어로 빠르게 정리한 내용이라서 잘못된 내용이 있을 수 있습니다.
서버 개발 스터디
HTTP
- HTML 파일을 주고 받기 위해 개발된 프로토콜
- STATELESS
- 서버에서 클라이언트에 대한 상태를 갖지 않는다.
- 상태가 필요할 경우 세션과 쿠키를 이용
- 즉, 각각의 HTTP 요청은 서로 독립적이다.
- 서버에서 클라이언트에 대한 상태를 갖지 않는다.
- HTTP 요청
- HTTP Method
- GET(Retrieve), POST(Create), PUT(Update), DELETE(Delete) 등…
- HTTP Method
- HTTP 응답
- HTTP 상태코드
- 1xx(정보 응답), 2xx(성공), 3xx(리다이렉션), 4xx(클라이언트 오류), 5xx(서버오류)
- HTTP 상태코드
PUT vs PATCH
- PUT은 리소스 전체 업데이트
- 블로그 포스트 전체를 수정할 경우,
- 포스트 제목, 내용, 저자 등 전체 수정
- 블로그 포스트 전체를 수정할 경우,
- PATCH는 리소스 부분 업데이트
- 블로그 포스트 일부를 수정할 경우,
- 포스트 제목만 수정
- 블로그 포스트 일부를 수정할 경우,
API vs REST API
- API(Application Programming Interface)
- 프로그램간 상호작용을 위한 인터페이스
- REST(Representational State Transfer) API
- 형식이 지정된 리소스를 표현(Representational)이라고 한다.
- Representational State Transfer는 그럼 형식이 지정된 리소스의 상태를 전이한다는 것을 의미하겠군
- 그럼 REST(Representational State Transfer) API를 한마디로, 리소스를 지정된 형식으로 표현하고, 리소스를 전송하거나 상태를 전이할 수 있는 웹 API라고 할수 있겠군
- 요청에는 리소스 식별자(URL), HTTP 메서드, HTTP 헤더를 포함
- 형식이 지정된 리소스를 표현(Representational)이라고 한다.
머지 전략
- 코드 변경을 여러 브랜치로부터 통합할때 사용되는 전략
- Merge(Create a Merge Commit): 변경 사항을 유지하면서 머지 커밋을 만들어서 병합
- Rebase(Rebase and Merge): 대상 브렌치의 커밋을 가져와 현재 브렌치와 비교 후 변경내용을 순차적으로 재배치
- Squash(Squash and Merge): 변경 사항을 하나로 합쳐서 병함