우리는 컴퓨터가 0과 1만을 이해할 수 있다는 사실을 알고 있다. (이렇게 0과 1로만 작성된 언어를 기계어라고 한다). 하지만 컴퓨터에서 동작할 어떤 프로그램을 구현할 때, 프로그래머는 0과 1로 프로그램을 작성하는 것이 아니라 자바스크립트나 C++와 같은 프로그래밍 언어를 사용해 프로그램을 작성한다.
어떻게 이런 일이 가능한 걸까?
대부분의 프로그래밍 언어는 영어와 같이 사람이 실제로 사용하는 언어를 기준으로, 사람이 이해하기 쉬운 단어와 문법을 통해 프로그램을 작성할 수 있도록 설계되어 있다. 이런 언어들을 사람이 이해하기 쉽도록 추상화가 많이(고수준으로) 되어있다는 의미를 담아 고급 프로그래밍 언어라고 부른다.
이러한 자바스크립트와 같은 고급 프로그래밍 언어로 짜인 코드를 컴퓨터에 바로 집어넣는다고 해서 컴퓨터가 우리의 코드를 이해하고 실행할 수 있는 것은 아니다. 컴퓨터에 우리가 작성한 코드를 이해시키기 위해서는, 컴퓨터가 이해하는 기계어와 1대 1로 대응되는 저급 프로그래밍 언어(어셈블리어라고 불림)로 번역하는 과정이 필요하다. 마치 영어를 모르는 사람을 위해 영어를 한국어로 번역해주는 것처럼 말이다.
우리는 프로그래밍의 영역에서 이러한 언어 간의 번역(변환)을 담당하는 번역가를 컴파일러라고 부른다.
빌드란 개발된 소프트웨어 코드를 실행텍스트 가능한 형태로 변환하는 과정을 말하며, 배포는 빌드된 소프트웨어를 실제 사용자들이 사용할 수 있도록 제공하는 과정을 말한다.
$ yarn build
빌드를 하면 build라는 이름의 파일이 생성된다.
이 파일을 배포하면 된다.
배포는 빌드된 소프트웨어를 사용자가 접근할 수 있는 환경에 제공하는 과정을 의미한다.
빌드
는 개발자가 작성한 소스 코드를 실행 가능한 형태로 변환하는 과정이며, 배포
는 빌드된 소프트웨어를 사용자가 접근 가능한 환경에 제공하는 과정이다.