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).