[clojure] Clojure 스키마를 이용한 데이터 유효성 검사
Clojure는 데이터 구조를 지정하고 유효성을 검사하는 유용한 라이브러리인 schema
을 제공합니다. 이를 사용하여 데이터의 유효성을 검사하고 보장할 수 있습니다.
스키마 정의
먼저, 다음과 같이 schema.core
네임스페이스를 포함시킨 후 스키마를 정의합니다.
(require '[schema.core :as s])
(def Person
{:name s/Str
:age s/Int})
위의 예시에서 Person
은 name
이 문자열이고 age
가 정수인 데이터 구조를 나타냅니다.
데이터 유효성 검사
이제 스키마를 사용하여 데이터의 유효성을 검사할 수 있습니다.
(s/validate Person {:name "Alice", :age 30})
위의 코드는 Person
스키마를 사용하여 주어진 데이터가 유효한지 검사합니다. 데이터가 스키마와 일치하지 않으면 검증이 실패하고 유효하지 않은 값에 대한 오류를 반환합니다.
스키마 기반 데이터 변환
또한, schema
를 사용하여 데이터를 변환할 때 스키마를 기반으로 하는 함수를 정의할 수 있습니다.
예를 들어, 다음과 같이 transform
함수를 사용하여 Person
스키마에 따라 데이터를 변환할 수 있습니다.
(defn transform [data]
(if (s/validate Person data)
(str "Name: " (:name data) ", Age: " (:age data))
"Invalid data"))
이제 transform
함수를 사용하여 데이터를 변환하고, 유효성이 검증된 경우에만 변환된 데이터를 반환할 수 있습니다.
이와 같이 Clojure의 schema
를 사용하여 데이터 유효성 검사와 변환을 간편하게 처리할 수 있습니다.
더 많은 정보는 Clojure 스키마 공식 문서를 참조하세요.