topic난이도 · 약 20

코드 실행의 흐름 — 소스코드→빌드→실행

소스코드가 실행되기까지의 과정 — 컴파일 vs 인터프리터, Node.js와 Python의 실행 방식.

#컴파일#인터프리터#빌드#Node.js#Python
왜 배우는가

Claude Code가 만든 코드를 '실행'하라고 하면, 정확히 무슨 일이 일어나는 걸까? 컴파일이 뭐고 인터프리터가 뭔지 모르면, 에러 메시지조차 읽을 수 없다.

코드는 결국 사람이 쓴 텍스트 파일입니다. 컴퓨터는 텍스트를 직접 이해하지 못합니다. 컴퓨터가 이해하는 건 0과 1뿐이죠. 그래서 소스코드를 컴퓨터가 실행할 수 있는 형태로 번역하는 과정이 반드시 필요합니다. 이 번역 방식이 크게 두 가지로 나뉩니다: 컴파일(Compile)인터프리트(Interpret).

CPU 사이클 — 번역된 명령어가 fetch→decode→execute 사이클로 실행된다
구분컴파일 방식인터프리터 방식
번역 시점실행 전에 전체를 한 번에 번역실행하면서 한 줄씩 번역
비유책 전체를 번역한 뒤 출판동시통역사가 실시간 통역
대표 언어C, C++, Go, RustPython, JavaScript, Ruby
장점실행 속도가 빠름수정 후 바로 실행 가능
단점컴파일 시간이 필요실행 속도가 상대적으로 느림

바이브코더가 가장 많이 만나는 두 언어의 실행 방식을 알아봅시다. Python — 인터프리터 방식입니다. `python app.py`를 입력하면 파이썬 인터프리터가 코드를 한 줄씩 읽으면서 바로 실행합니다. 수정하고 바로 돌려볼 수 있어서 초보자와 프로토타이핑에 최적입니다. Node.js (JavaScript) — 역시 인터프리터 방식이지만 V8 엔진이 내부적으로 JIT(Just-In-Time) 컴파일을 수행해 속도를 끌어올립니다. `node server.js`로 실행합니다.

bash
# Python 실행 — 인터프리터가 한 줄씩 실행
python app.py

# Node.js 실행 — V8 엔진이 JIT 컴파일 후 실행
node server.js

# TypeScript — 먼저 JavaScript로 변환(트랜스파일) 후 실행
npx tsc && node dist/index.js

# Next.js — 개발 서버 (내부적으로 빌드+실행 동시 진행)
npm run dev

바이브코더가 자주 쓰는 실행 명령어들. TypeScript는 직접 실행이 안 되므로 JavaScript로 변환하는 단계가 추가된다.

빌드(Build)란 소스코드를 배포 가능한 형태로 만드는 전체 과정입니다. 컴파일, 번들링(여러 파일을 하나로 합치기), 최적화(코드 압축) 등이 포함됩니다. `npm run build`가 대표적인 빌드 명령어입니다. Claude Code에게 "빌드해줘"라고 하면, 이 전체 과정을 자동으로 수행합니다. 에러가 나면 어느 단계에서 실패했는지 파악하는 것이 핵심입니다.

핵심 정리: 소스코드(텍스트) → 번역(컴파일 또는 인터프리트) → 실행(CPU가 처리). 바이브코더는 이 흐름을 이해해야 에러 메시지를 읽고, Claude Code에게 정확한 지시를 내릴 수 있습니다.

실기 드릴 2문항
check_circle실기 드릴 · OX

Python은 컴파일 언어이다.

edit실기 드릴 · 단답형

소스코드를 배포 가능한 형태로 만드는 전체 과정을 무엇이라 하는가?