쉬운·기술사전비유로 이해하는 AI·개발 용어
더 알아보기

빌드 / 컴파일

Build / Compile

"빌드가 실패했습니다." 한동안 '빌드'가 하나의 단계라는 사실조차 몰랐어요.

빌드 / 컴파일 개념 다이어그램

"빌드가 실패했습니다." 한동안 '빌드'가 하나의 단계라는 사실조차 몰랐어요. 코드를 쓰면 그냥 실행되는 줄 알았거든요.

그렇지 않아요. 코드는 사람이 읽을 수 있도록 작성돼요. 컴퓨터는 그 버전을 직접 실행하지 않고요. 사람이 읽는 코드를 기계가 실제로 실행하는 형태로 변환하는 중간 단계가 있어요. 그 단계가 빌드예요. 코드를 컴퓨터의 고유 언어로 번역하는 과정을 특별히 컴파일이라고 부르는데요, 같은 계열의 말이지만 조금 더 기술적인 표현이에요.

원고에서 인쇄된 책으로. 원고를 쓰더라도 서점 고객에게 수정 메모가 가득한 초고 뭉치를 그대로 건네지는 않잖아요. 인쇄소로 가서 조판하고 제본해 실제 책을 만들죠. 빌드가 바로 그 인쇄 공정이에요. 코드는 원고이고, 빌드는 컴퓨터가 읽을 수 있는 완성된 책을 만들어내요.

그 한 번의 과정에서 놀랍도록 많은 일이 일어나요.

"빌드 실패"는 인쇄 공정이 책을 완성하기 전에 멈췄다는 뜻이에요. 어딘가가 맞지 않은 거죠. 타입 불일치, 누락된 부품, 번역기가 처리하지 못한 오타. 그리고 중요한 건 이거예요. 아무것도 배포되지 않았다는 거요. 실패는 인쇄소 안에서, 독자가 보기 전에 일어났으니까요. 빌드 실패는 문제를 잡아낼 수 있는 가장 저렴한 지점이에요.

배포 흐름에서 어느 위치에 있는지 보면 돼요. 빌드가 성공하면 그다음에 배포하고 극장 문을 열어요. 빌드는 관객이 도착하기 의 검문소인 거예요. 그래서 "빌드가 초록불"이라는 말이 배포 직전의 작은 안도감을 뜻해요. 책이 깨끗하게 인쇄됐으니 이제 서가에 올릴 수 있다는 거죠.

비개발자가 이걸 알아두면 좋은 이유가 있어요. 에이전트가 "빌드를 실행해 볼게요"라고 하고 잠시 후 "빌드 실패"라고 하면, 막힌 것도 아니고 끝난 것도 아니에요. 가장 평범한 검문소에 서 있는 거예요. 에이전트가 출력하는 오류 메시지는 판결이 아니라 단서예요. 스택 트레이스 전체를 그대로 붙여넣어 주면 돼요. 그리고 개발자가 "빌드에 20분 걸린다"고 말할 때 왜 아무도 좋아하지 않는지, 이제 이해가 되죠. 책 한 권을 인쇄하는 일이 순식간에 끝나지는 않으니까요.

코드는 원고, 빌드는 인쇄 공정이에요. "빌드 실패"는 인쇄소에서 멈췄다는 뜻이고, 그게 바로 멈춰야 할 곳이에요.