๋ค๋ฅธ ์จ๋ผ์ธ Java ๊ณผ์ ์ด๋ ์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๊ณผ ๋น๊ตํ ๋ CodeGym์ ํต์ฌ ์ฅ์ ์ค ํ๋๋ ์ฐ๋ฆฌ ํ๋ซํผ์ด ์ฝ๋ฉ ์ด๋ณด์๋ฅผ ๋ฐ์๋ค์ฌ ์ ๊ท์ง ๊ณ ์ฉ์ ์ ํฉํ ์ง์ ํ ์ ๋ฌธ ๊ฐ๋ฐ์๋ก ์ ํํ๋๋ก ์ค๊ณ๋์๋ค๋ ๊ฒ์
๋๋ค. CodeGym์ ๊ณผ์ ์ ๋งค์ฐ ์ค์ฉ์ ์ด๋ฉฐ ์ ์ฉ ๊ฐ๋ฅํ ๊ธฐ์ ๊ณผ ์ง์์ ์ค์ ์ ๋ก๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ํ์๋ค์๊ฒ ์ ๋ฌธ ์ํํธ์จ์ด ๊ฐ๋ฐ์๊ฐ ๋งค์ผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฃผ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ๋ฅด์น๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE)์์ ์ฝ๋ฉ์ ์ต์ํด์ง๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ ๊ธฐ์ ์ด๋ฉฐ ๋ง์ CodeGym ํ์๋ค์ด ๊ณผ์ ์ ๋ง์น ์งํ ๋๋ ์์ง ๊ณผ์ ์ค์ ์ผ์๋ฆฌ๋ฅผ ์ฐพ์ ์ ์๋ ์ด์ ์ค ํ๋์
๋๋ค. ์ฐ๋ฆฌ ํ์๋ค์ ๋ ๋ฒจ 3๋ถํฐ ์ค์ ์ฝ๋ฉ ์์
์ ์์ํฉ๋๋ค.
CodeGym์ IntelliJ Idea ํ๋ฌ๊ทธ์ธ .
10๊ฐ์ ์ต๊ณ ์ IntelliJ IDEA ํ๋ฌ๊ทธ์ธ
Java์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ธ IntelliJ IDEA์์ ์ฝ๋ฉ์ ์ต์ํด์ง๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ์๋ค์ด ์ฒ์๋ถํฐ ์ ๋ฌธ๊ฐ์ฒ๋ผ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฝ๋์ ํ์ง์ ๊ดํด์๋ ๋จผ์ ์ฝ๋๋ฅผ ๊ธฐ๋ฅ์ ์ผ๋ก ๋ง๋ ๋ค์ ๋ค๋ฌ๋ ์์
์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ ์ข์ ์ ์ ์ต๊ณ ํ์ง์ ์ฝ๋๋ฅผ ๋ฐ๋ก ์์ฑํ๋ ๋ฐ ์ต์ํด์ง๋ ๊ฒ์
๋๋ค. ํ์ํจ์ ๋์์์ด ์ถ๊ตฌํ๋ ๊ฒ์ด ์ ๋ฌธ๊ฐ๊ฐ ํ์ํ๋ ๋ฐฉ์์ด๋ผ๋ ๋ฐ ๋์ํ์ญ๋๊น? ์ด๊ฒ์ด ์ค๋ ์ฐ๋ฆฌ๊ฐ ์ฝ๋๋ฅผ ๊ฐ์ ํ ์ ์๋ ์ต๊ณ ์ IntelliJ IDEA ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ ์ด์ ์
๋๋ค. ๊ธฐ์ตํ์ธ์: ๋ค์ํ ์ฝ๋ฉ ๋๊ตฌ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์์
์ด ํจ์ฌ ์ฌ์์ง ์ ์์ง๋ง, ๊ทธ๊ฒ๋ค์ด ๋น์ ์ ์ํด ํด์ค ์๋ ์์ต๋๋ค.
Codota๋ ์๋ฐฑ๋ง ๊ฐ์ ์คํ ์์ค Java ํ๋ก๊ทธ๋จ ๊ธฐ๋ฐ์์ ์ ์ฌ์ฑ์ ์ฐพ๊ณ ์ปจํ
์คํธ๋ฅผ ๋ถ์ํ์ฌ ์ฝ๋ ๋ผ์ธ์ ์์ฑํ๋ ํ๋ฅญํ ํ๋ฌ๊ทธ์ธ์
๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Codota๋ ์ค๋ฅ๋ฅผ ์ค์ด๋ฉด์ ๋ ๋น ๋ฅด๊ฒ ์ฝ๋ฉํ ์ ์๋๋ก ๋์์ค๋๋ค. ์ต๊ทผ ์
๋ฐ์ดํธ์์ ๊ฐ๋ฐ์๋ ์์ ํ AI ์๋ ์์ฑ ๊ธฐ๋ฅ์ ๋์
ํ์ต๋๋ค.
Rainbow Brackets๋ ๋ธ๋ํท ์์
์ ๋จ์ํํ๋๋ก ์ค๊ณ๋ ๋จ์ํ์ง๋ง ๋งค์ฐ ์ ์ฉํ ํ๋ฌ๊ทธ์ธ์
๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋ฉด ๊ดํธ/๊ดํธ์ ๊ฐ ์์ด ๋ค๋ฅธ ์์์ ๊ฐ์ง๋ฏ๋ก ๋ซ์์ผ ํ๋ ๊ดํธ๋ฅผ ํจ์ฌ ๋ ์ฝ๊ฒ ๋น ๋ฅด๊ฒ ์๋ณํ ์ ์์ต๋๋ค.
Checkstyle-IDEA๋ Java ์์ค ์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ปดํ์ผ๋๋์ง ํ์ธํ๋ ํธ๋ฆฌํ ์ ์ ์ฝ๋ ๋ถ์ ๋๊ตฌ์
๋๋ค. IDEA ๋ด์์ CheckStyle์ ์ฌ์ฉํ์ฌ Java ํ์ผ์ ์ค์๊ฐ ๋ฐ ์ฃผ๋ฌธํ ์ค์บ์ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค.
EduTools๋ IntelliJ ๊ธฐ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๊ณ ๊ฐ๋ฅด์น ์ ์๊ธฐ ๋๋ฌธ์ ์ ๋ง ๋ฉ์ง ํ๋ฌ๊ทธ์ธ์
๋๋ค. ์ด๊ฒ์ IntelliJ ํ๋ซํผ ๊ธฐ๋ฐ IDE ๋ด์์ ์ง์ ์ฆ๊ฐ์ ์ธ ํ์ธ ๋ฐ ํผ๋๋ฐฑ์ ํตํด ์ฝ๋ฉ ์์
์ ํํ๋ก ์ํ๋ฉ๋๋ค. Java ์ธ์๋ EduTools๋ Kotlin, Python, JavaScript, Rust, Scala, C/C++ ๋ฐ Go๋ ์ง์ํฉ๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ์ง์ ์์
, ๊ฒ์ฌ, ํ
์คํธ, ํํธ ๋ฐ ๊ธฐํ ํญ๋ชฉ์ผ๋ก ์์ ๋ง์ ๋ํํ ๊ณผ์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ์์ฑ๋ ๊ณผ์ ์ ๋๋ฃ/์น๊ตฌ์ ๋น๊ณต๊ฐ๋ก ๊ณต์ ํ๊ฑฐ๋ ํ์ต ๊ด๋ฆฌ ๋ฐ MOOC ํ๋ซํผ์ธ Stepik์์ ๊ณต๊ฐํ ์ ์์ต๋๋ค.
JRebel ๋ฐ XRebel ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ์ฝ๋ฉํ๋ ๋์ ๋ ๋น ๋ฅด๊ฒ ์ฝ๋ฉํ๊ณ ํ๋ฆ์ ์ ์งํ ์ ์์ต๋๋ค. JRebel์ ๊ฐ๋ฐ์๊ฐ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฆ์ ๋ค์ ๋ก๋ํ์ฌ Java ๊ฐ๋ฐ์์ ์ผ๋ฐ์ ์ธ ์ฌ๊ตฌ์ถ, ๋ค์ ์์ ๋ฐ ์ฌ๋ฐฐํฌ ์ฃผ๊ธฐ๋ฅผ ๊ฑด๋๋ธ ์ ์๋ ์์ฐ์ฑ ๋๊ตฌ์
๋๋ค. XRebel์ ๊ฐ๋ฐ์์๊ฒ ์ค์๊ฐ ์ฑ๋ฅ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ๋ ์ฑ๋ฅ ๋๊ตฌ๋ก, ์์ง ๊ฐ๋ฐ ๋จ๊ณ์ ์๋ ๋์ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ๋ ๋น ๋ฅด๊ณ ๋ ๋นจ๋ฆฌ ์ดํดํ๊ณ ํด๊ฒฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
Eclipse Code Formatter๋ IDEA์ Eclipse ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ชจ๋ ์ฌ์ฉํ๋ ํ(๋๋ ๋
๋ฆฝํ ๊ฐ๋ฐ์)์๊ฒ ํ๋ฅญํ ์ ํ์ด ๋ ๊ฒ์
๋๋ค. IntelliJ์์ ์ง์ Eclipse์ ์ฝ๋ ํฌ๋งทํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฌด ๋ง์ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ๋ค์ด์ง ์๊ณ ๋ ๊ณตํต ์คํ์ผ์ ์ ์งํ ์ ์์ต๋๋ค.
FindBugs ํ๋ฌ๊ทธ์ธ์ด ํ๋ ์ผ์ IntelliJ IDEA ๋ด์์ Java ์ฝ๋์ ๋ฒ๊ทธ๋ฅผ ์ฐพ๊ธฐ ์ํด ์ ์ ๋ฐ์ดํธ ์ฝ๋ ๋ถ์์ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค. FindBugs ์์ฒด๋ ์ ์ ๋ถ์์ ์ฌ์ฉํ์ฌ null ํฌ์ธํฐ ์ญ์ฐธ์กฐ, ๋ฌดํ ์ฌ๊ท ๋ฃจํ, Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ชป๋ ์ฌ์ฉ ๋ฐ ๊ต์ฐฉ ์ํ ๋ฑ๊ณผ ๊ฐ์ 200๊ฐ ์ด์์ ๋ฒ๊ทธ ํจํด์ ์ฐพ๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ Java์ฉ ๊ฒฐํจ ํ์ง ๋๊ตฌ์
๋๋ค.
์ํํธ์จ์ด์ ๋ณด์์ ๋งค์ฐ ์ค์ํ ๊ตฌ์ฑ ์์์ด๋ฉฐ ๊ฒฝํ์ด ์๋ ๋๋ถ๋ถ์ ์ฝ๋๋ ์ข
์ข
์ด๋ฅผ ๋ฌด์ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. Snyk Vulnerability Scanner ํ๋ฌ๊ทธ์ธ์ ์ฝ๋์์ ๋ณด์ ์ทจ์ฝ์ ์ ์ฐพ๊ณ ์์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. Snyk๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ํํ๊ฒ ํตํฉ๋๊ณ ํ๋ก์ ํธ์ ํฌํจ๋ ์คํ ์์ค ์ข
์์ฑ์ ์ค์บํฉ๋๋ค. ์๋ณ๋ ์ทจ์ฝ์ฑ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋๋ ์ ์ฒด ์ข
์์ฑ ๊ฒฝ๋ก ๋ฐ ์์ ์กฐ์ธ์ ํฌํจํ์ฌ ์คํ ๊ฐ๋ฅํ ์ ๋ณด์ ํจ๊ป ํ์๋ฉ๋๋ค.
๋์๋ฌธ์ ์ ํ, ์ ๋ ฌ, ํํฐ๋ง, ์ฆ๋ถ, ์ด ์ ๋ ฌ, grepping, ์ด์ค์ผ์ดํ, ์ธ์ฝ๋ฉ ๋ฑ๊ณผ ๊ฐ์ ๋ฌธ์์ด์ ๋ํ ๋ค์ํ ์์
์ ์ฝ๊ฒ ์ํํ ์ ์๋ ๊ฐ๋จํ์ง๋ง ๋งค์ฐ ์ ์ฉํ ํ๋ฌ๊ทธ์ธ์
๋๋ค.
๋ง์ง๋ง์ผ๋ก, IDE์ ํตํฉ๋ ๋ง์ธ๋ ๋งต ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์์
์ ๋ ์ฒด๊ณ์ ์ผ๋ก ๋ง๋ค๊ณ ์๋ก์ด ์์ด๋์ด๋ฅผ ์ํ ๋ธ๋ ์ธ์คํ ๋ฐ์ ๋ ํจ๊ณผ์ ์ผ๋ก ๋ง๋๋ ๋ฐ ์ ๋ง ๋์์ด ๋ ์ ์์ต๋๋ค. IDEA Mind Map์ ์ฌ์ฉํ๋ฉด IntelliJ IDEA๋ฅผ ์ข
๋ฃํ์ง ์๊ณ ๋ MMD ํ์ผ๋ก ํํ๋๋ ๋ง์ธ๋ ๋งต์ ๋ง๋ค๊ณ ํธ์งํ ์ ์์ต๋๋ค. ๋ง์ธ๋ ๋งต ์ฃผ์ ์์ ๊ฐ๋จํ ํ
์คํธ ๋ฉ๋ชจ, ์น ๋งํฌ ๋ฐ ํ์ผ ๋งํฌ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
GO TO FULL VERSION