프로그래머를 위한 TOML 다루기

Elixir:
프로그래머를 위한 TOML 다루기

사용 방법:

먼저 mix 의존성에 TOML 파서를 추가합니다. 이 예제는 toml-elixir를 사용합니다:

def deps do
  [
    {:toml_elixir, "~> 2.0"}
  ]
end

TOML 파일 읽기:

{:ok, toml_data} = File.read("config.toml")
{:ok, parsed_data} = TomlElixir.parse(toml_data)

Elixir 데이터를 TOML로 변환:

data = %{title: "TOML Example", owner: %{name: "Tom Preston-Werner"}}
toml_string = TomlElixir.encode(data)

샘플 출력:

"title = \"TOML Example\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"

심층 탐구

TOML은 GitHub의 공동 창립자인 Tom Preston-Werner에 의해 구성 파일에서 사용하기 위해 만들어졌습니다. 이는 XML보다 더 단순하고 YAML보다 더 간결하게 설계되었으며 일관성을 유지합니다.

대안으로는 JSON, YAML, 그리고 INI 파일이 있으며, 각각 인간이 읽기 쉬움과 데이터 구조 호환성에서의 타협점을 가지고 있습니다. TOML은 표 데이터와 데이터의 중첩 그룹화를 명확하게 표현하는데 뛰어납니다.

Elixir에서 TOML 처리는 TOML 문자열을 Elixir 맵으로 변환하고 그 반대의 작업을 수행하는 디코딩 및 인코딩 라이브러리에 의존합니다. 파싱은 TOML의 문법 규칙과 일치시키고 이를 Elixir의 데이터 유형으로 변환하는 작업으로 이루어집니다. 인코딩은 그 반대로, Elixir의 데이터 유형을 유효한 TOML 문법으로 매핑합니다.

참고 자료