Dev-Tino

Dev-Tino 2주차(4)::XML, JSON, YAML

YAML이란?

구성파일을 작성하는 데에 일반적으로 사용되는, 사람이 읽을 수 있는 다목적 직렬화 언어이다. 효율적인 데이터 표현과 가독성을 보장하기 위해서는 YAML 파일에 사용되는 구조와 데이터 유형 및 규칙을 이해하는 것이 중요하다.

-데이터를 한 줄에 실어 보내는 것이 아니라 사람이 보기 좋게 작성하는 데에 목적을 둔다.

-파이썬과 같이 줄바꿈과 태그를 필수적으로 요구한다. 이를 어기면 정보가 파괴된다.(후술할 minify 불가능)

-들여쓰기(indenting)를 사용해 정보 구조가 직관적이다. 배열 요소는 대시를 사용해 표현한다.

-주석을 사용하며, 상속을 통해 여러 데이터를 효율적으로 작성할 수 있다.

JSON이란?

Java Script Object Notation의 약자. 데이터를 저장하고 전송하기 위한 가벼운 형식, 데이터를 서버에서 웹페이지로 전송할 때 자주 사용.

-XML에 비해 코드량이 적다.

-자바 스크립트의 객체 표기법으로, 보다 간결한 형태로 구조화된 정도를 표시한다.

-간결하고 작성하기 쉽다.

-문법 오류에 취약하며 주석을 달 수 없다는 단점이 있다.

XML이란?

W3C에서 개발된, 다른 특수한 목적을 가지는 마크업 언어를 만드는 데 사용하도록 권장하는 다목적 마크업 언어- SGML(Standard Generalized Markup Language, GML의 후속 언어)-의 단순화된 부분 집합으로 다른 많은 종류의 데이터를 기술하는 데에 사용할 수 있다. 주로 다른 종류의 시스템, 특히 인터넷에 연결된 시스템끼리 데이터를 쉽게 주고 받을 수 있게 하여 HTML의 한계를 극복할 목적으로 만들어졌다.

-XML은 구조적인 데이터를 위한 것이다.

-XML은 다소 HTML 같이 보인다. (태그 형식을 이용한다.)

-XML은 텍스트이며, 읽히는 것만을 뜻하지 않는다.

-XML은 크기가 커진다.

-XML은 기술의 집합이다.

-XML은 새로운 기술이 아니라 발전한 기술이다.

-XML은 HTML에서 XHTML로 이끌었다.

-XML은 모듈식(프로그램을 구성하는 구성 요소로, 관련된 데이터와 함수를 하나로 묶은 단위를 의미한다.) 이다.

-XML은 RDF와 시맨틱 웹의 토대이다.

-XML은 라이선스 제약이 없으며, 플랫폼이 독립적이고, 많은 지원이 있다.

기반 언어는 다음과 같다:: RDF, RSS, Atom… (유명한 것으로는 SVG가 있다.)

이 세 가지는 모두 ‘데이터를 기술하는 데에 사용할 수 있는 형식’이다. 컴퓨터가 데이터를 전송할 때 사용하는 데이터는 사람이 읽기엔 가독성이 떨어진다. 그렇기에 사람이 작성할 때에는 보기 편한 방식으로 작성을 한 뒤, 전송 시 엔터와 탭을 모두 삭제한 한 줄의 문자열로 전송한다. 이 작업을 minify라 부른다.

XML, JSON, YAML을 통해 우리는 데이터를 주고받는다. 각자 특징이 다르니 용도와 사용처를 고려하여 어떤 형식을 사용할지 결정해야 한다.

[추가 사항]

-YAML의 경우, 설정 파일이나… 다른 사람들과 협력할 필요가 있을 때에 주로 사용한다.

-JSON의 경우 최근에 자주 쓰인다.

[참고 자료]

-https://www.ibm.com/kr-ko/topics/yaml

-https://www.w3schools.com/whatis/whatis_json.asp

-https://ko.wikipedia.org/wiki/XML

-https://velog.io/@bcl0206/XML-JSON-YAML-%EA%B0%81%EA%B0%81%EC%9D%98-%ED%8A%B9%EC%A7%95-%EC%9E%A5%EB%8B%A8%EC%A0%90-%EC%B0%A8%EC%9D%B4%EC%A0%90

-https://velog.io/@bloomspes/yaml-%ED%8C%8C%EC%9D%BC-%EC%9E%91%EC%84%B1-%EC%9A%94%EB%A0%B9-%EA%B8%B0%EC%B4%88%ED%8E%B8-%EC%8A%A4%ED%94%84%EB%A7%81%ED%8E%B8

카테고리
#기타

댓글 0



추천 포스트