위키득계정 ↗
기술

Nickel

Nickel기술
주요 용도
정적 설정 파일 생성
자료 조합
레코드 병합
검증 수단
계약과 점진적 타입
출력 형식
JSON YAML TOML
Nickel은 함수와 레코드 조합으로 정적인 설정 파일을 만드는 언어다. 설정 자료를 계약으로 검증하고 필요한 부분에는 정적 타입을 적용하며 결과를 JSON이나 YAML, TOML로 내보낼 수 있다.

함수와 레코드로 설정 구성하기

함수는 반복되는 계산과 생성 규칙을 묶는 단위다. JSON 객체에 대응하는 레코드는 병합 연산으로 조합한다. 값뿐 아니라 문서화 정보나 기본값, 타입 계약 같은 메타데이터도 함께 다룰 수 있어 공통 설정을 확장하는 데 활용한다.

타입 검사와 계약의 구분

복잡한 함수에는 정적 타입 검사를 적용하고 설정 자료에는 실행 시점의 유연한 검증을 사용할 수 있다. 계약은 자료가 만족해야 할 조건을 표현하며 기존 계약과 조합할 수 있다. 타입과 계약을 도입한다고 해서 설정이 의도한 운영 결과까지 자동으로 보증하는 것은 아니다.

다른 시스템에 전달할 자료 만들기

Nickel을 평가해 만든 설정은 이를 사용하는 별도 시스템에 전달한다. JSON과 YAML, TOML 출력 외에 대화형 실행과 포매터, 편집기용 언어 서버를 제공한다. 설정 생성 언어를 쓰는 것과 생성된 설정으로 실제 인프라를 변경하는 작업은 구분된다.

관련 문서

Starlark / CUE / Dhall / Jsonnet / JSON / TOML