HTTP 상태 코드 클라이언트가 서버에 보낸 요청이 어떻게 처리 되었는지를 보여주는 코드. 1xx (Informational) : 요청이 수신되어 처리 중 2xx (Sucessful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음. 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함. 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면, 클라이언트는 상위 상태 코드로 해석해서 처리한다. 상위 상태 코드를 보고 필요한 일을 처리하면 되고, 이 덕분에 미래에 새로운 상태 코드가 추가되어도 클..
HTTP API를 만들어보기 요구 사항 (회원 정보 관리 API를 만들어라) 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 위와 같은 API 요구 사항이 있다면, API 설계는 어떻게 해야할까? API URI 설계 (URI : Uniform Resource Identifier) URI는 계층 구조를 써야함. (read/member/list 형식) 회원 목록 조회 → /read-member-list 회원 조회 → /read-member-by-id 회원 등록 → /create-member 회원 수정 → /update-member 회원 삭제 → /delete-member API URI 설계를 할 때, 위처럼 계층 구조를 활용해서 만들 수도 있다. 그런데 이렇게 하는 것이 정말 좋은 것일까? 그렇지..
모든 것이 HTTP HTTP는 HyperText Transfer Protocol의 약자다. 현재는 HTTP 메시지에 모든 것을 담아서 전송한다. (HTML, TEXT, 이미지, 음성, 영상, 파일, JSON, XML) 거의 모든 형태의 데이터가 전송 가능. 서버 간에 데이터를 주고 받을 때도 대부분 HTTP를 사용한다. 기반 프로토콜은 뭘까? TCP : HTTP/ 1.1 , HTTP/ 2는 TCP 위에서 동작함 UDP : HTTP / 3 현재 HTTP/1.1을 주로 사용하고 있으며, HTTP/2, HTTP/3도 사용 빈도가 증가하고 있다. TCP는 안정적인 프로토콜이지만, 3 Way HandShake를 해야하며 포함되는 데이터가 많기 때문에 느린 편이다. UDP 프로토콜에서 어플리케이션 기반으로 성능을 ..
URI(Uniform Resource Identifier) URI라는 것은 Resource를 구별할 수 있는 방법을 이야기한다. 예를 들어 주민등록번호가 하나의 URI가 될 수 있다. 그 값을 보면 누구인지 식별을 할 수 있는 것이다. 여기서 말하는 Resource는 어떠한 것들도 올 수 있다. URI는 Locator와 Name으로 구별할 수 있다. URL(Uniform Resource Locator) : 리소스가 사는 곳. 내가 사는 곳으로 볼 수 있다. → https://google.com URN(Uniform Resource Name) : 내 이름으로 볼 수 있다. → animal:feret:nose, ISBN 이름만으로는 내가 원하는 곳에 찾아갈 수 없다. 예를 들어 김서방이라는 사람을 찾고 싶은..
C++ 도형, 행렬 회전 코드 : 네이버 블로그 (naver.com) C++ 도형, 행렬 회전 코드 N *M 도형을 90도 회전하게 될 경우 M*N 의 배열이 생성된다 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0... blog.naver.com 도형을 실제로 그려보고 4방향으로 돌린 것에 대한 좌표를 가진다 now 도형과 next 도형의 i,j 관계가 어떠한지 살펴보면 된다. 이 때, i,j는 당연하게도 회전될 도형의 column의 값에 영향을 받는다. def rotate_clock(n,m, graph) : temp = [[0 for _ in range(n)] for _ in range(m)] for i in range(m) : for j in range(n) : temp[i]..