CodeGym ์ปค๋ฎค๋ํฐ์ ์ฌ๋ฌ๋ถ ์๋
ํ์ธ์! ์ค๋ ์ฐ๋ฆฌ๋ ์ฝ๋ ํ์ง์ ๋ํด ์ด์ผ๊ธฐํ ๊ฒ์
๋๋ค. ์, ์น์ ํ๋ ์น๊ตฌ. ๊ทธ ๋๊ตฌ๋ ์๋ฒฝํ์ง ์์. ๋๊ตฌ๋ ์ด๋ ์์ ์์ ์ฝ๋๊ฐ ๋ ๋์ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ์ต๋๋ค... ํ์ง๋ง ์ด ์ํฉ์์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ์ต์ํ ์ด ๋ฌธ์ ๋ฅผ ์กฐ์ฌํ๊ธฐ ์์ํ์ญ์์ค. ๊ทธ๋ฌ๋ ๋น์ ์ ์ด๋ฏธ ์ฌ๊ธฐ์ ์์ต๋๋ค. ์ฆ, ์ฃผ์ ๊ฐ ๋น์ ์ ๊ด์ฌ์ ๋ ๊ฒ์ด๋ฏ๋ก ๊ฐ์. ์ค๋ ์ฐ๋ฆฌ๋ ์ฝ๋๋ฅผ ๋ ์ข๊ณ ๊น๋ํ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ๋ฏธ๋์ ํ์ฌ ์ฝ๋๋ฅผ ๋ถ๋๋ฌ์ํ์ง ์์ ๊ฒ์
๋๋ค! :) ์ด ๋ชจ๋ ๋ฐฉ๋ฒ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ข์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๋ ๋ฐ ๋์์ด ๋ ๊ฒ์
๋๋ค.
1. ์ฝ๋๋ฅผ ๊ฐ์ ํ๊ณ ์ถ๋ค๋ฉด ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์ฝ์ด๋ณด์ธ์.
ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ๊ทน์ ์ผ๋ก ํฅ์์ํค๋ ค๋ฉด ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์ฝ์ด์ผ ํฉ๋๋ค. ๋๋ฅผ ๋ฏฟ๊ฑฐ ๋ ๋ง๊ฑฐ๋. ํ์ง๋ง ์ํ์ ๋ฌด๋ฆ ์ฐ๋ฉด ์๊ฐ์ ๋ณด๋ธ ๋งํผ ๋ณด์์ ๋ฐ์ ์ ์๋ค๊ณ ์ฝ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด HashMap, ArrayList, LinkedList ๋ฑ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง medium.com์์ ์ฝ์ง ๋ง์ญ์์ค. ๋์ ์์ค ์ฝ๋๋ฅผ ์ฝ๊ณ ์ง์ ํ์ ํ์ญ์์ค. ์ฝ์ ํด๋์ค ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.- ์ธํฐ๋ทฐ์์ ๊ฐ์ฅ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ์ HashMap์ ๊ดํ ๊ฒ์ ๋๋ค. ํ๋์ ๋๋ก ๋ ๋ง๋ฆฌ์ ์๋ฅผ ์ฃฝ์ผ ์ ์์ต๋๋ค. ์ฝ๋๋ฅผ ์ดํดํ๊ณ ํ์ํ ์ง์์ ์ป์ ์ ์์ต๋๋ค.
- ArrayList์ ๋ํด์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ณต์กํ ๊ฒ์ ์์ง๋ง ์์ค ์ฝ๋๋ ์ ๋ง ์ฝ๊ณ ์ดํดํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
- ๋ฌธ์์ด์ด ์ข์ ์์ ๋๋ค. ๋ถ๋ณ์ธ ์ด์ ๋ฅผ ์ดํดํ์ญ์์ค.
- AtomicInteger๋ ๋ฉ์ง ํด๋์ค์ ๋๋ค. Integer ๊ฐ์ฒด์ ๋ํ ์์ ์ฐ์ฐ์ ์ ์ํฉ๋๋ค.
- ๊ทธ ํ์๋ ๋ชจ๋ ํด๋์ค๋ฅผ ์ฐจ๋ก๋ก ๋์ดํ ์ ์์ต๋๋ค. :)
2. ์ฝ๋ ๊ท์น์ ๋ฐ๋ฅด์ญ์์ค.
์ฝ๋ฉ ๊ท์น์ ๊ฐ๋ฐ ํ์์ ๋ง๋ ์ผ๋ จ์ ์ง์นจ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ฝ๋์ ๋ชจ๋ ์ธก๋ฉด์ ๋ํ ์ฝ๋ฉ ์คํ์ผ ๋ฐ ๊ธฐ์ ์ ๋ํ ์ง์นจ์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๊ท์น์ ํ์ฌ ์ ์ฒด ๋๋ ํน์ ํ๋ก์ ํธ๋ฅผ ์ํด ์์ฑ๋ ์ ์์ต๋๋ค. ์ฝ๋ฉ ๊ท์น์ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ ํ์ผ ๊ตฌ์ฑ, ๋ค์ฌ์ฐ๊ธฐ, ์ฃผ์, ์ ์ธ, ์ฐ์ฐ์, ๊ณต๋ฐฑ, ๋ช ๋ช ๊ท์น, ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ๋ฐ ์์น, ํ๋ก๊ทธ๋๋ฐ ๊ท์น, ์ํคํ ์ฒ ๋ชจ๋ฒ ์ฌ๋ก ๋ฑ์ ํฌํจํฉ๋๋ค. ํน์ ํ์ค์ ์ฃผ์ ์ด์ ์ ์ฝ๋๊ฐ ๋์ผํ๊ฒ ๋ณด์ด๊ณ ๋์ผํ ์คํ์ผ๋ก ์์ฑ๋๋ค๋ ์ฌ์ค์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ๋ ์ฑ์ด ๋์์ง๊ณ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๊ฐ๋ฐ ๊ณผ์ ์ ๋ฐ์ ๊ฑธ์ณ ์ฝ๋ฉ ํ์ค์ ์ค์ํ๊ณ ์ผ๊ด๋๊ฒ ์ ์ฉํ๋ค๋ฉด, ์์ผ๋ก๋ ์ฝ๋๋ฅผ ์ ์ง ๋ฐ ํ์ฅํ๊ณ , ๋ฆฌํฉํ ๋งํ๊ณ , ํตํฉ ์ถฉ๋์ ํด๊ฒฐํ๋ ๊ฒ์ด ๋ ์ฌ์์ง ๊ฒ์ ๋๋ค. ์ฝ๋ฉ ๊ท์น์ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ค์ํฉ๋๋ค.- ์ํํธ์จ์ด ๋น์ฉ์ 40-80%๋ ์ ์ง ๊ด๋ฆฌ์ ์ฌ์ฉ๋๋ฉฐ,
- ๊ฑฐ์ ๋ชจ๋ ์ํํธ์จ์ด๋ ์์ฑ์๊ฐ ํ์ ๋์ ์ ์ง ๊ด๋ฆฌํ์ง ์์ต๋๋ค.
- ์ฝ๋ฉ ๊ท์น์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ฝ๋๋ฅผ ๋ ๋นจ๋ฆฌ ์ดํดํ ์ ์๋๋ก ํ์ฌ ์์ค ์ฝ๋์ ๊ฐ๋ ์ฑ์ ํฅ์์ํต๋๋ค.
3. ์ฝ๋ ๋ฆฌ๋ทฐ ์ฌ์ฉ
์ฝ๋ ๊ฒํ ๋ ์ฝ๋ ๊ฐ์ ์ ์ํ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋๊ตฌ ์ค ํ๋์ ๋๋ค. ์? ์ฝ๋๋ฅผ ์์ฑํ์ง ์์ ์ ๋ฌธ๊ฐ๊ฐ ์ฝ๋๋ฅผ ๊ฒํ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ ํ ๋ชจ์ต์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฝ๋ ๊ฒํ ๋ ์ข ์ข โโ๋์ฐํ ์ฝ๋ ์์ฑ์ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํด์ค ๋ค๋ฅธ ์ฌ๋์ ์ฐพ์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฝ๋ ๋ฆฌ๋ทฐ๊ฐ ํญ์ ๊ฐ๋ฅํ ๊ฒ์ ์๋๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ์ด ๋๊ตฌ ์ฌ์ฉ์ ๊ฑด๋๋ฐ์ด์ผ ํ๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ์ ๋ฐ๋์ ๋๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ๋ ์ฝ๋์ ํ์ง์ ๊ฐ์ ํด์ผ ํ๋ ๊ฐ์ ์๊ฐ์ ๊ฐ์ง ์ฌ๋๋ค์ ์ฐพ๋ ์ด์ ์ ๋๋ค. ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ฌ๊ธฐ CodeGym์์ ๊ทธ๋ค์ ์ฐพ๋ ๊ฒ์ ๋๊ฐ ๋ง์ ์ ์์ต๋๊น? ๋ชจ๋๊ฐ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๊ณ ์ถ์ดํ๋ ๊ณณ.4. ๋จ์ ํ ์คํธ ์์ฑ
์ฝ๋๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ ๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ๊ธฐ์ ์ ํ์คํ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋๋ค. ๋ ๋ง์ด ์ธ์๋ก ์ข์ต๋๋ค. ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์์ ๋จ์ ํ ์คํธ๋ ๋จ์๋ผ๊ณ ํ๋ ํ ์คํธ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ์์ค ์ฝ๋ ์กฐ๊ฐ์ ๊ฐ๋ณ์ ์ผ๋ก ๋ ๋ฆฝ์ ์ผ๋ก ํ ์คํธํ์ฌ ์์๋๋ก ์๋ํ๋์ง ํ์ธํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋๋ฅผ ๋ฆด๋ฆฌ์คํ๊ธฐ ์ ์ ์๊ณ ๋ฆฌ์ฆ ๋ฐ/๋๋ ๋ก์ง์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋จ์ ํ ์คํธ์๋ ์ฝ๋๋ฅผ ์ ์ ํ๊ฒ ๊ตฌ์กฐํํด์ผ ํ๋ฏ๋ก ์ฝ๋๋ฅผ ๋ ์๊ณ ๋ ์ง์ค๋ ๊ธฐ๋ฅ์ผ๋ก ๋ถํ ํด์ผ ํฉ๋๋ค. ์ฌ๋ฌ ์์ ์ ์ํํ๋ ํฐ ๊ธฐ๋ฅ์ด ์๋๋ผ ๊ฐ๊ฐ์ด ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ๋จ์ผ ์์ ์ ๋ด๋นํฉ๋๋ค( ๋จ์ผ ์ฑ ์ ์์น).์ธ์ฌ...). ์ ํ ์คํธ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ ๋ฒ์งธ ์ด์ ์ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ฝ๊ฐ ๋ณ๊ฒฝํ ๋ ์ฝ๋๊ฐ ์์๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋จ์ ํ ์คํธ๊ฐ ์คํจํ๋ฉด ๋ฌด์ธ๊ฐ ์๋ชป ์์ฑ๋์์์ ์๋ ค์ค๋๋ค. ์ธ๋ป ๋ณด๊ธฐ์ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๋ฐ ์์๋๋ ๊ฐ๋ฐ ์๊ฐ์ ์ถ๊ฐ ๋น์ฉ์ฒ๋ผ ๋ณด์ ๋๋ค. ๊ทธ๋ฌ๋ ๋จ์ ํ ์คํธ๋ ํฅํ ๋๋ฒ๊น ์๊ฐ์ ์ ์ฝํ ๊ฒ์ ๋๋ค. ์ด๋ ๋จ๊ณ๋ณ ํ๋ก์ธ์ค์ฌ์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฏธ์๋ฅผ ์ง์ผ๋ฉฐ ์์ผ๋ก ๋์๊ฐ์๋ค โ ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ฉ์๋์ ํด๋์ค์ ๋ํ ํ ์คํธ๋ฅผ ์์ฑํ ๊ฒ์ ๋๋ค :D5. ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋ ํ์ง ํฅ์
ํ ๋ฒ๋ ์ค์ํ์ง ์์ ๊ฐ๋ฐ์๋ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ปดํ์ผ๋ฌ๋ ๊ตฌ๋ฌธ ๋ฐ ์ฐ์ ๋ฌธ์ ๋ฅผ ํฌ์ฐฉํ๊ณ ์คํ ์ถ์ ์ ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ ๋ฌธ์ ๋ ์ฌ์ ํ ์ปดํ์ผ๋ฌ๊ฐ ํฌ์ฐฉํ์ง ๋ชปํ๋ ํ๋ฉด์ ๋ํ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ถ์ ์ ํ๊ฒ ๊ตฌํ๋ ์๊ตฌ ์ฌํญ, ์๋ชป๋ ์๊ณ ๋ฆฌ์ฆ, ์๋ชป ๊ตฌ์กฐํ๋ ์ฝ๋ ๋๋ ์ปค๋ฎค๋ํฐ๊ฐ ๊ฒฝํ์ ํตํด ์๊ณ ์๋ ๊ธฐํ ์ ์ฌ์ ์ธ ๋ฌธ์ ์ ๋๋ค. ์ด์ ๊ฐ์ ์ค๋ฅ๋ฅผ ์ก์ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ ๋ฐฐ ๊ฐ๋ฐ์์๊ฒ ์ฝ๋ ๊ฒํ ๋ฅผ ์์ฒญํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋์ด ์ ๊ทผ ๋ฐฉ์์ ๋ง๋ณ ํต์น์ฝ์ด ์๋๋ฉฐ ๋ง์ด ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค. ํ์ ๋ชจ๋ ์ ์ ๊ฐ๋ฐ์์๊ฒ๋ ์์ ์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ ๋ณ๋์ ๋์ด ์์ด์ผ ํฉ๋๋ค. ๋คํํ๋ ์ฝ๋ ํ์ง์ ์ ์ดํ๋ โโ๋ฐ ๋์์ด ๋๋ ๋ง์ ๋๊ตฌ๊ฐ ์์ต๋๋ค. ๋ค์ํ ํ๋ก์ ํธ ์์ ์ Checkstyle, PMD, FindBugs ๋ฐ SonarQube๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ฒ๋ค๋ ์์ต๋๋ค. ์ด๋ค์ ๋ชจ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฝ๋ ํ์ง์ ๋ถ์ํ๊ณ ์ ์ฉํ ๋ณด๊ณ ์๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋งค์ฐ ์์ฃผ ์ด๋ฌํ ๋ณด๊ณ ์๋ Jenkins์ ๊ฐ์ ์ง์์ ์ธ ํตํฉ ์๋ฒ์ ์ํด ๊ฒ์๋ฉ๋๋ค.6. ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ์ฝ๋ ์์ฑ
ํญ์ ๊ฐ๋จํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ฐ๋ฉฐ ๋ ผ๋ฆฌ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ์ญ์์ค. ์ฌ๋๋ค์ ์์ ์ด ํ ์ ์๋ค๋ ๊ฒ์ ์ฆ๋ช ํ๊ธฐ ์ํด ๋ณต์กํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ๋จ์ํ๊ณ ๋ ผ๋ฆฌ์ ์ธ ์ฝ๋๋ ํญ์ ์ ์๋ํ๊ณ ๋ฌธ์ ๊ฐ ์ ์ผ๋ฉฐ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค. ์ข์ ์ฝ๋๋ ์ต๊ณ ์ ๋ฌธ์์ ๋๋ค. ์ฃผ์์ ์ถ๊ฐํ ์๊ฐ์ด ์๋ค๋ฉด ์ค์ค๋ก์๊ฒ ๋ฌผ์ด๋ณด์ญ์์ค. "์ด ์ฃผ์์ด ํ์ํ์ง ์๋๋ก ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ ํ ์ ์์ต๋๊น?" โ ์คํฐ๋ธ ๋งฅ์ฝ๋ฌ.7. ๋ฌธ์ ์ฝ๊ธฐ
์ข์ ํ๋ก๊ทธ๋๋จธ์ ๊ฐ์ฅ ์ค์ํ ์ต๊ด ์ค ํ๋๋ ๋ฌธ์๋ฅผ ๋ง์ด ์ฝ๋ ๊ฒ์ ๋๋ค. ์ฌ์, JSR, API ๋ฌธ์, ์์ต์ ๋ฑ ๋ฌด์์ด๋ ์ค๋ช ์๋ฅผ ์ฝ์ผ๋ฉด ์ต๊ณ ์ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ๊ฒฌ๊ณ ํ ๊ธฐ๋ฐ์ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋ค๋ฅธ ์ฌ๋๊ณผ ์์ ์ ๋น๊ตํ์ง ๋ง์ญ์์ค. ์์ ์ ๋ค๋ฅธ ์ฌ๋๊ณผ ๋น๊ตํ๋ ๊ฒ์ ๋ถ์ ์ ์ธ ๊ฐ์ ๊ณผ ๊ฑด์ ํ์ง ๋ชปํ ๊ฒฝ์์ผ๋ก ์ด์ด์ง ๋ฟ์ ๋๋ค. ์ฌ๋๋ง๋ค ์์ ๋ง์ ๊ฐ์ ๊ณผ ์ฝ์ ์ด ์์ต๋๋ค. ์ด๊ฒ์ ๊ทธ๋ค์ ์๊ณ ๊ทธ๋ค๊ณผ ํจ๊ป ์ผํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์์ ์ ๋ชฉ๋ก์ ์์ฑํ๊ณ ๊ฐ์ ์ ๋์ดํ๊ณ ์์ ํ์ญ์์ค. ํ๋ก๊ทธ๋๋ฐ์ ์ง์ ํ ์ฆ๊ฑฐ์์ ๋๋ค. ์ฆ๊ธฐ์ญ์์ค."ํ ์ฌ๋์ ์์๋ ๋ค๋ฅธ ์ฌ๋์ ๋ณ์์ ๋๋ค."
8. ํฅ๋ฏธ๋ก์ด ๋ธ๋ก๊ฑฐ ํ๋ก์ฐ
์ ์ธ๊ณ ์์ฒ ๋ช ์ ์ ํธ๊ฐ๋ค์ด ๋์ผํ ๊ธฐ์ ๋ก ์์ ํ๊ณ ์ด์ ๋ํด ๊ธ์ ์๋๋ค. ๋ธ๋ก๊ทธ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ์์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ ๋๋ถ๋ถ ๊ฐ์ธ์ ์ธ ์๊ฒฌ๊ณผ ๊ฒฝํ์ ๊ณต์ ํฉ๋๋ค. ๋ธ๋ก๊ทธ๋ฅผ ํตํด ๋์ผํ ๊ธฐ์ ์ ๋ํ ๋ค๋ฅธ ๊ด์ ์ ๋ณผ ์ ์์ต๋๋ค. ๋ธ๋ก๊ทธ์์ ์ข์ ๊ธฐ์ ๊ณผ ๋์ ๊ธฐ์ ์ ๋ชจ๋ ๋ณผ ์ ์์ต๋๋ค. ์ต์ํ Coding Dojo ๋ธ๋ก๊ทธ์ CodeGym์์ ๊ธฐ์ฌ๋ฅผ ์ฝ์ด๋ณด์ธ์ :) ์ข์ ๋ธ๋ก๊ทธ๋ฅผ ํ๋ก์ฐํ๊ณ ๊ฒ์๋ฌผ์ ๋๊ธ์ ๋ฌ๊ณ ์๊ฒฌ์ ๊ณต์ ํ์ธ์.9. ์ง์ ์ ๊ดํ ์ฑ ์ฝ๊ธฐ
์ข์ ์ฑ ์ ๋์ ํ ์ ์๋ ๊ฒ์ ์์ต๋๋ค. ์ข์ ์ฑ ์ ํจ์ฌ ๊ฐ๋จํ ํํ๋ก ๊ธฐ๋ณธ ๊ฐ๋ ์ ๊ฐ๋ฅด์น๊ณ ์ค์ ์ธ๊ณ์ ์ ์ฉ๋ฉ๋๋ค. ์ ์๋ ํ๋ฅญํ ํ๋ก๊ทธ๋๋จธ ๊ทธ ์์ฒด์ ๋๋ค. ์ฑ ์ ์ฝ์ผ๋ฉด ๋ค๋ฅธ ์ฌ๋์ ๊ฒฝํ์์ ๋ฐฐ์ธ ์ ์์ต๋๋ค. Joshua Bloch์ "Effective Java"๋ฅผ ์ฝ์ด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ์ด ์ฑ ์ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ 78๊ฐ์ง ํ์ ๊ท์น, ์ฆ ๋งค์ผ ์ง๋ฉดํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ์ ๋ํ ์ต์์ ์์ ์๋ฃจ์ ์ ์ ์ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ํจ๊ณผ์ ์ด๊ณ ์ ์ค๊ณ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ธฐ ์ํ ๊ฐ์ฅ ์ค์ฉ์ ์ด๊ณ ๊ถ์ ์๋ ์ง์นจ์ด ํฌํจ๋์ด ์์ต๋๋ค. Java๋ฅผ ์ด์ ๋ง ์์ํ๊ณ ํ๋ก๊ทธ๋๋ฐ ๊ฒฝํ์ด ์๋ค๋ฉด "Sams Teach Yourself Java 2 in 24 Hours"๋ฅผ ์ฝ์ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊นจ๋ํ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด Robert Martin์ด ์ด "Clean Code"๋ผ๋ ํ๋ฅญํ ์ฑ ์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ฝ์ ํ,10. ์ฝ๋! ์ํธ! ์ํธ!
์ฑ ์ ์๊ธฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ข์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ ์ ์์ต๋๋ค. ์ด๋ก ์ ๊ฐ๋ ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ธ์ด์ ํ๊ณ๋ฅผ ๋ฐฐ์ฐ๊ฑฐ๋ ์ฝ๋๋ฅผ ์์ฑํ ๋ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ฐพ์๋ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ข์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๋ ค๋ฉด ๋ง์ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ์ด๋ณด์๋ผ๋ฉด ํผ๋ณด๋์น ์์ด, ํ๋ฌธ, ํ์ค์นผ์ ์ผ๊ฐํ ๋ฑ๊ณผ ๊ฐ์ ๊ฐ๋จํ ์์ ์ ์ํ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ฒ๋ถํฐ ์์ํ์ญ์์ค. ๊ทธ๋ฐ ๋ค์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ ๋ฑ๊ณผ ๊ฐ์ ๋ ํฐ ์์ ์ผ๋ก ์ด๋ํ์ญ์์ค. Java ์ฐ์ต์ ์ํ ์จ๋ผ์ธ ํ๋ซํผ์ ์ฐพ๊ณ ์๋ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ Coding Ground๋ฅผ ์ดํด๋ณด์ญ์์ค . ํ๋ก๊ทธ๋๋ฐ ๊ณผ์ ์ ํตํด ์์ ํ๋ฉด ๊ธฐ์ ์ด ํจ์ฌ ๋ ์ข์์ง ๊ฒ์ด๋ผ๊ณ ์ฅ๋ดํฉ๋๋ค. ๋ ๋ค๋ฅธ ์ต์ ์ ๋ฌด๋ฃ์ธ Harvard CS50 ๊ณผ์ ์ ์๊ฐํ๋ ๊ฒ์ ๋๋ค.์์ฝํ์
์ค์ํ์ง ์๋ ์ฌ๋์ ์๋ฌด๊ฒ๋ ํ์ง ์๋ ์ฌ๋์ด๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ธ๋ด์ฌ์ ๊ฐ๊ณ ์ด์ฌํ ์ผํ๋ ๋ฉ๋๊ธฐ์ฒ๋ผ ์ฝ๋ฉ ๊ธฐ์ ์ ์ฐ๋งํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์์ ์์ง ๋ง์ธ์.- ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋ ์ฝ๊ธฐ
- ์ฝ๋ ๋ฆฌ๋ทฐ ์ ๊ณต ๋ฐ ์์ฒญ
- ๋จ์ ํ ์คํธ ์์ฑ
- ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋ ๊ฐ์
- ๊ฐ๋จํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ์ฝ๋ ์์ฑ
- ํ ์ ์๋ ์ฌ๋๋ค์ด ์์ฑํ ๋ฌธ์๋ฅผ ์ฝ์ผ์ญ์์ค.
- ํฅ๋ฏธ๋ก์ด ํ๋ก๊ทธ๋๋จธ ํ๋ก์ฐ
- ์ง์ ์ ๊ดํ ์ฑ ์ฝ๊ธฐ
- ์ํธ! ์ํธ! ์ํธ!
GO TO FULL VERSION