23년 7월의 공부 part 2 - Serialization, HTTP methods (GET & POST), Docker platform 옵션
포스트
취소

23년 7월의 공부 part 2 - Serialization, HTTP methods (GET & POST), Docker platform 옵션

2023년 7월 동안 검색하고 공부한 것들을 정리한 내용입니다.

1. Serialization & De-Serialization

Serialization(; 직렬화, 마샬링)은 객체(object)를 연속된 byte 스트림이나 string으로 변환하는 과정을 의미합니다. 이러한 과정은 객체를 파일로 저장하거나 네트워크를 통해 전송하기 위해 필요합니다. 파이썬에서 데이터나 모델같은 객체를 pickle로 저장하거나 json.dumps()를 통해 json string으로 처리하는 과정이 serialization의 예시로 볼 수 있습니다. De-serialization(;역직렬화, 역마샬링)은 반대의 과정으로, byte 스트림이나 string을 객체 구조로 변환하는 과정을 의미합니다. pickle.load()json.load()를 통해 처리하는 과정이 deserialization의 예시로 볼 수 있습니다.

2. HTTP requests method

  1. GET
    특정 resourse에 data를 요청할 떄 사용.
    ‘query string’(key-value pair) 형태로 url을 data가 전달됨.
    (encoding type) application/x-www-form-urlencoded.
    GET 방법을 이용해 server에서 data가 client로 전달됨.
  2. POST
    특정 resourse를 create/update하기 위해 data를 전송할 때 사용.
    해당 request의 body를 통해 data가 전달됨.
    (encoding type) application/x-www-form-urlencoded 또는 multipart/form-data.
    POST 방법을 이용해 client가 server에 data를 전달함.

3. Docker platform 옵션

ARM 기반 mac을 이용할 경우, docker image의 platform이 달라서 문제가 생기는 경우가 있습니다. 이때 해결 방법은 아래 3가지가 있습니다.

  1. build에 platform에 대한 옵션을 설정 (docker build --platform linux/amd64).
  2. dockerfile이나 yaml 파일에 platform을 설정 (platform: linux/amd64).
  3. docker default platform을 환경변수로 설정 (export DOCKER_DEFAULT_PLATFORM=linux/amd64).
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.