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
- 참고자료
- 종류
- GET, POST, PUT, DELETE 등
- GET
- 특정 resourse에 data를 요청할 떄 사용.
- ‘query string’(key-value pair) 형태로 url을 data가 전달됨.
- (encoding type)
application/x-www-form-urlencoded
.- GET 방법을 이용해 server에서 data가 client로 전달됨.
- ‘query string’(key-value pair) 형태로 url을 data가 전달됨.
- POST
- 특정 resourse를 create/update하기 위해 data를 전송할 때 사용.
- 해당 request의 body를 통해 data가 전달됨.
- (encoding type)
application/x-www-form-urlencoded
또는multipart/form-data
.- POST 방법을 이용해 client가 server에 data를 전달함.
- 해당 request의 body를 통해 data가 전달됨.
3. Docker platform 옵션
ARM 기반 mac을 이용할 경우, docker image의 platform이 달라서 문제가 생기는 경우가 있습니다. 이때 해결 방법은 아래 3가지가 있습니다.
- build에 platform에 대한 옵션을 설정 (
docker build --platform linux/amd64
). - dockerfile이나 yaml 파일에 platform을 설정 (
platform: linux/amd64
). - docker default platform을 환경변수로 설정 (
export DOCKER_DEFAULT_PLATFORM=linux/amd64
).