실행 상태W21 D1–D6 RUNTIME NOT_RUNruntimeRunsByPreview=0
이 이야기는 p690 W21 제목–p714 — W21 개요 + D1–D6만 다룹니다. strict D1–D6 초회 예상시간은 8시간 20분–15시간 50분입니다. 공통 코어 · 트랙 선택 시 증권 기본이지만 W21 본문은 트랙 분기 없는 공통 코어입니다. 현재 상태는 W21 D1–D6 RUNTIME NOT_RUN이고 runtimeRunsByPreview=0입니다. source audit PASS는 Docker daemon·Gradle·PostgreSQL·host JVM을 실행했다는 뜻이 아닙니다. modern 코드 표찰은 canonical 2개와 illustrative 8개, aggregate 10/223/217/0/217/217/34/0이며 Q33·Q34는 정본 답안이 아닙니다.
월요일 저녁, STARRY의 간판은 켜졌는데 문 앞의 작은 상태등은 아직 노란색이었다. 히토리가 “불이 켜졌으니 영업 중 아닌가요?”라고 묻자 니지카는 네 장의 점검표를 꺼냈다. 첫 장에는 process의 PID, 둘째에는 8080 LISTEN, 셋째에는 health UP, 마지막에는 SIGTERM 뒤 process와 port가 사라진 시간이 적혀 있었다. 실행 중이라는 사실과 손님을 받을 준비가 됐다는 사실은 서로 대신할 수 없었다.
공식 장면컷은 분위기용이며, STARRY의 학습 사건·대사·기술 수치는 원문 감사에 따른 비공식 구성입니다.그림 한눈에: 같은 JVM을 PID→port→health→SIGTERM→부재까지 한 실행으로 추적합니다.
료는 점검표 끝에 굵은 글씨로 덧붙였다. “kill -9는 퇴장 요청이 아니라 강제 퇴장. D3의 Stop-Process -Force도 정리 증거일 뿐 D1의 graceful SIGTERM 증거가 아니야.” 히토리는 같은 마지막 상태라도 과정의 의미가 다르다는 것을 처음 알았다. 파일이 40 byte보다 크고 placeholder가 없다는 validator 도장도 실제 PID와 종료 시간을 읽어 주지는 못했다.
화요일에는 공연용 장비를 싣는 작업장이 둘로 나뉘었다. 넓은 builder 작업장에는 Java 21 JDK와 Gradle이 있었고, 작은 runtime 매장에는 완성된 /app/app.jar와 Java 21 JRE만 들어갔다. 키타는 제한 출입증 10001을 목에 걸었다. EXPOSE 8080 표찰은 문 위치를 알려 줄 뿐 실제 문을 열거나 health를 보장하지 않았다.
그림 한눈에: builder에서 만든 JAR만 runtime으로 옮기고 최종 process는 UID 10001로 실행합니다.
상자를 닫기 전에 니지카는 .git, .gradle, build, evidence, env, log를 build context에서 제외했다. 그러나 료는 “ignore는 금고가 아니야. 이미 새어 나온 secret은 revoke·rotate가 먼저야”라고 잘랐다. image runner는 absolute learner path를 확인한 뒤에만 build하고, 성공 뒤 user·금지 경로·builder tool·hash를 검사해 temporary 영수증을 atomic replace했다.
그림 한눈에: learner 입력과 image/JAR/source hash, UID·격리 probe를 한 JSON 영수증에 묶습니다.공식 장면컷은 분위기용이며, STARRY의 학습 사건·대사·기술 수치는 원문 감사에 따른 비공식 구성입니다.
수요일, 무대 뒤 창고에는 PostgreSQL 상자 하나만 놓였다. Compose 명부의 service는 exact db 하나였고 application은 container 안이 아니라 host JVM 배우로 무대에 올랐다. D3 runner가 db readiness를 기다리고 host bootRun을 시작해 PID·port·health·API를 관찰한 뒤, 마지막에는 process와 container와 volume이 모두 남지 않았는지 확인했다.
그림 한눈에: Compose는 db만, application은 host JVM에서 실행하며 D3가 전체 lifecycle을 소유합니다.
그때 히토리는 두 표에서 서로 다른 port를 발견했다. PDF와 Docker 표찰은 8080을 말했지만 packaged runner의 기본값은 28021이었다. 니지카는 어느 쪽도 지우지 않고 실제 invocation의 -Port와 manifest에 기록된 actual port를 최종 연결고리로 삼았다. 짧은 p701 command에 mandatory ProjectRoot가 빠진 것도 같은 방식으로 완전한 script 계약과 대조했다.
그림 한눈에: 8080 계약과 runner default 28021은 실제 invocation·manifest가 묶을 때만 한 실행의 값이 됩니다.
목요일에는 배경막 뒤에 설정표를 걸었다. URL과 username은 환경 변수로 들어왔고 password는 trusted terminal에서만 공급됐다. profile은 손님이 고르는 메뉴가 아니라 배포 시스템이 local·test·prod 설정 묶음을 선택하는 장치였다. 문서 모양이 안전해 보여도 actuator, startup log, shell history까지 보지 않으면 secret 비노출 Green은 아니었다.
그림 한눈에: 설정값의 주입 경로와 비밀값의 기록 금지, 실제 노출 검토를 세 층으로 나눕니다.공식 장면컷은 분위기용이며, STARRY의 학습 사건·대사·기술 수치는 원문 감사에 따른 비공식 구성입니다.
금요일, 료가 DB 스위치를 잠시 내렸다. JVM은 살아 있어 liveness는 UP을 유지했지만 새 주문을 받을 준비가 없어서 readiness는 DOWN이 됐다. DB가 돌아온 뒤 readiness가 다시 UP이 되어야 traffic을 열었다. DB를 liveness에 넣으면 dependency 장애가 process 재시작 loop로 번질 수 있었다.
그림 한눈에: 정상·DB 중단·복구에서 liveness는 process, readiness는 traffic 결정을 담당합니다.
대기 시간에는 두 장의 비정본 SQL 연습표를 풀었다. Q33은 account별 직전 amount를 LAG로 붙여 첫 행 NULL과 21행 oracle을 확인했다. Q34는 customer별 최신순 ROW_NUMBER를 매겨 3+3+1+1, 총 8행을 남겼다. 둘 다 workbook 제공 정답이 아니라 table·status·tie-breaker 가정을 공개한 학습 예시였다.
그림 한눈에: Q33은 account partition과 안정 정렬 뒤 previous amount를 붙이며 첫 행은 NULL입니다.그림 한눈에: Q34는 customer마다 최신 세 건만 남기고 동시각은 tx_id DESC로 끊습니다.
토요일, 네 사람은 새 공연을 시작하지 않았다. D3가 남긴 host-app-manifest.json을 열어 teardown=1, container_absent=true, volume_absent=true를 읽었을 뿐이었다. 같은 hash의 영수증을 다시 읽었다고 새 lifecycle을 실행한 것은 아니다. D6의 역할은 producer를 가로채는 것이 아니라 증거 연결을 확인하고 새 stdout·resource-limit ownership claim을 만들지 않는 것이었다.
그림 한눈에: D3가 만든 한 번의 퇴장표를 D6이 읽기 전용으로 검토하며 새 실행으로 부풀리지 않습니다.
히토리는 마지막 표지에 적었다. “W21 D1–D6 RUNTIME NOT_RUN. source가 기대하는 Green marker와 우리가 실제로 실행한 Green은 다르다.” 그리고 p715의 D7, p719의 주간 통합, p720의 W22 표지는 다음 장으로 넘겼다. 켜진 간판, 열린 port, 준비된 dependency, 정리된 resource를 서로 다른 증거로 읽을 때에만 STARRY의 문이 안전하게 열렸다.
W21 미리보기 · 히토리 질문 노트
히토리의 질문 노트 — STARRY PASS 17
본편의 작업장·창고·퇴장표 비유를 W21 Linux·Docker·Compose·health·evidence의 정확한 source 역할과 증거 경계로 다시 연결합니다. 모든 답은 p690 W21 제목–p714 — W21 개요 + D1–D6에 한정합니다. 현재 상태는 W21 D1–D6 RUNTIME NOT_RUN이고 runtimeRunsByPreview=0입니다. expected marker를 실제 실행 Green으로 바꾸어 읽지 않습니다.
1. 이번 미리보기의 strict PDF 범위는 어디인가요?
답: p690 중간의 W21 제목부터 p714 D6 최종 Gate까지입니다.
근거: 정확한 표기는 p690 W21 제목–p714 — W21 개요 + D1–D6입니다. p690의 W21 제목 위 W20 복구·OWASP 참고는 제외하고, p715 D7, p719 주간 통합, p720 W22는 포함하지 않습니다.
오답 함정: source audit가 W21 전체 p690–720을 닫았다는 이유로 D7이나 주간 Green Gate를 이 D1–D6 미리보기에 섞으면 안 됩니다.
범위 한계: p690은 혼합 페이지이므로 페이지 번호만이 아니라 W21 heading부터라는 의미 경계를 함께 확인해야 합니다.
실제 기술 이름mixed-page semantic PDF boundary for W21 overview and D1-D6
2. D1–D6 예상시간 합계와 기본 트랙 표지는 무엇인가요?
답: 합계는 8시간 20분–15시간 50분, 즉 500–950분이며 공통 코어 · 트랙 선택 시 증권 기본입니다.