학습 본문으로 건너뛰기
VAIRODE
자동화·데이터 Capstone9번째 작은 수업
오늘은 질문 하나만 해결해요9 / 72

따라 해보기 · 직접 바꿔보기

pure core와 effect shell을 분리한다

오늘의 질문

parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다. 이를 생략하면 계산 중 파일 저장·network 호출·현재 시각 조회가 섞여 같은 입력의 결과와 실패 지점을 재현할 수 없다. 상황에서도 데모는 보일 수 있지만 제품·검증·운영 책임을 방어할 수 없습니다.

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.

01 · 같이 연습해요

작은 문제부터 하나씩 직접 풀어봐요

먼저 예상하고, 한 단계씩 확인하고, 막힌 곳을 고쳐 봐요. 도움을 열어도 괜찮아요. 도움을 본 문제는 나중에 모양을 바꿔 다시 풀어보면 됩니다.

연습에서 작성 중인 답0 / 8
  1. 01

    찾아보기 · 기초

    cp09 recognize · pure core와 effect shell을 분리한다: pure core·effect shell 표식 중 “parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.”을 충족하는 상태를 고른다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    정답과 비교
  2. 02

    먼저 생각하기 · 기초

    cp09 predict · pure core와 effect shell을 분리한다: AI 없이 “계산 중 파일 저장·network 호출·현재 시각 조회가 섞여 같은 입력의 결과와 실패 지점을 재현할 수 없다.”를 실행했을 때 exit·state·artifact·evidence가 어떻게 달라질지 먼저 예측한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    움직임과 비교
  3. 03

    순서 따라가기 · 익힌 것을 써보기

    cp09 trace · pure core와 effect shell을 분리한다: pure core → effect shell → determinism → dependency injection를 따라 요청에서 pure function contract·effect inventory·determinism test·call boundary trace까지 최초 contract divergence를 추적한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    움직임과 비교
  4. 04

    내 말로 설명하기 · 익힌 것을 써보기

    cp09 explain · pure core와 effect shell을 분리한다: parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.이 필요한 이유와 pure function contract·effect inventory·determinism test·call boundary trace가 입증하지 못하는 범위를 함께 설명한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    설명 기준과 비교
  5. 05

    빈칸 채우기 · 익힌 것을 써보기

    cp09 complete · pure core와 effect shell을 분리한다: 누락된 guard·effect boundary·failure verdict를 채워 “side effect가 섞인 workflow를 pure decision core와 effect executor로 분해한다.”을 fail-closed로 완성한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    답과 설명 함께 비교
  6. 06

    틀린 곳 고치기 · 익힌 것을 써보기

    cp09 debug · pure core와 effect shell을 분리한다: 독립 mutant로 “계산 중 파일 저장·network 호출·현재 시각 조회가 섞여 같은 입력의 결과와 실패 지점을 재현할 수 없다.”를 재현하고 최초 위반 지점만 수정한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    답과 설명 함께 비교
  7. 07

    직접 만들기 · 새 문제

    cp09 implement · pure core와 effect shell을 분리한다: side effect가 섞인 workflow를 pure decision core와 effect executor로 분해한다.을 frozen synthetic fixture와 bounded effect로 구현해 pure function contract·effect inventory·determinism test·call boundary trace를 생성한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    정답과 비교
  8. 08

    새 문제에 써보기 · 새 문제

    cp09 transfer · pure core와 effect shell을 분리한다: 데이터 정제·알림 판단·파일 변환의 재사용 가능한 domain logic로 계약을 옮겨 AI 보조의 변경점과 사람이 최종 승인할 근거를 방어한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      pure core와 effect shell을 분리한다의 output만 보지 말고 input identity, exit, side effect, rollback, log/metric과 artifact hash를 분리하세요.

    2. 개념

      parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    설명 기준과 비교

8개 답이 남았습니다.

02 · 막힌 곳을 찾아요

틀린 답에서 생각이 갈라진 첫 지점 찾기

헷갈림 01

계산 중 파일 저장·network 호출·현재 시각 조회가 섞여 같은 입력의 결과와 실패 지점을 재현할 수 없다.

겉으로 보이는 막힘
pure core와 effect shell을 분리한다의 happy path는 끝나지만 사용자-visible 상태와 release evidence가 계약에서 벗어난다.
막힌 까닭
parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.을 실행 전 acceptance와 실패 상태로 고정하지 않았다.
다시 해보는 방법
side effect가 섞인 workflow를 pure decision core와 effect executor로 분해한다.에 guard·rollback 또는 reject verdict를 추가하고 pure function contract·effect inventory·determinism test·call boundary trace를 다시 만든다.
헷갈림 02

AI가 pure core와 effect shell을 분리한다의 구현과 test를 함께 생성하고 성공이라고 설명한다.

겉으로 보이는 막힘
같은 가정에서 나온 code와 oracle이 계산 중 파일 저장·network 호출·현재 시각 조회가 섞여 같은 입력의 결과와 실패 지점을 재현할 수 없다.를 놓쳐 false green을 만든다.
막힌 까닭
AI-off baseline과 독립 requirement oracle을 먼저 봉인하지 않았다.
다시 해보는 방법
기존 expected를 보존하고 AI diff만 검토한 뒤 별도 작성한 determinism mutant로 반증한다.
헷갈림 03

pure function contract·effect inventory·determinism test·call boundary trace 없이 screenshot·demo·AI 요약만 release 근거로 제출한다.

겉으로 보이는 막힘
clean environment에서 pure core와 effect shell을 분리한다 결과와 복구 경로를 재현하거나 책임 있게 거절할 수 없다.
막힌 까닭
artifact identity·command·environment·human verdict를 하나의 evidence chain으로 연결하지 않았다.
다시 해보는 방법
pure function contract·effect inventory·determinism test·call boundary trace를 clean replay하고 accept·refactor·reject 및 residual risk를 사람이 서명한다.

03 · 내게 맞는 도움 고르기

같은 목표를 원하는 도움만큼 연습해요

안내 받으며

안내형

pure core → effect shell → determinism → dependency injection 순서로 baseline·AI diff·independent mutant·human verdict 칸을 채운다.

pure core와 effect shell을 분리한다의 정상 경로와 실패 경로, AI 제안 변경, 독립 검증, 사람 판정을 번호·도형·선 종류로 구분한 도식에서 색상 외에도 contract·build·test·security·telemetry·SBOM·attestation·ship verdict label과 선 종류를 함께 표시한다.
혼자 해보기

내 힘으로

cp09 pure core와 effect shell을 분리한다: parsing 뒤의 domain transform은 명시 입력→결과로 결정적이어야 하고 I/O·time·random·environment effect는 shell에서 주입·기록한다.의 미공개 synthetic product variant를 먼저 판정한 뒤 Python 3.14.6·pytest 9.1.1 current lane과 pytest 9.0.0 regression lane의 hash-pinned local harness에서 실행 receipt를 만들고 불일치만 공식 계약으로 교정한다.

공식 문서·문법·library API는 열 수 있지만 해당 변형의 hidden acceptance value·private fault schedule·server verdict·attestation subject·forbidden sentinel·expected incident timeline은 먼저 제공하지 않는다.
더 도전하기

심화형

데이터 정제·알림 판단·파일 변환의 재사용 가능한 domain logic의 runtime·data volume·permission·failure timing 중 두 축을 바꾼 private variant에서도 같은 evidence contract를 방어한다.

pure core와 effect shell을 분리한다에서 기능 수보다 contract clarity·bounded effect·failure visibility·reproducibility·operator cost를 우선하고 포기한 범위를 기록한다.