일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 이클립스무한로딩
- 메모리낭비적은string연산
- sql error [936] [42000]: ora-00936
- 생성자오버로딩
- 조건위치 효율성
- 테크톡
- Sequence
- 티스토리챌린지
- 이클립스형광줄
- 이클립스느림
- sql error [947] [42000]: ora-00947
- 프로그래머스
- java크롤링
- ecleemma
- Java
- error페이지 설정
- 다형성
- 이클립스로딩
- git
- this()
- 오블완
- 테이블복사생성
- 오버로딩
- sql error [1] [23000]: ora-00001
- 이클립스로딩지연
- unresolved compilation problems
- 우아한테크
- this
- oracle
- select즐겨찾기
코딩항해기
[리뷰/우아한테크] Gradle 본문

Gradle
2012년 출시된 Groovy를 기반으로 한 오픈소스 빌드 도구로 거의 모든 타입의 소프트웨어를 빌드할 수 있는 빌드 자동화 시스템이다.
빌드
소스코드를 컴파일, 테스트, 정적분석 등을 실행해 실행 가능한 애플리케이션으로 만들어주는 과정
다양한 라이브러리가 등장하며 라이브러리를 다운로드 및 추가해야하는 문제, 버전관리 문제, 다운로드 받은 jar파일의 보완 위험 문제점이 부각되었다. 이런 문제를 해결하기 위한 도구로 빌드 도구가 생겨났다.
빌드 도구
계속해서 늘어나는 라이브러리를 자동 추가 및 관리해주며 버전을 쉽게 동기화해준다.
Gradle은 이러한 빌드 도구 중 하나로 빌드 과정을 편하게 해준다.
Groovy
JVM 상에서 실행되는 스크립트 언어로 Java와 유사한 문법 구조를 가지며, 호환성이 아주 좋다.
Gradle은 Groovy를 기반으로 하고 있어 Java언어와 잘 맞는다.
Gradle 장점
Gradle은 프로젝트를 설정주입하는 방식으로 정의하며 멀티 프로젝트 빌드가 가능하고 빌드 속도가 빠르다.
설정주입 방식으로 정의 (Configuration Injection)

Maven의 상속 구조보다 재사용에 용이하고 프로젝트의 조건을 체크할 수 있어 프로젝트 별로 주입되는 설정을 다르게 할 수 있다.
멀티 프로젝트 빌드
하나의 리포지토리 내에 여러 개의 하위 프로젝트를 구성할 수 있다.
(공통된 내용과 모듈 부분을 분리해 관리 가능해 중복을 피할 수 있다.)
빌드 속도
점진적 빌드 방식을 사용해 빌드 실행 중 마지막 빌드 호출 이후에 task의 입력, 출력 혹은 구현이 변경됐
는지 확인한다. 최신 상태가 아니라면 빌드는 실행되지 않는다.
불필요한 부분에 대해 중복 빌드가 일어나지 않아 속도가 증가되는 것이다.
그 외에도 빌드 캐시를 사용해 두 개 이상의 빌드가 돌아가고 하나의 빌드에서 사용되는 파일들이 다른 빌드들에 사용된다면 Gradle은 빌드 캐시를 이용해 이전 빌드의 결과물을 다른 빌드에서 사용할 수 있다. 다시 빌드하지 않아 빌드 시간이 줄어든다.
서비스 요청에 응답하기 위해 오랫동안 살아있는 프로세스인 데몬 프로세스도 이용한다. Gradle의 데몬 프로세스는 메모리 상에 빌드 결과물을 보관해두고 사용하기 때문에 한 번 빌드 된 프로젝트는 다음 빌드 때 더욱 빠르게 빌드된다.
Maven과 Gradle
Maven이 더 많이 사용되지만 Gradle을 정리하는 이유는 새로운 프로젝트를 할 때는 Gradle를 사용하는 추세도 있기 때문이다. (성능 면에서 우수한 점이 있어 사용하지 않을 이유가 없다.)
사용법 (의존성 주입 시)


'IT tech' 카테고리의 다른 글
[리뷰/우아한테크] MySQL 성능 최적화 (0) | 2024.11.28 |
---|---|
[리뷰/우아한테크] 데이터베이스 INDEX (0) | 2024.11.28 |
[리뷰/우아한테크] meta 태그 (0) | 2024.11.10 |
[리뷰/우아한테크] z-index의 동작방식 (0) | 2024.10.25 |
[리뷰/우아한테크] Garbage Collector (0) | 2024.10.25 |