Backend Ddevelopment
Database
Server
Build System
โ๐[Backend Development] Build system์ ๊ทธ๋ ์ด๋ค๊ณผ ๋ฉ์ด๋ธ์ ์ฐจ์ดโ
Gradle๊ณผ Maven์ ๋ชจ๋ Java ๊ธฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ ์์กด์ฑ์ ๊ด๋ฆฌํ๋ ๋ํ์ ์ธ ๋น๋ ๋๊ตฌ์
๋๋ค.
๋ ๋ค ๋๋ฆฌ ์ฌ์ฉ๋์ง๋ง, ์ฒ ํ๊ณผ ์ฌ์ฉ ๋ฐฉ์, ์ฑ๋ฅ, ์ ์ฐ์ฑ ๋ฑ์์ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
โ
Gradle vs Maven: ํต์ฌ ์ฐจ์ด์ ๋น๊ต.
ํญ๋ชฉ |
Gradle |
Maven |
๋น๋ ์ธ์ด |
Groovy ๋๋ Kotilin DSL ๊ธฐ๋ฐ ์คํฌ๋ฆฝํธ |
XML(pom.xml) |
๊ตฌ๋ฌธ |
์ ์ฐํ๊ณ ๊ฐ๊ฒฐํ DSL |
์ ์ธ์ ์ด๊ณ ์ ํํ๋ ๊ตฌ์กฐ |
์ฑ๋ฅ |
๋น ๋ฆ (Incremental Build, Daemon, Build Cache) |
๋น๊ต์ ๋๋ฆผ (๋ชจ๋ ์์
๋ค์ ์ํ) |
์์กด์ฑ ๊ด๋ฆฌ |
Gradle์ dependencies ๋ธ๋ญ์ผ๋ก ์ ์ธ |
Maven์ <dependencies> ๋ธ๋ญ ์ฌ์ฉ |
์ฌ์ฉ์ฑ |
๋ณต์กํ ๋ก์ง/์กฐ๊ฑด ์ฒ๋ฆฌ์ ์ ๋ฆฌ |
๊ตฌ์กฐ๊ฐ ๋จ์ํด ์
๋ฌธ์์๊ฒ ์ ํฉ |
๋น๋ ์๋ |
โ
๋น ๋ฆ(์บ์ฑ, ๋ณ๋ ฌ ๋น๋) |
โ ๋๋ฆผ |
์ํ๊ณ ํตํฉ |
Android, Kotilin ๋ฑ ๋ค์ํ ์ธ์ด์ ๊ฐํจ |
Java, Spring ๋ฑ Java ์ํ๊ณ์ ๊ฐํจ |
ํ์ฅ์ฑ |
ํ๋ฌ๊ทธ์ธ ๊ฐ๋ฐ ๋ฐ ์ปค์คํฐ๋ง์ด์ง ์ฉ์ด |
ํ๋ฌ๊ทธ์ธ ์ํ๊ณ๋ ์์ง๋ง ์ ํ์ |
์ค์ ํ์ผ |
build.gradle ๋๋ build.gradle.kts |
pom.xml |
๐ ์์ ๋น๊ต
Maven(pom.xml)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
Gradle (build.gradle)
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
}
โ
์ ํ ๊ธฐ์ค(์ค๋ฌด ๊ธฐ์ค)
์ํฉ |
์ถ์ฒ ๋น๋ ๋๊ตฌ |
๋จ์ํ Java/Spring ํ๋ก์ ํธ |
Maven(๊ตฌ์กฐ๊ฐ ๋ช
ํํ๊ณ ์์ ์ ) |
๋น๋ ์๋ ์ค์, Android ํ๋ก์ ํธ, ์ ์ฐ์ฑ ํ์ |
Gradle(์ ์ฐํ๊ณ ๋น ๋ฆ) |
CI/CD ํ์ดํ๋ผ์ธ ํตํฉ |
๋ ๋ค ์ง์๋์ง๋ง, Gradle์ ๋ ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ |
๋ณต์กํ ์กฐ๊ฑด ๋ถ๊ธฐ, ๋ชจ๋ํ, ์คํฌ๋ฆฝํธ ์์ฑ ํ์ |
Gradle(์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ ์ฒ๋ฆฌ ์ ๋ฆฌ) |
๐ ์์ฝ
Gradle |
Maven |
DSL ๊ธฐ๋ฐ, ๋น ๋ฅด๊ณ ์ ์ฐํจ |
XML ๊ธฐ๋ฐ, ์์ ์ ์ด๊ณ ๊ตฌ์กฐ์ |
๋น๋ ์๋ ๋น ๋ฆ(์บ์ฑ, ๋ณ๋ ฌ) |
๋๋ฆฌ์ง๋ง ํ์คํ๋ ๋ฐฉ์ |
ํ์ต ๋์ด๋ ์์ |
์
๋ฌธ์์๊ฒ ์น์ |