XML, JSON, YAML

J.Noma·2021년 12월 10일
0

유튜브영상 : 얄팍한 코딩사전


탄생배경

컴퓨터가 어떤 정보를 서로 전달하려면 결국 텍스트로 전달해야 합니다

단순한 구조를 가지는 신문기사나 장보기 목록같은 것(메모장에서 콤마(,)로 구분)들은 텍스트로 명확히 표현할 수 있어 문제가 없지만

아래의 표처럼 (특히 중첩 계층을 가진) 복잡한 구조의 정보를 어떻게 표현할지는 모든 사람이 명확한 기준을 가지기 어렵습니다

그래서 정보를 주는 곳과 받는 곳 사이에 이런 구조에 대한 약속을 하게 됩니다
(= 텍스트로 이렇게 표현하면 이런 구조의 정보를 뜻하는 것이다)

이 약속들 중 가장 대중적으로 사용되는 것이 XML과 JSON입니다


XML

안정성이 요구되는 곳에서 XML이 사용됩니다

JSON이 대중적이지만 XML만의 장점들이 있습니다

1. 오류에 강하다
JSON은 한 글자만 틀려도 전체 구조가 깨지지만
XML은 tag로 각각을 전부 감싸주므로 오타가 발생한 곳만 깨집니다

2. Scheme을 명시할 수 있다
아래와 같이 xsd 파일에 구조를 명시하고 이를 준수하는지 체크할 수도 있습니다
어떤 문서의 정보 구조를 엄격하게 검사해야 할 때 유용합니다


JSON

가벼움이 중시되는 곳에 JSON이 사용됩니다

XML은 가독성이 낮고 open/close tag를 pair로 작성해야하는 번거로움이 있습니다
JSON은 이를 개선하여 상대적으로 가볍게 작성할 수 있는 포맷입니다


YAML

YAML은 XML/JSON과 달리 '사람이 보기 좋도록' 하는 것을 목표합니다

아래와 같이 줄바꿈, indent에 기반하므로 한 줄로 작성되지는 못합니다


Serializing vs Parsing

Serialization

Parsing

Deserializing을 포함하는 더 넓은 의미
Data를 보고 의미를 해석하는 과정

Parsing이 들어가는 과정 예시
ex) 브라우저가 HTML을 읽는 과정
ex) 코드를 컴파일하는 과정
ex) 압축을 해제하는 과정

profile
노션으로 이사갑니다 https://tungsten-run-778.notion.site/Study-Archive-98e51c3793684d428070695d5722d1fe

0개의 댓글