クイズ: fmt・validate・console
한국어 원문으로 표시합니다.
CI 게이트에 서식 검사를 넣을 때 고치는 모드가 아니라 판정 모드를 써야 하는 이유로 가장 알맞은 것은?
- 고치는 모드는 작업 트리를 바꿔 버려서 아무도 커밋하지 않은 변경이 생긴다
- 고치는 모드는 하위 디렉터리를 보지 못해 검사 범위가 좁아진다
- 고치는 모드는 프로바이더 스키마가 필요해 초기화 없이는 돌지 않는다
- 고치는 모드는 문법이 깨진 파일을 만나면 통째로 지워 버린다
tofu fmt -check -recursive 가 종료 코드 2 로 끝났다. 가장 그럴듯한 원인은?
- 고칠 파일이 정확히 두 개 있었다
- 하위 디렉터리에서만 고칠 것이 발견됐다
- 이미 모두 서식이 맞아 아무 일도 하지 않았다
- 파일 하나의 문법이 깨져 파싱 자체가 되지 않았다
tofu validate 가 잡아 주는 문제로만 묶인 것은?
- 상태와 실물의 차이, 잠금 파일의 해시 불일치, 프로바이더 버전 충돌
- 선언 안 한 변수 참조, 필수 인자 누락, 스키마와 맞지 않는 타입
- 변수에 들어올 값의 범위, 참조하는 파일의 존재, 원격 백엔드 접근 권한
- 적용 순서로 생기는 교착, 계획의 파괴적 변경 개수, 상태 잠금 경쟁
기본값 없는 변수를 file() 에 넘겨 파일을 읽는 설정이 있다. validate 와 plan 의 결과는?
- 둘 다 실패한다 — 값이 없다는 것은 구조 문제이기도 하다
- 둘 다 통과한다 — 실제 읽기는 적용 시점으로 밀린다
- validate 는 실패하고 plan 은 통과한다 — plan 이 값을 채워 준다
- validate 는 통과하고 plan 은 실패한다 — 값은 정적 검사의 밖이다
콘솔에서 "5" + 5 는 10 이 되는데 1 == "1" 은 false 다. 옳은 설명은?
- 산술 연산자는 피연산자를 수로 변환하지만 같다 비교는 변환하지 않는다
- 따옴표 안의 값은 항상 수로 먼저 해석되고 비교에서만 문자열로 되돌아간다
- 콘솔은 대화형이 아닐 때 타입 검사를 건너뛰어 결과가 달라진다
- 더하기는 왼쪽 피연산자의 타입을 따르고 비교는 오른쪽을 따른다
정적 검사 게이트에서 서식 판정을 구조 검사보다 먼저 두는 이유로 가장 알맞은 것은?
- 구조 검사가 훨씬 느려서 먼저 돌리면 CI 시간이 길어지기 때문이다
- 구조 검사는 서식이 맞아야만 결과를 신뢰할 수 있게 설계돼 있기 때문이다
- 서식 판정이 저장소를 고쳐 두어야 구조 검사가 같은 파일을 읽기 때문이다
- 파싱이 안 되는 파일이 있으면 구조 검사의 오류가 원인을 가리기 때문이다