만혁
12. 고급 데이터 유효성 확인
12장에선 JSON 스키마를 통해 어떻게 데이터의 유효성을 확인할 수 있는지에 대한 내용을 다룬다
많은 내용들이 있지만 한 가지를 예를 들자면
publishYear
라는 필드가 있고 1900년도 이후에 출판된 책만 유효하다고 가정한다면
const publishYear = {
"type": "integer",
"minimum": 1900,
"maximum": 2021
}
위와 같은 JSON 스키마를 사용할 수 있다
필요에 따라 정규표현식이나 다양한 방법도 있는데
책을 읽으면서 이렇게 까지 할거면 그냥 타입 쓰는게 나을거 같기도하고...
하지만 동적 타입의 언어를 사용하면서 충분히 장점이 있기에
그 장점을 최대한 활용하면서 단점을 최대한 보완하는 방법론이라고 생각하면
어느정도는 납득이가기도 한다
납득이 가는 이유는 이런 데이터 유효성은 정적타입(OOP 아님) 의 환경에서는
데이터가 저장되는 순간에 유효성을 체크하지 못하면 이후에 유효성을 검증하기 어려워지는데
JSON 스키마(DOP 아님) 의 경우 데이터의 유효성을 실행중에 확인이 가능하다는 점이다
정적 타입과 동적타입의 json 스키마에 대한 이야기지 OOP vs DOP 가 아님 ㅎ