Coding-Village-Protector / woowahan-ts

[우아한 타입스크립트 with 리액트] 북 스터디 📚
14 stars 2 forks source link

7.1.7_Superstruct 라이브러리를 사용하여 데이터 유효성 검사를 수행하는 세 가지 방법 #19

Closed Stilllee closed 9 months ago

Stilllee commented 9 months ago

📝 214p

❓ Superstruct 라이브러리를 사용하여 데이터 유효성 검사를 수행하는 세 가지 방법(assert, is, validate)이 있습니다.

아래의 설명을 읽고, 각 방법에 맞는 상황을 선택하세요.

1. assert는 데이터가 유효하지 않을 경우 에러를 발생시킵니다. 어떤 상황에서 assert를 사용하는 것이 적합할까요?

A. 데이터가 유효한지만 확인하고 싶을 때 B. 데이터가 유효하지 않으면 프로그램을 중단시키고 싶을 때 C. 유효하지 않은 데이터에 대해 상세한 정보를 얻고 싶을 때

2. is는 데이터가 유효한지 여부를 true 또는 false로 반환합니다. is를 사용하는 적절한 상황은 무엇일까요?

A. 유효성 검사 후 에러를 처리하고 싶을 때 B. 유효성 검사 결과에 따라 다른 작업을 수행하고 싶을 때 C. 유효하지 않은 데이터에 대한 상세한 오류 메시지가 필요할 때

3. validate[error, data] 형식의 튜플을 반환합니다. 언제 validate를 사용하는 것이 좋을까요?

A. 단순히 유효성 여부만 확인하고 싶을 때 B. 유효성 검사 후 특정 로직을 실행하고 싶을 때 C. 유효성 검사 결과와 함께 상세한 오류 메시지나 유효한 데이터를 다루고 싶을 때

sryung1225 commented 9 months ago

@eeeyooon 와 함께 논의한 내용을 답안으로 정리합니다.

  1. B

    • A. 데이터 유효 여부만이 필요하다면 boolean으로 반환해주는 is 가 더 적합합니다.
    • B. 데이터가 유효하지 않을 때 예외를 발생시켜 대응해야 하기 때문에 에러를 즉각 발생시키는 assert 가 적합합니다.
    • C. 상세한 오류 메세지와 유효한 데이터를 함께 제공하는 validate 가 더 적합합니다.
  2. B

    • A. is 는 유효 여부만을 나타내기 때문에 에러를 처리하고 싶다면 assert 또는 validate 가 적합합니다.
    • B. 검사 결과 유무에 따른 작업이 필요하다면 is 가 적합합니다.
    • C. 상세한 오류 메세지를 제공하는 validate 가 적합합니다.
  3. C

    • A. 유효 여부만 확인하고 싶다면 is 가 더 적합합니다.
    • B. validate 가 완전한 오답은 아니지만, 상세한 오류 메세지와 유효한 데이터를 제공하는 것이 장점이기 때문에 단순히 특정 로직을 실행하고 싶은 것이라면 유효 여부를 확인할 수 있는 is 로 충분합니다.
eeeyooon commented 9 months ago

@sryung1225 와 함께 논의한 내용을 답안으로 정리합니다.

  1. B
  • A. 데이터 유효 여부만이 필요하다면 boolean으로 반환해주는 is 가 더 적합합니다.
  • B. 데이터가 유효하지 않을 때 예외를 발생시켜 대응해야 하기 때문에 에러를 즉각 발생시키는 assert 가 적합합니다.
  • C. 상세한 오류 메세지와 유효한 데이터를 함께 제공하는 validate 가 더 적합합니다.
  1. B
  • A. is 는 유효 여부만을 나타내기 때문에 에러를 처리하고 싶다면 assert 또는 validate 가 적합합니다.
  • B. 검사 결과 유무에 따른 작업이 필요하다면 is 가 적합합니다.
  • C. 상세한 오류 메세지를 제공하는 validate 가 적합합니다.
  1. C
  • A. 유효 여부만 확인하고 싶다면 is 가 더 적합합니다.
  • B. validate 가 완전한 오답은 아니지만, 상세한 오류 메세지와 유효한 데이터를 제공하는 것이 장점이기 때문에 단순히 특정 로직을 실행하고 싶은 것이라면 유효 여부를 확인할 수 있는 is 로 충분합니다.
lulla-by commented 9 months ago
  1. assert는 데이터가 유효하지 않을 경우 에러를 발생시킵니다. 어떤 상황에서 assert를 사용하는 것이 적합할까요?

B. 데이터가 유효하지 않으면 프로그램을 중단시키고 싶을 때

  1. is는 데이터가 유효한지 여부를 true 또는 false로 반환합니다. is를 사용하는 적절한 상황은 무엇일까요?

B. 유효성 검사 결과에 따라 다른 작업을 수행하고 싶을 때

  1. validate는 [error, data] 형식의 튜플을 반환합니다. 언제 validate를 사용하는 것이 좋을까요?

C. 유효성 검사 결과와 함께 상세한 오류 메시지나 유효한 데이터를 다루고 싶을 때

Stilllee commented 9 months ago

1. B

assert 함수는 데이터가 유효하지 않을 경우 에러를 던지고, 이로 인해 프로그램이 중단됩니다. 이 방법은 유효하지 않은 데이터로 인해 프로그램이 계속 실행되는 것을 방지하고 싶을 때 유용합니다.

2. B

is 함수는 데이터의 유효성을 boolean 값(true 또는 false)으로 반환합니다. 이를 통해 유효성 검사 결과에 따라 조건부 로직을 실행할 수 있으며, 에러 처리는 하지 않습니다.

3. C

validate 함수는 유효성 검사 후 [error, data] 형식의 튜플을 반환합니다. 이 방법은 유효하지 않은 데이터에 대한 상세한 정보를 제공받거나, 유효한 데이터를 추가로 처리하고자 할 때 유용합니다.