Gradle : Groovy를 기반으로 한 오픈소스 빌드 도구. 거의 모든 타입의 소프트웨어를 빌드할 수 있는 빌드 자동화 시스템
Groovy : JVM 상에서 실행되는 스크립트 언어. JAVA와 유사한 문법 구조를 가지며, 호환성이 아주 좋다.
빌드 : 소스 코드를 컴파일, 테스트, 정적 분석 등을 실행하여 실행 가능한 애플리케이션으로 만들어주는 과정
다양한 라이브러리의 등장으로 인한 문제점 : 라이브러리를 다운로드 및 추가하는 번거로움, 개발자들 간의 버전 관리 어려움, 다운받은 jar 파일의 보안 위험
빌드 도구 : 계속해서 늘어나는 라이브러리를 자동 추가 및 관리, 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화. 위의 문제점을 해결!
Gradle의 장점
- 프로젝트를 설정 주입(Configuration Injection) 방식으로 정의
- Maven의 상속 구조보다 재사용에 용이하며, 프로젝트의 조건을 체크할 수 있어서 프로젝트 별로 주입되는 설정을 다르게 할 수 있다.
- 멀티 프로젝트 빌드
- 하나의 리포지터리 내에 여러 개의 하위 프로젝트를 구성할 수 있다.
- 빌드 속도가 빠름
- 점진적 빌드(마지막 빌드 호출 이후, task의 변경 여부를 확인하여 변경되지 않았다면 빌드 실행 X)
- 빌드 캐시(빌드 결과물을 캐싱해두었다가 하나의 빌드에서 사용되는 파일들이 다른 빌드들에 사용된다면 재사용)
- 데몬 프로세스(서비스의 요청에 응답하기 위해 오랫동안 살아있는 프로세스, 메모리 상에 빌드 결과물을 보관)
api : 내부 의존성을 컴파일과 런타임 모두에 보이는 API 의존성
implementation : 내부 의존성을 런타임에서만 보이는 구현 의존성
compileOnly : 컴파일에서만 사용되는 의존성 정의
runtimeOnly : 런타임에만 사용되는 의존성 정의
test + Implementation, CompileOnly, RuntimeOnly : 해당 의존성을 테스트 시에만 사용하도록 정의
'공부 기록 > 영상 후기' 카테고리의 다른 글
[10분 테코톡] 범블비의 MVC Pattern (0) | 2023.03.21 |
---|---|
[10분 테코톡] 차리의 Stream (0) | 2023.03.20 |
WEB2 - OAuth 2.0 : 3. 등록 (0) | 2023.03.20 |
WEB2 - OAuth 2.0 : 2. 역할 (0) | 2023.03.20 |
WEB2 - OAuth 2.0 : 1.수업소개 (0) | 2023.03.20 |