LabHub
배우기 러닝패스 코스

빌드는 초록불이었는데 그 라이브러리는 누가 넣었나 · 직접 고른 건 일곱 개, 설치된 건 스물다섯 개 · 퀴즈

퀴즈: 무엇이 들어 있는지 세는 법

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. package.json 대신 package-lock.json 을 세어야 하는 이유는?

    1. 잠금 파일이 더 최근에 만들어진 파일이라서
    2. 실제로 설치된 것은 잠금 파일에만 적혀 있고 선언 파일에는 우리가 고른 것만 있어서
    3. 잠금 파일에만 라이선스 정보가 들어 있어서
    4. 선언 파일은 빌드할 때 읽히지 않아서
  2. lockfileVersion 3 의 packages 맵에서 루트 프로젝트는 어떤 열쇠로 들어가는가?

    1. 프로젝트 이름을 그대로 쓴 열쇠
    2. node_modules 로 시작하는 상대 경로 열쇠
    3. 빈 문자열로 된 열쇠
    4. package.json 이라는 이름의 열쇠
  3. CycloneDX JSON 문서에서 bomFormat 값이 "CycloneDX" 하나로 못박혀 있는 이유는?

    1. 파일 이름 규칙이 없고 JSON 스키마에 네임스페이스가 없어 파일만 보고 형식을 알아야 해서
    2. 다른 값을 넣으면 서명 검증이 실패하도록 설계돼서
    3. SPDX 문서와 열쇠 이름이 겹치는 것을 막기 위해서
    4. 도구가 문서를 압축할 때 사전으로 쓰기 위해서
  4. 잠금 파일 항목의 dev 플래그가 true 라는 것은 무엇을 뜻하는가?

    1. 그 패키지가 아직 정식 판이 아니라는 뜻
    2. 그 패키지를 개발 기계에서만 내려받는다는 뜻
    3. 그 패키지에 디버그 심볼이 들어 있다는 뜻
    4. 그 패키지가 오직 개발 의존 트리에만 속한다는 뜻
  5. 의존 그래프 없이 평평한 목록만 있는 SBOM 의 가장 큰 한계는?

    1. 파일 크기가 커져 저장 비용이 늘어난다
    2. '이 패키지가 왜 여기 있는지' 에 답할 수 없다
    3. 라이선스를 표기할 수 없다
    4. 서명을 붙일 수 없다
  6. 릴리스마다 SBOM 을 만들면서 지난 판과 견주지 않으면 무엇을 놓치게 되는가?

    1. 빌드 시간이 얼마나 늘었는지
    2. 라이선스 문구가 바뀌었는지
    3. 아무도 추가하지 않았는데 목록에 새로 들어온 패키지
    4. 어느 개발자가 의존을 추가했는지