본문 바로가기
IT Study/YouTube 영상 후기

10분 테코톡 - 빌드 용어 정리

by hhyyyjun 2022. 12. 23.

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

10분 테코톡 - 빌드 용어 정리

| 빌드란

사람이 알아들을 수 있는 원시파일을 컴퓨터에서 프로그램을 돌릴 수 있게 하는(실행파일) 일련의 과정

| 원시파일~실행파일 과정

원시파일 : 사람이 알아들을 수 있게 만든 파일

컴파일 : 컴퓨터가 알아들을 수 있게 이진코드 형태의 파일로 만들어주는 것

오브젝트 파일 : 원시파일이 컴파일을 통해서 나오는 것

링크 : 바로 사용이 불가능한 오브젝트 파일에 외부 리소스들을 연결을 시키는 과정

실행파일 : 링크를 통하여 나오는 파일

| 빌드 도구란?

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

| 자동화

사람이 하지 않아도 되는 절차를 프로그램이 자동으로 하는 것

| 빌드 자동화

1. 의존성 다운로드

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

3. 이진 코드 패키징

4. 자동화된 테스트 실행

5. 프로덕션 시스템 배포

...

| 빌드도구&빌드 자동화를 사용하는 이유

프로젝트가 많아지거나 규모가 커지게 되면 빌드하는 과정을 파악하거나 빌드 프로세스의 일관성을 유지시키기 위해

| 자바의 빌드도구

Apache Ant, Maven, Gradle

1) Apache Ant

1. 자바에서 사용하는 현대 빌드 도구중 가장 최초로 출시된 빌드 도구

2. 현대적인 빌드도구

3. xml을 활용하여 빌드 스크립트 작성 (xml은 수직계층의 구조)

4. 절차적 (절차적으로 빌드 스크립트를 짠다는 것이 xml활용과 모순이 되어서 단점)

4. 유연성이 좋다. >> 코드의 모든 부분을 명시

5. 스크립트를 직접 명시 >> 단점이 될 수 있음. 이 단점을 보완하기 위해 Maven이 등장

2) Maven

1. pom.xml >> 파일을 이용해서 빌드 설정을 명시

2. 의존성 다운로드 가능 >> 네트워크 상에 있는 라이브러리를 간단하게 다운받을 수 있음.

3. 컨벤션 >> 코드 작성의 간편함

4. 사용자 의도에 맞는 로직 개발이 어려움

3) Gradle

Ant와 Maven의 단점을 보완한 것

1. Groovy/Kotlin

2. 유연성

3. 스크립트의 규모가 작다 >> Maven과 Gradle의 차이가 의존성 코드에 대해 짧은 코드로 작성이 가능

댓글