본문 바로가기
기본 쌓기/우아한테크

우아한테크) 에헴의 빌드용어

by code_learner 2022. 1. 14.

https://www.youtube.com/watch?v=JgRCaVwkPE8 

 

1. 컴파일 vs 빌드

컴파일: 사람인 코더가 작성한 코드(원시파일)를 컴퓨터가 알아 볼 수 있는 이진 코드(오브젝트파일)로 변경하는 작업

링크: 이진 코드로 변경된 오브젝트 파일을 여러 라이브러리나 외부 리소스등과 연결하는 과정->(실행파일)

빌드: 사람이 알아볼 수 있는 원시파일을 실제 컴퓨터에서 프로그램으로 돌릴수 있게 만드는 일련의 과정(컴파일+링크)

 

2. 빌드는 사람이 하는 것이 아니다.

아직 사용해보진 않았지만 JAVA에서는 gradle,maven,ant 등이 지원한다.

 

ant)

-최초로 출시된 현대적인 빌드도구

-xml사용하여 빌드 스크립트를 작성한다

-절차적으로 빌드 스크립트를 작성한다

but xml은 수직계층의 구조를 가지고 있는데 절차적인 빌드스크립트를 작성하는것이 모순적

-유연성이 좋다(코더가 모든 것을 작성한다.) but 귀찮은 일

 

Maven)

-pom.xml이라는 파일을 이용해 빌드설정

-의존성 다운로드 가능(네트워크상의 라이브러리를 다운가능)

-컨벤션 ant 와 달리 적은 코딩으로 나머지를 Maven이 처리해줌

-컨벤션이 있기때문에 로직개발이 어렵다.

 

Gradle)

-Groovy/Kotlin

-유연성

-스크립트의 규모가 작음

 

 

3. 빌드 도구란?

소스 코드로부터 실행 가능한 어플리케이션을 생성하는 것(빌드)을 자동화하는 프로그램

 

4. 빌드 자동화역할

의존성 다운로드

소스 코드를 이진 코드로 컴파일

이진 코드 패키징

자동화된 테스트 실행

프로덕션 시스템 배포

 

 

느낀점)

빌드 도구중 Maven만 써봤는데 사실 빌드를 계발할 일이 없어 불편함을 느끼지 못했다.

언젠가 실력이 늘어 Gradle을 사용하였을 때 단순히 스크립트가 짧다가 아니라 계발하는데에 유용하구나 라고 느끼는 날이 오길.

댓글