DEPLOYMENT
00:00 경과
LABLAB-SWENG-22-BUILD-RUNTIME입문
컴파일·빌드·런타임 — 빌드한다는 게 뭔가
ELAPSED
00:00
PHASE
0 / 4
SLA
45분
🧩 SW Engineering← 목록
INCIDENT RESPONSE
0 / 5 단계 완료
📚 PREREQUISITES
Theory
sw-engineering/language-runtime-buildTRACK
SW-ENGINEERING
SLA
45분
LEVEL
입문
PHASES
3단계
ENV
local
INCOMING TICKET
“개발자: "빌드 깨졌어요." 잠시 뒤 "로컬에선 되는데 CI에서만 안 돼요." 팀장: "이게 오늘 배포에 영향 있나요? 서버에 뭘 더 깔아야 하나요?" — 당신은 이 한 줄짜리 알림 앞에서 무엇이 문제인지 판별해야 합니다.”
YOUR ROLE
배포를 판단하는 PM/인프라 담당
안 하면 나중에
"빌드"와 "런타임"을 구분하지 못하면, 빌드 단계에서 난 에러를 서버 문제로 오진해 엉뚱한 곳(서버 재시작·스펙 증설)을 뒤지느라 배포가 밀린다. 의존성 버전을 고정하지 않으면 어제 되던 빌드가 오늘 재현되지 않는다.
📋상황 브리핑
배포 직전, 개발자가 슬랙에 "빌드 깨졌어요"라고 올립니다. 잠시 뒤 "로컬에선 되는데 CI에서만 안 돼요"가 따라옵니다.
PM인 당신은 일정이 밀릴지 가늠해야 하고, 인프라 담당인 당신은 "서버에 뭘 더 깔아야 하나"를 판단해야 합니다. 그런데 "빌드가 깨졌다"와 "런타임에서 죽는다"는 완전히 다른 문제입니다. 빌드 실패는 배포물이 아예 만들어지지 않은 것이고, 런타임 에러는 만들어진 배포물이 서버에서 실행되다 죽은 것입니다. 이 둘을 섞으면 빌드 로그를 봐야 할 때 서버를 재시작하고, 런타임 버전을 대조해야 할 때 코드를 뒤집니다.
이 Lab은 소스 코드에서 빌드 산출물을 거쳐 실행에 이르는 단계를 먼저 구분하고, 주어진 에러가 어느 단계의 신호인지 식별한 뒤, "내 컴에선 되는데"의 원인을 환경 차이 관점에서 어디부터 봐야 하는지까지 진단한다.
⏱ 45분📊 입문🔧 3단계#build#compile#interpret#runtime
MISSION
1
네 단어 구분 — 컴파일·인터프리터·빌드·런타임이 각각 무엇을 가리키나
소스 코드에서 빌드 산출물, 실행까지의 흐름 위에 네 용어를 정확히 얹고, 주어진 에러가 "빌드 단계"인지 "런타임 단계"인지 식별한다.
2
빌드가 만드는 것과 기대는 것 — 산출물·의존성·재현성
빌드가 스택마다 무엇을 만들어내는지(산출물)와 무엇에 의존하는지(의존성·잠금파일)를 식별하고, 버전을 고정하지 않으면 왜 빌드가 재현되지 않는지 설명한다.
3
"내 컴에선 되는데" 진단 — 환경 차이를 어디서부터 보나
"로컬은 되는데 CI/서버는 안 됨"의 원인을 런타임 버전·환경 변수·의존성 차이로 좁히고, 어디를 먼저 대조하고 어떻게 환경을 격리할지 진단 순서를 세운다.
📌 선수 지식
ℹ️ 실습 환경
환경: local
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →>_ LAB TERMINAL↔ 너비 조절
NOTES