컴파일, 디버깅, 빌드, 배포 차이?!

이수민·2023년 1월 15일
3

cs

목록 보기
1/4

주기적으로 헷갈리는 이 네가지 개념에 대해 한번 짚고 넘어가려 한다.

먼저, 서버에 기능을 추가하기 위해서는 개발자가 로컬에서 개발+테스트를 진행하고, 문제가 없을 경우 코드를 실서버에 반영하는 것이 일반적이다.
이를 빌드와 배포로 나눌 수 있다.

  • 빌드 : 배포하기 위한 과정
  • 배포 : 서버에 반영을 하는 것 (Deploy)

그렇다면 컴파일과 빌드, 디버깅의 차이는 뭘까? 알아보자.

컴파일

  • 컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정
  • Java : 컴파일의 결과로 자바가상머신(JVM)에서 실행가능한 “.class” 파일이 생긴다.

디버깅

  • 자신이 만든 프로그램 내부에 숨겨져 있는 논리적인 오류를 찾아내는 작업이다.
  • 단순한 오타로 인한 에러이거나 예상치 못한 논리적 에러일 수도 있다.

빌드

  • 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정 & 결과
  • 빌드 툴 : 빌드 과정을 도와주는 도구
    • ant, maven, gradle..

즉 네가지 개념은 아래와 같이 쉬운 예시를 들어 구분할 수 있다.

  • 컴파일 : 코드를 컴퓨터 언어로 번역하는 일
    • (영문을 한글로 번역하는 일)
  • 디버깅 : 오류를 잡아내는 일
    • (글에 오류가 없는지 확인하는 일)
  • 빌드 : 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일
    • (번역한 글을 책으로 엮는 일)
  • 배포 : 실행 가능한 파일을 배포하는 일
    • (완성된 책을 서점에 진열하는 일)

(컴파일+빌드 = 빌드 라고도 한다)

profile
BE 개발자를 꿈꾸는 학생입니다🐣

0개의 댓글