- 빌드
컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일.
인간도 책을 각 나라의 언어에 맞게 번역하는 과정이 여러 단계가 있듯이(파파고, 구글 번역) 컴퓨터의 빌드 과정도 모든 언어가 각기 다른 방식을 사용한다.
Type Process
Compile | 소스코드 전체를 기계어로 번역후 실행파일을 만듬. |
Interpreted | 소스코드를 한 줄씩 번역하면서 실행 |
Hybrid | 소스코드 전체를 중간코드(바이트 코드)로 번역한 뒤 가상머신(vm)에서 한 줄씩 실행. |
- jar pile
여러개의 자바 클래스 파일과, 클래스들이 이용하는 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다.
메타데이터란 데이터에 대한 데이터. 어떤 목적을 가지고 만들어진 데이터
소프트웨어 패키지란 컴퓨터에게 동작 방법을 지시하는 명령어 집합의 모임
그루비란 자바에 파이썬,루비,스몰토크 등의 특징을 더한 동적 객체 지향 프로그래밍 언어이다.
Wrapper class 기본 타입에 해당하는 데이터를 객체로 포장해주는 클래스를 래퍼 클래스라 한다. ex) int가 변경되려면 Interger
- Gradle
그루비를 이용한 빌드 자동화 시스템이다.(안드로이드 앱을 만드는데 필요한 안드로이드 스튜디오의 공식 빌드 시스템)
Gradle 프로젝트 구조
- build.gradle - Gradle 기본 빌드 설정용 스크립트 파일이다.프로젝트의 빌드 처리 및 의존성에 대한 설정이 작성되어 있다.
- gradle directory - Gradle 환경을 래핑한 wapper 파일들이 저장된다.
- gradle/wrapper/gradle-wrapper.properties - 프로젝트를 빌드에 사용할 gradle 버전을 포함하여, gradle 실행에 필요한 설정 정보가 기록된다. 다른 버전의 gradle을 사용하여 프로젝트를 빌드하고 싶다면 이 파일의 내용을 수정하면 된다.
- gradlew - macOs 및 Linux에서 실행하기 위한 gradle 구현체이다.
- gradlew.bat - Window용 graddle 구현체이다.
- settings.gradle - 프로젝트 설정 정보를 담은 파일이다. 프로젝트명 및 서브 프로젝트 정보 등이 모두 기록된다.
- src directory - Gradle 프로젝트에서 사용하는 소스 코드나 리소스,테스트 코드 등의 파일이 저장된다. main과 test라는 2개의 폴더가 포함된다.
- src/main directory - 애플리케이션 구현에 필요한 소스 코드를 저장하는 디렉토리이다. 언어별로 하위 디렉토리가 구분되며, 기본적으로 App.java 파일이 포함된다.
- src/test directory - 애플리케이션 테스트에 필요한 단위 테스트 파일을 모아두는 디렉토리이다. 여기에 작성된 내용은 빌드시에 포함되지 않지만, CI/Cd 파이프 라인에서는 중요한 역할을 한다.
Gradle 프로젝트 구조
- app
- build.gradle
- src
- main
- java
- App.java
- resources
- java
- test
- java
- AppTest.java
- resources
- java
- main
- gradle
- wrappper
- gradle-wrapper.java
- gradle-wrapper.properties
- wrappper
- gradlew
- gradlwe.bat
- settings.gradle
'TIL' 카테고리의 다른 글
Day26 (0) | 2023.02.27 |
---|---|
Day25 (0) | 2023.02.26 |
Day23(메모리 저장) (0) | 2023.02.24 |
Day22 (0) | 2023.02.24 |
Day21(클래스,객체,상속,다형성,메소드오버로딩,메소드오버라이딩) (0) | 2023.02.23 |