[
  {
    "courseSlug": "cicd",
    "question": "코스에서 설명하는 CI(Continuous Integration, 지속적 통합)의 핵심 의미로 가장 알맞은 것은?",
    "option1": "서버에 새 버전을 올린 뒤 사람이 브라우저를 새로고침하며 직접 확인하는 것",
    "option2": "코드를 저장소에 합칠 때마다(push할 때마다) 로봇이 자동으로 빌드하고 테스트하는 것",
    "option3": "여러 사람의 코드를 한 달 치씩 모아 두었다가 한꺼번에 몰아서 검사하는 것",
    "option4": "새 버전에서 장애가 났을 때 이전 버전으로 1분 안에 되돌리는 것",
    "answerIndex": 1,
    "explanation": "섹션 2의 내용으로, CI는 push될 때마다 로봇이 빌드와 테스트를 자동으로 하는 것입니다. '가끔 크게'가 아니라 '자주 조금씩' 검사하기 때문에 버그를 일찍, 싸게 잡을 수 있어요."
  },
  {
    "courseSlug": "cicd",
    "question": "CD(지속적 배포)가 도입된 뒤 사람에게 남는 일은 무엇이라고 코스는 설명하나?",
    "option1": "빌드 결과물을 scp 명령으로 서버에 직접 올리는 일",
    "option2": "서버에 SSH로 접속해서 돌고 있던 옛 버전을 중지하는 일",
    "option3": "git push 명령 하나를 실행하는 일",
    "option4": "배포가 끝난 뒤 헬스체크 로그를 사람이 눈으로 검사하는 일",
    "answerIndex": 2,
    "explanation": "섹션 3에서 CD 이후에는 빌드·검사·업로드·교체·확인이 전부 로봇 몫이 되고, 사람이 하는 일은 git push 하나만 남는다고 설명합니다. 손빨래가 세탁기 버튼이 되는 비유가 여기에 해당해요."
  },
  {
    "courseSlug": "cicd",
    "question": "코스가 파이프라인의 가장 중요한 성질로 꼽는 것은?",
    "option1": "한 정거장이라도 실패하면 그 자리에서 멈춰 배포 단계까지 가지 않는다",
    "option2": "모든 단계를 사람보다 훨씬 빠른 속도로 처리해 배포 시간을 줄인다",
    "option3": "빌드와 테스트를 병렬로 동시에 실행해서 기다리는 시간을 아낀다",
    "option4": "장애가 나면 원인을 자동으로 분석해서 코드까지 고쳐 준다",
    "answerIndex": 0,
    "explanation": "섹션 4의 핵심으로, 파이프라인은 컨베이어 벨트처럼 '실패하면 멈추는' 구조입니다. 그래서 테스트가 깨진 코드는 배포 단계에 구조적으로 도착할 수 없고, 불량품이 사용자에게 가기 전에 벨트가 멈춥니다."
  },
  {
    "courseSlug": "cicd",
    "question": "코스에서 우리 스택의 롤백(되돌리기)을 빠르게 만들어 주는 열쇠로 꼽은 것은?",
    "option1": "장애가 나면 서버에 접속해 코드를 그 자리에서 고치고 다시 빌드하는 것",
    "option2": "배포 전에 테스트를 여러 번 반복 실행해서 장애 자체를 아예 막는 것",
    "option3": "Caddy가 이전 버전의 화면을 캐시로 저장해 두었다가 대신 보여 주는 것",
    "option4": "Docker 이미지에 버전 태그를 붙여 보관해 두고 이전 이미지로 다시 실행하는 것",
    "answerIndex": 3,
    "explanation": "섹션 6에서 롤백의 열쇠는 Docker라고 설명합니다. v1.2, v1.3처럼 버전마다 이미지를 태그로 보관하면, 되돌리기가 '옛 이미지로 컨테이너 다시 실행' 한 줄이 되기 때문이에요."
  },
  {
    "courseSlug": "cicd",
    "question": "수습 A가 마지막 실습대로 우리 플랫폼의 배포 지도를 그리고 각 단계에 [사람]·[자동]·[위험] 표시를 붙였다. 코스의 기준에 따르면 ★(자동화 1순위)을 쳐야 하는 단계는?",
    "option1": "[자동] 표시가 붙은, 이미 로봇이 처리하고 있는 단계",
    "option2": "[사람]과 [위험] 표시가 함께 붙은, 실수가 잦고 실수하면 아픈 단계",
    "option3": "[사람] 표시만 붙은 단계 중에서 시간이 가장 오래 걸리는 단계",
    "option4": "지도의 맨 앞에 있는, 코드 수정 직후의 첫 번째 단계",
    "answerIndex": 1,
    "explanation": "섹션 7 실습의 3단계 규칙으로, [사람]+[위험]이 겹치는 단계에 ★을 칩니다. 사람 손이 필요해 실수가 잦고, 실수하면 사이트가 죽는 아픈 곳부터 자동화하는 것이 1순위이기 때문이에요."
  }
]
