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 κΈ°λ°, μμ μ μ΄κ³ ꡬ쑰μ |
λΉλ μλ λΉ λ¦(μΊμ±, λ³λ ¬) |
λ리μ§λ§ νμ€νλ λ°©μ |
νμ΅ λμ΄λ μμ |
μ
λ¬Έμμκ² μΉμ |