3.3 KiB
3.3 KiB
title, source_type, status, related_branches, related_projects, tags, created, status_label
| title | source_type | status | related_branches | related_projects | tags | created | status_label | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| interview-prep / single-command local bootstrap contract | interview-prep | raw |
|
|
|
2026-06-24 | collecting |
interview-prep: single-command-local-bootstrap
Parent / 부모
- raw/branch-notes/feature-developer-experience-contract — 실제 5단계 bootstrap 구현과 실패 격리 경험에서 파생.
질문 / Question
- 질문 원문: 로컬 개발환경을 단일 명령으로 재현할 때 어떤 단계를 묶고, 실패 위치와 문서 drift는 어떻게 검증하시겠습니까?
- 출처: 구현 경험에서 도출한 예상 질문.
질문 의도 추론 / Why this question
- 핵심 평가 대상: reproducibility, 실패 격리, build lifecycle 설계, 문서와 실행 계약의 정합.
- 함정 / 흔히 빠지는 답변 패턴:
docker compose up만 제공하고 compile/Flyway/smoke 실패를 한 덩어리로 취급하는 답변. - 따라올 만한 후속 질문: Docker 미기동, 기존 host port 충돌, CI와 local Testcontainers reuse 차이를 어떻게 다루는가?
답변 재료 / Raw answer material
- 사실 1: Gradle
bootstrap을 compile → dependency → startup Flyway → sample contract → HTTP smoke의 task chain으로 구현했다. 근거: raw/branch-notes/feature-developer-experience-contract D3, §2026-06-24 구현 결과. - 사실 2: README bash block의 Gradle task/Compose file/Make target drift를
verifyReadmeCommands로check에 연결했다. 근거: 같은 branch D4, §2026-06-24 구현 결과. - 내가 직접 한 경험: host 5432 충돌과 slim JRE RNG provider 누락을 stage별 failure로 찾고 각각 internal-only DB network와
java.baseRNG bean으로 해결했다. - 트레이드오프: Gradle은 Spring/Java repository와 정합하고 task별 exit evidence를 제공하지만, Gradle을 쓰지 않는 polyglot repository라면 Make/task runner가 더 자연스러울 수 있다.
- 한계 / 이건 안 해봤다: macOS Apple Silicon과 Windows WSL2 실기 검증, remote CI link-check 실행은 이번 local evidence에 없다.
Sources / 근거
- raw/branch-notes/feature-developer-experience-contract D3, D4, D8, D10.
- raw/errors/bootstrap-postgres-port-collision-2026-06-24.
- raw/errors/slim-jre-random-generator-missing-2026-06-24.
미해결 / Unknown
- 모르는 것 1: Apple Silicon에서 최초 image build/Testcontainers 시간이 목표를 만족하는지.
- 모르는 것 2: lychee workflow의 실제 GitHub-hosted runner false-positive 목록.
- 확인 방법: 각 OS clean clone 측정과 link-check workflow dispatch 결과 수집.
답변 경계 / Answer boundary
- 자신 있게 말할 수 있는 범위: Linux local에서
./gradlew bootstrap, focused/full tests,check를 실행해 확인한 범위. - 공식 문서를 다시 보고 답변해야 하는 부분: Testcontainers reuse의 최신 지원/권고와
@ServiceConnection지원 container 범위. - 절대 과장하지 말 것: local verification을 CI/prod verification으로 표현하지 않는다.
Related / 관련
- raw/blog-topics/five-stage-local-bootstrap-contract-2026-06-24.
- derived interview: canonical 정제 전이므로 생성하지 않음.