Serialize, 직렬화라는 것은 어떤 데이터를 다른 곳에서 사용할 수 있게 다른 포맷의 데이터로 바꾸는 것을 의미한다.
조금 더 자세하게 말하면, 메모리를 디스크에 저장하거나 네트워크 통신에 사용하기 위한 형식으로 변환하는 것을 말한다. (전송/저장 가능한 데이터)
직렬화를 통해 데이터들을 파일 저장 혹은 데이터 통신에서 파싱 할 수 있는 유의미한 데이터로 만들기 위해 사용한다.
반대로 역직렬화는 다른 포맷의 데이터로 바뀐 데이터를 원래 포맷으로 복구하는 것을 뜻한다.
즉 디스크에 저장한 데이터를 읽거나, 네트워크 통신으로 받은 데이터를 메모리에 쓸 수 있도록 다시 변환하는 것이다.
‘충전솜’이라는 의미를 갖고 있다. 즉, 솜이 꺼졌을때 충전솜을 채워 메꾸는 역할을 한다.
웹개발에서는 브라우저에서 지원하지 않는 코드를 사용가능한 코드 조각이나 플러그인(추가기능)을 의미한다.
보통 바벨에서 ESNext에서 지원하는 문법을 ES5 문법으로 번역해주지만, ES5에는 없는 ES6의 Map, Promise, Set 이런 애들은 존재하지 않으니 번역해줄 수가 없다.
그래서 이것을 메꿔주기 위해서 polyfill을 사용한다. (Map, Promise, Set 등을 사용가능한 객체로 만들어준다.)
헬스 체크(health check)는 전송 주기, 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것을 의미한다. 물론, 서버에 부하가 되지 않을 만큼 요청 횟수가 적절해야 한다.
HTTP, TCP 등 다양한 방법으로 요청을 보내며, 이 요청이 정상적으로 이루어졌다면 정상적인 서버로 판별한다.
예) TCP 요청을 보냈는데 3-way handshake가 일어나지 않았다면 비정상적인 서버로 판별
브로드캐스트는 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 말한다.
즉, 로컬 랜 상에 붙어있는(브로드캐스트 도메인 안에 있는) 모든 네트워크 장비들에게 보내는 통신을 의미한다.
예를 들어 동네 이장님이 마이크로 "동네 사람들! 반상회가 있으니 모이세요!" 라고 동네에 방송하는 방식과 동일
여기서 동네(방송을 듣는 영역)는 브로드캐스트 도메인과 같다.
브로드캐스트는 네트워크 상의 전체 노드로 전송되기 때문에 전체 트래픽이 증가하고,
이 패킷을 받은 CPU는 이 패킷을 처리하게 되고 PC의 성능도 떨어진다.
즉, 과도한 브로드캐스트는 전체 네트워크 성능 뿐만 아니라 PC의 성능도 떨어지게 한다.
예시)
브로드캐스트는 한 번 발생하고 끝내는 것이 아닌, 30초나 1분에 한 번씩 주기적으로 발생시킨다.
유니캐스트는 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식을 말한다.
MAC 기반으로 상대측 IP주소를 목적지로하는 일대일 통신방식으로, 현재 네트워크 상에서 가장 많이 사용되는 방식이 유니캐스트 이다.
유니캐스트 통신 방식은 그 목적지 주소가 아닌 다른 PC들의 CPU 성능을 저하시키지는 않는다.
그 이유는 자신의 MAC Address가 아니라고 판단되면 랜카드가 프레임을 버리기 때문이다.
하지만, 그룹 통신을 위하여 다중 수신자들에게 동일한 데이터를 전송하고자 할 경우 유니 캐스트 전송방식을 이용한다면 전송하고자 하는 데이터 패킷을 다수의 수신자에게 여러 번 전송해야 하며, 동일한 패킷의 중복 전송으로 인해 네트워크 효율이 저하된다.
출처