TOML
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
TOML은 설정 파일을 만들기 위한 파일 형식이다. 주로 `키 = 값` 쌍, `[섹션 이름]`, `#`(주석)으로 구성된 문법을 가지며, 문자열, 정수, 부동 소수점 숫자, 부울, 날짜 및 시간, 배열, 테이블 등 다양한 데이터 형식을 지원한다. 정적 사이트 생성기, 프로그래밍 언어, 블렌더 애드온 매니페스트 등 다양한 환경에서 활용된다. 하지만 장황하고 DRY 원칙을 따르지 않으며, 계층 구조의 모호성, 과도한 복잡성, 구문 타이핑 방식 등으로 비판받기도 한다.
더 읽어볼만한 페이지
- 설정 파일 - MSDOS.SYS
MSDOS.SYS는 MS-DOS 운영 체제의 핵심 시스템 파일로, 부팅 과정에서 시스템 초기화 및 하드웨어 설정을 관리하며, 윈도우 9x 시리즈 등장 이후에는 윈도우 부팅 옵션을 설정하는 텍스트 파일로 기능이 변화되었다. - 설정 파일 - AUTOEXEC.BAT
AUTOEXEC.BAT는 도스 및 초기 윈도우 운영 체제에서 컴퓨터 시동 시 실행되어 환경 변수 설정, 시스템 유틸리티 실행 등에 사용되는 배치 파일이다. - 마크업 언어 - HTML
HTML은 웹 페이지 제작을 위한 표준 마크업 언어로서, 팀 버너스리가 제안하고 구현한 후 인터넷 발전과 함께 널리 사용되며, SGML에 기반하여 하이퍼텍스트 기능으로 다양한 콘텐츠를 표현하고 연결하며, W3C와 WHATWG에서 표준화를 진행하고 최신 버전은 HTML Living Standard이다. - 마크업 언어 - XAML
XAML은 마이크로소프트에서 개발한 XML 기반의 마크업 언어로, 사용자 인터페이스, 데이터 바인딩, 이벤트 처리 등을 정의하며 WPF, Silverlight, WF, WinRT API 앱, Xamarin.Forms 등에서 UI 개발에 널리 사용된다. - 파일 포맷 - 바로 가기
바로 가기는 운영체제에서 파일, 폴더, 프로그램, 웹 페이지에 대한 참조를 제공하는 기능 및 파일로, 사용자들이 원본에 빠르게 접근하도록 GUI 환경의 사용성을 향상시킨다. - 파일 포맷 - EXE
EXE 파일 형식은 운영 체제에 따라 다양한 종류가 있는 실행 파일의 한 형태로, DOS MZ 실행 파일에서 PE, PE32+까지 발전해 왔으며, 코드, 데이터, 스택을 별도 관리하고 재배치 항목을 통해 실행 환경에 유연하게 대응하는 특징을 가진다.
TOML - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
종류 | 구성 파일 포맷 |
개발자 | 톰 프레스턴-워너 및 커뮤니티 |
발표일 | 2013년 2월 23일 |
공개 여부 | 예 |
URL | TOML 공식 웹사이트 |
최신 버전 | 1.0.0 |
최신 버전 발표일 | 2021년 1월 11일 |
장르 | 데이터 교환 |
파일 확장자 | .toml |
MIME 형식 | application/toml (비공식) |
2. 문법
TOML은 `키 = 값` 쌍, `[섹션 이름]`, `#`(주석)으로 구성된다. INI 파일과 유사하지만, TOML은 형식적인 사양을 포함한다.
TOML 명세는 문자열, 정수, 부동 소수점 숫자, 부울, 날짜 및 시간, 배열, 테이블 등의 데이터 유형을 지원한다.
2. 1. 기본 구조
TOML의 문법은 주로 `키 = 값` 쌍, `[섹션 이름]`, `#`(주석)으로 이루어져 있다. TOML은 INI 파일과 유사하지만 형식적인 사양을 포함하고 있다는 점에서 차이가 있다.TOML 명세는 문자열, 정수, 부동 소수점 숫자, 부울, 날짜 및 시간, 배열, 테이블 등 지원되는 데이터 유형 목록을 포함한다.
2. 2. 데이터 유형
TOML 명세는 문자열, 정수, 부동 소수점 숫자, 부울, 날짜 및 시간, 배열, 테이블 등 지원되는 데이터 유형 목록을 포함한다.[1] 지원하는 형식은 문자열형, 정수형, 부동 소수점형, 불리언형, 날짜형, 배열형, 테이블형이다.[1]2. 3. 예시
toml# TOML 문서 예시입니다.
title = "한국중앙은행"
[owner]
name = "한국은행"
establishment = ""
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
[servers]
# 들여쓰기(탭 또는 공백)는 허용되지만 필수는 아닙니다.
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
# 배열 안에서는 줄 바꿈이 허용됩니다.
hosts = [
"alpha",
"omega"
]
3. 활용 사례
정적 사이트 생성기인 지킬 및 휴고에서 사용된다.[6] 파이썬,[6] 러스트 패키지 매니페스트,[7] 줄리아 프로젝트 설정 및 패키지 매니페스트,[8] 블렌더 애드온 매니페스트 등 다양한 환경에서 사용된다.
4. 비판
TOML은 여러 가지 측면에서 비판을 받아왔다.
- TOML은 장황하며, DRY를 따르지 않고 구문이 복잡하다.
- TOML의 계층 구조는 구문만으로는 파악하기 어려울 수 있다.
- 과도한 복잡성: TOML은 너무 많은 기능을 가지고 있다.
- TOML에서 구문은 데이터 유형을 결정한다("구문 타이핑").
4. 1. 장황함 및 반복
TOML은 여러 가지 측면에서 비판을 받아왔다.- TOML은 장황하며, DRY를 따르지 않고 구문이 복잡하다.
- TOML의 계층 구조는 구문만으로는 파악하기 어려울 수 있다.
- 과도한 복잡성: TOML은 너무 많은 기능을 가지고 있다.
- TOML에서 구문은 데이터 유형을 결정한다("구문 타이핑").
4. 2. 계층 구조의 모호성
TOML은 여러 가지 측면에서 비판을 받아왔다.복잡한 설정을 표현할 때 TOML의 계층 구조는 구문만으로는 직관적이지 않을 수 있다.
4. 3. 과도한 복잡성
TOML은 여러 가지 측면에서 비판을 받아왔다.- TOML은 장황하며, DRY를 따르지 않고 구문적으로 시끄럽다.
- TOML의 계층 구조는 구문만으로는 추론하기 어려울 수 있다.
- 과도한 복잡성: TOML은 너무 많은 기능을 가지고 있다.
- TOML에서 구문은 데이터 유형을 결정한다("구문 타이핑").
4. 4. 구문 타이핑
TOML은 데이터 유형이 값 자체가 아닌 구문에 의해 결정된다는 점("구문 타이핑")에서 비판을 받는다.참조
[1]
웹사이트
Initial commit · toml-lang/toml@84db252
https://github.com/t[...]
2024-06-15
[2]
웹사이트
TOML: English v1.0.0
https://toml.io/en/v[...]
2024-01-27
[3]
웹사이트
My wish-list for the next YAML
https://drewdevault.[...]
2021-07-28
[4]
웹사이트
TOML: Tom's Obvious Minimal Language
https://toml.io/en/
2022-08-08
[5]
웹사이트
toml-lang/toml
https://github.com/t[...]
2016-12-16
[6]
웹사이트
tomllib — Parse TOML files
https://docs.python.[...]
2023-07-08
[7]
웹사이트
The Manifest Format - The Cargo Book
https://doc.rust-lan[...]
2023-07-08
[8]
웹사이트
10. Project.toml and Manifest.toml · Pkg.jl
https://pkgdocs.juli[...]
2023-07-08
[9]
웹사이트
Filename Extension
https://toml.io/en/v[...]
2020-06-30
[10]
웹사이트
MIME Type
https://toml.io/en/v[...]
2020-06-30
[11]
웹사이트
Releases
https://github.com/t[...]
GitHub
2021-01-18
[12]
간행물
Tom's Obvious, Minimal Language. Contribute to toml-lang/toml development by creating an account on GitHub
https://github.com/t[...]
toml-lang
2019-01-28
[13]
웹사이트
projects using toml
https://github.com/t[...]
2018-09-30
[14]
웹사이트
toml implementations
https://github.com/t[...]
2018-09-30
[15]
웹사이트
cargo config
https://doc.rust-lan[...]
2018-09-30
[16]
웹사이트
TOML, Tom's Own Markup Language
https://news.ycombin[...]
Y Combinator
2017-05-10
[17]
웹인용
The Manifest Format - The Cargo Book
https://doc.rust-lan[...]
[18]
웹인용
My wish-list for the next YAML
https://drewdevault.[...]
2021-07-28
[19]
웹인용
TOML: Tom's Obvious Minimal Language
https://toml.io/en/
2022-08-08
[20]
웹인용
toml-lang/toml
https://github.com/t[...]
2022-05-23
[21]
웹인용
Learn toml in Y Minutes
https://learnxinymin[...]
2022-08-08
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com