인터넷이란 전세계 컴퓨터끼리 숫자, 문자를 쉽게 주고받을 수 있게 도와주는 네트워크입니다.
하지만 인터넷의 발전에 따라 이렇게 주고받는 데이터도 문자와 숫자보다 더 복잡하고 정보량이 많은 데이터를 송신하고 싶어 집니다.
이런 복잡한 데이터를 깜끔한 형식으로 정리한 데이터는 대표적으로 XML, CSV, JSON이 있습니다.
vvvvvvvvv
(C, 파이썬, 펄, RFC2822에서 정의된 e-mail. 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 방식은...)
XML example - 기호와 문자, 줄바꿈을 통해 데이터를 보기 쉽게 나타냅니다.
<데이터이름> 값 </데이터이름>
<데이터이름> 값 </데이터이름>
<데이터이름> 값 </데이터이름>
단점: 작성하기 어렵고 귀찮음 / 용량이 큼
CSV example - 콤마(,)와 줄바꿈을 통해 데이터를 보기 쉽게 나타냅니다.
Year, Brand, Model
1997, Ford, E350
2000, Mercury, Cougar
장점: DB에 있던거를 CSV로 변환하는 과정이 쉽고 편리합니다.
단점: 표 안에 표를 담는 2차원보다 많은 고차원 데이터를 담기에 어려움이 있습니다.
JSON example
{ "name" : "kim", "age", 20 }
JSON은 경량 데이터 교환 형식으로, 사람이 쉽게 읽을 수 있는 텍스트 형식으로 데이터를 표현합니다. JSON은 JavaScript에서 객체를 표현하는 방식에서 착안하여 만들어졌지만, 현재는 다양한 프로그래밍 언어에서 지원되고 있습니다. 또한, JSON은 XML과 비교하여 더 간결하고, 가벼우며, 파싱 속도가 빠르다는 장점이 있어, 웹 애플리케이션 등에서 많이 사용됩니다.
JSON이 외에도 XML, YAML, Protocol Buffers, MessagePack 등이 있습니다.
XML은 HTML과 마찬가지로 마크업 언어입니다. XML은 다양한 데이터를 표현하기 위해 설계되었으며, 데이터 교환을 위한 형식으로도 많이 사용됩니다.
YAML은 "YAML Ain't Markup Language"의 약자로, 마크업 언어가 아닌 데이터 직렬화 언어입니다.
YAML은 JSON과 마찬가지로 사람이 쉽게 읽고 쓸 수 있으며, 다양한 프로그래밍 언어에서 지원됩니다.
Protocol Buffers는 구글에서 개발한 바이너리 직렬화 방식입니다. Protocol Buffers는 데이터의 크기가 작고, 직렬화 및 역직렬화 속도가 빠르다는 장점이 있습니다.
MessagePack은 JSON과 마찬가지로 경량화된 바이너리 직렬화 방식입니다. JSON보다 더 작은 크기의 데이터를 만들 수 있으며, 직렬화 및 역직렬화 속도가 매우 빠릅니다.
'🥸 CS 면접 스터디' 카테고리의 다른 글
에자일(Agile)이란? (0) | 2023.04.25 |
---|---|
In Memory 데이터베이스란 (0) | 2023.04.25 |
파이썬(Python)이란? (0) | 2023.04.25 |
PWA, Progressive Web App이란 무엇일까 (0) | 2023.04.24 |
웹 애플리케이션이란 무엇일까? (0) | 2023.04.24 |