단어 사전
Serialization
Serialize, 직렬화라는 것은 어떤 데이터를 다른 곳에서 사용할 수 있게 다른 포맷의 데이터로 바꾸는 것을 의미한다.
조금 더 자세하게 말하면, 메모리를 디스크에 저장하거나 네트워크 통신에 사용하기 위한 형식으로 변환하는 것을 말한다. (전송/저장 가능한 데이터)
직렬화를 통해 데이터들을 파일 저장 혹은 데이터 통신에서 파싱 할 수 있는 유의미한 데이터로 만들기 위해 사용한다.
Deserialization
반대로 역직렬화는 다른 포맷의 데이터로 바뀐 데이터를 원래 포맷으로 복구하는 것을 뜻한다.
즉 디스크에 저장한 데이터를 읽거나, 네트워크 통신으로 받은 데이터를 메모리에 쓸 수 있도록 다시 변환하는 것이다.
Polyfill
‘충전솜’이라는 의미를 갖고 있다. 즉, 솜이 꺼졌을때 충전솜을 채워 메꾸는 역할을 한다.
웹개발에서는 브라우저에서 지원하지 않는 코드를 사용가능한 코드 조각이나 플러그인(추가기능)을 의미한다.
보통 바벨에서 ESNext에서 지원하는 문법을 ES5 문법으로 번역해주지만, ES5에는 없는 ES6의 Map, Promise, Set 이런 애들은 존재하지 않으니 번역해줄 수가 없다.
그래서 이것을 메꿔주기 위해서 polyfill을 사용한다. (Map, Promise, Set 등을 사용가능한 객체로 만들어준다.)
Health check
헬스 체크(health check)는 전송 주기, 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것을 의미한다. 물론, 서버에 부하가 되지 않을 만큼 요청 횟수가 적절해야 한다.
HTTP, TCP 등 다양한 방법으로 요청을 보내며, 이 요청이 정상적으로 이루어졌다면 정상적인 서버로 판별한다.
예) TCP 요청을 보냈는데 3-way handshake가 일어나지 않았다면 비정상적인 서버로 판별