JavaRush ํ์๋ค์ ํธ์๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฅ ์ค์ํ ์ฃผ์ ์ ๊ดํ ๊ฐ์์ ๊ธฐ์ฌ๋ฅผ ์์งํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด ๋ฒ์งธ ์ ํ ํญ๋ชฉ์ Maven, Docker, GitHub, Intellij IDEA ๋ฑ ๋ชจ๋ Java ๊ฐ๋ฐ์์๊ฒ ํ์ํ ๋๊ตฌ์ ๊ดํ ๊ฒ์
๋๋ค. ๋ฏธ๋ ๊ฐ์ด๋์์๋ ๊ธฐ์ฌ์ ๋ณธ์ง์ ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํ๊ณ ์์ผ๋ฉฐ, ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด ๊ด์ฌ ์๋ ์ฃผ์ ์ ๋ํด ์์ธํ ์์๋ณผ ์ ์์ต๋๋ค. ๋ถ๋งํฌ์ ์ปฌ๋ ์
์ ์ถ๊ฐํ๊ณ ํ์ํ ๋ ๋ค์ ๋ฐฉ๋ฌธํ์ธ์.
๊ธฐ์ฌ ๋ฐ ๊ฐ์
๋ชจ๋ Java ์ด๋ณด์๋ฅผ ์ํ ํ์ ์ฑ
์ ๋จ์ํ ์ด๋ก ์ด ์๋๋ผ ๋ง์คํฐํ ๊ฐ์น๊ฐ ์๋ ๋๊ตฌ์ ๊ธฐ์ ์ ๊ดํ ๊ฒ์
๋๋ค. ๋ฐฉ๊ธ ํ๋ก๊ทธ๋๋ฐ์ ์ฒซ ๋จ๊ณ๋ฅผ ์์ํ๋ค๋ฉด ์ด ์ฑ
์ ์ฝ์ด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ํ์คํ ๋์์ด ๋ ๊ฒ์
๋๋ค.
IntelliJ IDEA ๋ฐ ์ ์ฌํ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ง์คํฐํด์ผ ํ๋ ์ฒซ ๋ฒ์งธ ๋๊ตฌ ์ค ํ๋์
๋๋ค. ์ด ์๋ฃ์์ ์ ์๋ ์ํํธ์จ์ด ์ค์น ๋ฐ ๊ตฌ์ฑ์ ๋ฌผ๋ก IntelliJ IDEA์์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ์ ์ฐจ๋ ์ดํด๋ด
๋๋ค.
IntelliJ IDEA Enterprise Edition(IDE์ ์ ๋ฃ ๊ณ ๊ธ ๋ฒ์ )์์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋จ๊ณ๋ณ ๊ฐ์ด๋์
๋๋ค. ์ด ๊ธฐ์ฌ์๋ ์ ์ฉํ ์์ ์ ์คํฌ๋ฆฐ์ท์ด ๋ง์ด ํฌํจ๋์ด ์์ต๋๋ค.
IT ์ธ๊ณ์๋ ๋
์ ์ํํธ์จ์ด์ ์คํ ์์ค๋ผ๋ ๋ ๊ฐ์ง ์ง์์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฉ ๊ฐ๋ฐ ํ๊ฒฝ ์ค์์ IDEA(์คํ ์์ค ์ผ๋ง ํฌํจ)๊ฐ ์ค์ง์ ์ผ๋ก ํ์คํ ์ ๋์ฃผ์๋ผ๋ฉด, ์คํ ์์ค IDE๋ ์ ์ผํ๊ฒ ์ ํธ๋๋ Eclipse๋ก ๋ํ๋ฉ๋๋ค. ๊ฐ๋ฐ ํ๊ฒฝ์ ์ค์ค๋ก ๋ง์ถคํํ๋ ค๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด ํ
์คํธ์์๋ ์ด IDE๊ฐ ๋ฌด์์ธ์ง, ์ฅ์ ๊ณผ ๋จ์ ์ด ๋ฌด์์ธ์ง ์ค๋ช
ํฉ๋๋ค.
์ต์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ๋ ์ฌ์์ง๋๋ค. ํนํ, "์น์ธ๋์ง ์์" ํ์์ ์ต์ํํ๋ ค๊ณ ๋
ธ๋ ฅํ๋ฉด์ ์ฝ๋ ์คํ์ผ์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ์ด๋ฒ ๋ฆฌ๋ทฐ์์ ์ ์๋ ์ฝ๋๋ฅผ ์ฝ๊ธฐ ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํด IntelliJ Idea IDE๊ฐ ๊ฐ๋ฐ์์๊ฒ ์ ๊ณตํ๋ ๋๊ตฌ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
์๋ง๋ ๋ชจ๋ ์ฌ๋์ด IntelliJ IDEA ํ๊ฒฝ์ ๊ธฐ๋ฅ์ด ๋ถ์กฑํ๊ฑฐ๋ ์ด๋ฅผ ๊ฐ์ธ ์๊ตฌ์ ๋ง๊ฒ ์กฐ์ ํ๊ณ ์ถ์ดํ๋ ๊ฒ์ ์๋ ๊ฒ์
๋๋ค. ์ด๊ฒ์ ํ์ค์
๋๋ค. ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํ์ฌ ๊ธฐ๋ฅ์ ํ์ฅํ๋ฉด ๋ฉ๋๋ค. ์ด ํ
์คํธ์๋ Intellij IDEA์ ํจ๊ป ์๋ํ๋ 10๊ฐ์ง ํฅ๋ฏธ๋ก์ด ํ๋ฌ๊ทธ์ธ์ด ๋์ด๋์ด ์์ต๋๋ค.
์ค๋๋ Eclipse, IntelliJ IDEA ๋ฐ NetBeans๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ์ฅ ์ ํธํ๋ Java IDE๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ์ธ์๋ ๋ค๋ฅธ ์๋ฃจ์
์ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค. ๋ณธ๋ฌธ์ ๋ด์ฉ์ ์ด๊ฒ์ด๋ค.
Java Runtime Environment๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ํ ํ๋ซํผ์์ Java ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ ์ ์์ต๋๋ค. ๋ช
๋ น์ค์ ํฌํจํ์ฌ ์คํ ๋ฐ ์ปดํ์ผ์ ์ํํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ๋ช
๋ น์ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์์ฑ ๋ฐ ๊ธฐํ ์ฌ๋ฌ ์์
์ํ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ ์ ์์ต๋๋ค. ์ด ํ
์คํธ์์๋ Java ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ์ฌ์ฏ ๊ฐ์ง ์ ์ฉํ ๋ช
๋ น์ค ๋๊ตฌ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
ํผํ ์ ์๋ ์ค๋ฅ๋ก๋ถํฐ ์ฝ๋๋ฅผ ๋ณดํธํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ ์ ์ฝ๋ ๋ถ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค. ์ด ๊ธฐ์ฌ์์๋ ๊ทธ๋ฌํ ๋ถ์์ ์ํ 8๊ฐ์ง ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฝ๊ณ ๋ง์์ ๋๋ ๊ฒ์ ์ ํํ์ธ์.
๋ค์์ JVM ๋ชจ๋ํฐ๋ง ๋๊ตฌ ๋ฐ ๊ด๋ จ ์ ํ์ ์ ์ฒด ๋ชฉ๋ก์
๋๋ค. ๋๊ตฌ๋ ์ํ๋ฒณ ์์๋ก ๋์ด๋๋ฉฐ ๋ชฉ๋ก ๋ฐฐ์น์ ๋ฐ๋ฅธ ๊ธฐ๋ณธ ์ค์ ์ ์์ต๋๋ค.
Maven์ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๊ณ ๊ตฌ์ถํ๋ ๋๊ตฌ๋ก, Java ํ๋ก๊ทธ๋๋จธ์ ์ค์ ์กฐ๋ ฅ์์
๋๋ค. ํ๋ก์ ํธ ๊ตฌ์กฐ ์์ฑ, ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๊ฒฐ๋ถํฐ ์๋ฒ์ ์ ํ ๋ฐฐํฌ๊น์ง ๋ชจ๋ ์์
๋จ๊ณ์์ ๊ฐ๋ฐ์์ ์ถ์ด ๋ ์ฌ์์ง๋๋ค. ์ด๋ค ํ๋ ์์ํฌ๋ก๋ ์์
ํ๋ ค๋ฉด Maven์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด ์๊ฐ ํ
์คํธ์์๋ ์ฃผ์ ๊ธฐ๋ฅ์ ์ค๋ช
ํฉ๋๋ค.
Maven์ Gradle, Ant์ ํจ๊ป ํ๋ก์ ํธ ๋น๋ ๋๊ตฌ์
๋๋ค. ํ๋ก์ ํธ ์์ฑ์ ๊ดํ ์ผ๋ จ์ ์ถํ๋ฌผ์์ ์ ์๋ ๋ค์ํ ๋๊ตฌ ์ฌ์ฉ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค. ์ ๋ชฉ์์ ์ ์ ์๋ฏ์ด ์ด ์น์
์ Maven์ ๊ดํ ๊ฒ์
๋๋ค.
์ฒซ ๋ฒ์งธ ์น์
์ ์ค๋ช
๋ ์ด๋ก ์ด ์ค์ ๋ก ํ์๋๋ ์ด์ ๊ธฐ์ฌ์ ๊ณ์์
๋๋ค.
์ด ๋ฌธ์์์๋ Maven์ ์ฌ์ฉํ์ฌ Java ์ ํ๋ฆฌ์ผ์ด์
์ ํจํค์งํ๋ ์ํฌํ๋ก๋ฅผ ๋ง๋ ๋ค์ ์ด๋ฅผ ์ํฐํฉํธ๋ก ์ ์ฅํ๊ฑฐ๋ GitHub ํจํค์ง์ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
GitHub๋ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํ ๊ฐ๋ฐ ์๋น์ค์
๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ ์๋ง์ ๊ณต๊ฐ ์ ์ฅ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. GitHub๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์ ์ฅํ๊ณ ํ์ ๋ฐ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ๊ณต๋ ์์
ํ ์ ์์ต๋๋ค. GitHub๋ฅผ ์ง์ ์
๊ทธ๋ ์ด๋ํ๊ณ ์ฌ์ฉ์ ์ ์ํ์ฌ ๊ฐ์ ํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์์๋ ์ด์ ๋์์ด ๋ ์ ์๋ ๋๊ตฌ ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋๋ถ๋ถ์ ์ฐ์
์ฉ ํ๋ก๊ทธ๋๋จธ๋ Eclipse, NetBeans ๋๋ IntelliJ IDEA๋ฅผ ์ฌ์ฉํ๋ฉฐ ์ด๋ฌํ IDE ๊ฐ๊ฐ์๋ ๊ณ ์ ํ ์ฅ์ ๊ณผ ๋จ์ ์ด ์์ต๋๋ค. ์ด ๊ธฐ์ฌ๋ฅผ ์ฝ๊ณ ๋๋ฉด ์ด๋ ๊ฒ์ด ๊ทํ์๊ฒ ์ ํฉํ์ง ์ดํดํ๊ฒ ๋ ๊ฒ์
๋๋ค.
ํ๋ ์ฌํ์์๋ ๋ง์ ์๋น์ค๊ฐ "์น"์ ์กด์ฌํ๋ฉฐ ์ฌ์ง์ด "๊ตฌ์" ์ ํ๋ฆฌ์ผ์ด์
๋ ์ฒ์ฒํ ์น์ผ๋ก ์ด๋ํ๊ณ ์์ต๋๋ค. ์ด ์ปฌ๋ ์
์๋ ๊ฐ๋ฐ์์๊ฒ ์ ์ฉํ ์ ์๋ ์จ๋ผ์ธ ๋๊ตฌ๊ฐ ๋์ด๋์ด ์์ต๋๋ค. IDE๋ฅผ ๋ก์ปฌ๋ก ์คํํ์ง ์๊ณ ๋ ์ ์ํ๊ฒ ํ
์คํธํ ์ ์๋๋ฐ, ์ด๋ ๋๋๋ก ์ ์ฉํฉ๋๋ค.
๋ชจ๋ ํ๋ก์ ํธ ํ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ ํ์ ์ ์ํ๊ฒ ๊ฐ๋ฐํ๊ณ ์์ฅ์ ์ถ์ํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค. ์คํ ์์ค ๋๊ตฌ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ ์ ์ฝ๋ ๋ถ์์ ์ํํ๊ณ , ๊ตฌ์ฑ์ ๊ด๋ฆฌํ๊ณ , ๋น๋ํ๊ณ ์ง์์ ์ธ ํตํฉ์ ์ํํ ์ ์๋ ๋๊ตฌ์
๋๋ค. ์ด ํ
์คํธ์๋ ์ฝ๋ ํ์ง์ ํฅ์ํ๊ณ ์์ฐ์ฑ์ ๋์ผ ์ ์๋ ๋ช ๊ฐ์ง ์ ์ฉํ ์คํ ์์ค ๋๊ตฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
GitHub์์ ํ๋กํ์ ๋ง๋ค ๋ ์ด๋ณด์๋ ์ฝ๊ฒ ํผํ ์ ์๋ ์ค์๋ฅผ ์ ์ง๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. GitHub ํ๋กํ์ด ๊ณ ์ฉ์ฃผ์๊ฒ ์ข์ ์ธ์์ ์ฃผ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด ๊ณ ๋ คํด์ผ ํ ๋ช ๊ฐ์ง ์ค์ํ ์ธ๋ถ ์ฌํญ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฝ๊ณ ์ดํดํฉ๋๋ค.
Github ํ
ํ๋ฆฟ ์ ์ฅ์๊ฐ ๋ฌด์์ธ์ง, ์ด๋ป๊ฒ ์์
ํ๋์ง์ ๋ํ ํฐ ํ
์คํธ์
๋๋ค.
์ ์ธ๊ณ์ ๊ฐ๋ฐ์๋ค์ GitHub๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ๊ณต์ ํฉ๋๋ค. ์ด ๊ธฐ์ฌ์์ ์ ์๋ ํ๋ฅญํ ์คํ ์์ค ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ๋ฐ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ํ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ์ ์ฌ์ฉํ์ฌ ํด์ปคํค ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์๋ ์์ต๋๋ค.
์ด์ ๊ฐ์ํ์ ์ปจํ
์ด๋ํ ์์ด ํ๋์ ๋๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์ฌ์์ ์ ์๋ Kubernetes, Docker ๋ฐ Docker Swarm ์ค์ผ์คํธ๋ ์ด์
๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ์์ญ๊ณผ ๊ธฐ๋ฅ์ ๋น๊ตํฉ๋๋ค.
์ปจํ
์ด๋ํ๋ ์ค์ ๋ก ์์ฃผ ์ฌ์ฉ๋๋ ๋ฉ์ปค๋์ฆ์
๋๋ค. ์ด ์งง์ ๊ฐ์๋ Docker ๋๊ตฌ์ ๋ํ ์ฒซ ๋ฒ์งธ ์์ด๋์ด๋ฅผ ํ์ฑํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ฝ๋ ๊ฒํ ๋ ๊ฐ๋ฐ์ ํ์ ๋ถ๋ถ์
๋๋ค. ์ด ์์
์ ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํด ์ ์ ์ฝ๋ ๋ถ์์ ๋ค์ํ ๋๊ตฌ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด ๋ฆฌ๋ทฐ์์ ๋
ผ์๋๋ SpotBugs ํต๊ณ ๋ถ์๊ธฐ๊ฐ ์์ต๋๋ค.
๋น๋์ค
IntelliJ IDEA์์ ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น? Naumen์ Java ๊ฐ๋ฐ์์ธ Artem Zaitsev๋ ์ด ๋ฌธ์ ์ ๋ํ ๊ถ์ฅ ์ฌํญ์ ๊ณต์ ํ์ต๋๋ค. Artem์ ์์นดํ
๋ฆฐ๋ถ๋ฅดํฌ Java ์ปค๋ฎค๋ํฐ JUG.EKB ์ฑ๋์์ ํ๋ ์ ํ
์ด์
์ ์งํํ ํ ์ฝ๋๊ฐ IDE์์ ๋ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์์
ํ๋ ๋ฐ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ์ฌ์ฉ์ ์ ์ ๊ธฐ์ ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. ๋ณด๊ณ ์์๋ ์ฝ๋์ ์๊ฐ์ ๋ฐ๋ชจ๊ฐ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค.
์๋ฆฌ์ฆ์ ๊ธฐํ ์๋ฃ: |
|
GO TO FULL VERSION