BKJang / do-you-know-backend

πŸ–₯ This repository contains contents about overall knowledge of backend

Home Page:https://bkjang.github.io/do-you-know-backend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Maven vs Gradle

BKJang opened this issue Β· comments

Maven vs Gradle

처음 Maven을 μ ‘ν–ˆλ˜ λ•ŒλŠ” 처음으둜 Spring Frameworkλ₯Ό μ΄μš©ν•΄ κ°œλ°œμ„ μ‹œμž‘ν–ˆμ„ λ•Œλ‹€. λ§‰μ—°νžˆ Maven의 νŽΈμ•ˆν•¨μ„ 느끼고 κ°œλ°œμ„ 진행할 λ•Œμ―€ Spring Bootλ₯Ό κ²½ν—˜ν•  수 μžˆμ—ˆκ³  κ·Έ λ•Œ 처음으둜 Gradle을 μ ‘ν•  수 μžˆμ—ˆλ‹€. Gradle이 Maven의 λ§Žμ€ 단점을 보완해쀀닀고 ν•˜λŠ”λ° 이에 λŒ€ν•΄ ν•˜λ‚˜μ”© λΉ„κ΅ν•˜λ©° 정리해보렀 ν•œλ‹€.

ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜κ²Œ 되면 λ§Žμ€ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ ν™œμš©ν•΄μ„œ κ°œλ°œμ„ ν•˜κ²Œ λœλ‹€. 이 수 λ§Žμ€ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ κ΄€λ¦¬ν•˜λŠ” 것을 νŽΈν•˜κ²Œ λ§Œλ“€μ–΄ μ£ΌλŠ” 것이 Mavenκ³Ό Gradle의 역할이닀. λ‚΄κ°€ μ‚¬μš©ν•  라이브러리뿐만 μ•„λ‹ˆλΌ ν•΄λ‹Ή 라이브러리λ₯Ό μ‚¬μš©ν•˜λŠ”λ° ν•„μš”ν•œ λ‹€λ₯Έ λΌμ΄λΈŒλŸ¬λ¦¬λ“€λ„ ν•¨κ»˜ λ‹€μš΄λ°›μ•„μ£ΌκΈ° λ•Œλ¬Έμ— 개발자 μž…μž₯μ—μ„œλŠ” 훨씬 효율적으둜 κ°œλ°œμ„ 진행할 수 μžˆλ‹€.

CoC(Convention over Configuration)

μš°μ„ , Mavenκ³Ό Gradle의 차이λ₯Ό μ•Œμ•„λ³΄κΈ° 이전에 CoCλž€ 단어에 λŒ€ν•œ 이해가 ν•„μš”ν•˜λ‹€.

CoCλž€ μΌμ’…μ˜ κ΄€μŠ΅μ„ λ§ν•œλ‹€. 예λ₯Ό λ“€μ–΄ ν”„λ‘œκ·Έλž¨μ˜ μ†ŒμŠ€νŒŒμΌμ€ μ–΄λ–€ μœ„μΉ˜μ— μžˆμ–΄μ•Ό ν•˜κ³ , μ†ŒμŠ€κ°€ 컴파일된 νŒŒμΌλ“€μ€ μ–΄λ–€ μœ„μΉ˜μ— μžˆμ–΄μ•Ό ν•˜κ³  등을 미리 정해놨닀면 μ–΄λ–¨κΉŒ?

이에 λŒ€ν•΄ μ΅μˆ™ν•œ μ‚¬λžŒμ€ μ‰½κ²Œ κ°œλ°œμ„ 진행할 수 μžˆκ² μ§€λ§Œ, 그렇지 λͺ»ν•œ μ‚¬λžŒμ€ μ΅μˆ™ν•΄μ§€λŠ” λ¨Όμ € μ‹œκ°„μ„ μ†Œμš”ν•΄μ•Όν•  것이닀. 개인적으둜 '싀무에 λ°”λ‘œ νˆ¬μž…κ°€λŠ₯ν•œ μ‚¬λžŒ'을 μ±„μš©ν•œλ‹€κ³  ν•  λ•Œ, ν•΄λ‹Ή κΈ°μ—…μ˜ CoC에 λŒ€ν•΄ μ΅μˆ™ν•΄μ§€κ³  이λ₯Ό λ°œμ „μ‹œν‚€λŠ”λ° μΆ©λΆ„ν•œ λŠ₯λ ₯을 κ°–μΆ˜ μ‚¬λžŒμ„ μ±„μš©ν•œλ‹€λŠ” μ˜λ―Έκ°€ μ•„λ‹κΉŒ μ‹Άλ‹€.

CoCλ₯Ό μ•Œμ•„κ°„λ‹€λŠ” 의미의 μΌμ’…μœΌλ‘œ Mavenμ΄λ‚˜ Gradle같은 λΉŒλ“œ νˆ΄μ„ μ‚¬μš©ν•˜λŠ” 방법을 μ•Œμ•„κ°€λŠ” 것도 ν¬ν•¨λœλ‹€κ³  보면 이해가 μ‰¬μšΈ 것 κ°™λ‹€.

Maven

Gradle


πŸ™ Reference