์ด์ ๋์ผํ ๊ฐ๋ตํ ์ฃผ์ ๋ Java Core๋ฅผ "๋ฐฐ์ ๊ณ " ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ์ฌํญ์ ์ดํดํ์ง๋ง Git์ ๋ฌด์์ ๊ฒ์ํด์ผ ํ ์ง(๊ธ์, JR์์ ์์
์ ๊ฒ์ํ์ง ๋ง์ธ์, ๊ทธ๋ ์ฃ ?) ์ด๋๋ฅผ ๋ด์ผ ํ ์ง ๋ชจ๋ฅด๋ ์ฌ๋๋ค์ ์ํ ๊ฒ์
๋๋ค. ๋ค์. ๋ ๋ฒจ 18์ ์ด ์ํ์ ๋๋ฌํ์ต๋๋ค. ์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ. ์ ์๊ฐ๋ฅผ ํ ๊ฒ์. ์ ๋ Evgeniy์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ Java ๊ฐ๋ฐ์๋ก ํ๋ํ ์ง 6๊ฐ์์ด ๋์์ต๋๋ค. :-) ์ด๋ฏธ ์ด๊ฒ์ ๋ํด ์กฐ๊ธ ๊ธ์ ์ผ๋๋ฐ, 0์์ ์ทจ์
๊น์ง์ ์ ์ฒด ์ฌ์ ์ ๋๋ต 3๊ฐ์ ์ ๋ ๊ฑธ๋ ธ๊ณ , ์ฌ๊ธฐ๊น์ง ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ ๋ ์ด๋ฏธ ์ด๋ณด์๋ค์ด IT์ ๋นจ๋ฆฌ ์ ์ํ ์ ์๋๋ก ๋ช ๊ฐ์ง ๊ต์ก ๊ณผ์ ์ ์ค๋นํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฏธ ์ทจ์
ํ์ ๋์๋ ์ฝ 50์ฌ ๊ฐ์ ์ฌํ๋ณด์ฅ ํ๋ก๊ทธ๋จ์ ์๊ฐํ๊ณ Java OCA(ํ Java Programmer)์ ํฉ๊ฒฉํ์ต๋๋ค. ๊ทธ๋์ ๋น์ ์๊ฒ ๋ฉํ ๋ง์ด ํ์ํ๋ค๋ฉด ๋น์ ์๊ฒ ๋งํ๊ฑฐ๋ ๋น๊ณต๊ฐ ๋ฉ์์ง๋ฅผ ์ธ ๊ฒ์ด ์์ต๋๋ค. (์ด๊ฒ์ ์กฐ๊ธ ๋์ค์ ๋์ค๊ฒ ์ง๋ง, ๋น์ ์ ์ง๋ฌธ์ ๋๋ตํ ์๋ ์์ต๋๋ค.) ์ด์ ๋์ผํ ๊ฐ๋ตํ ์ฃผ์ ๋ Java Core๋ฅผ "๋ฐฐ์ ๊ณ " ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ์ฌํญ์ ์ดํดํ์ง๋ง Git์ ๋ฌด์์ ๊ฒ์ํด์ผ ํ ์ง(๊ธ์, JR์์ ์์
์ ๊ฒ์ํ์ง ๋ง์ธ์, ๊ทธ๋ ์ฃ ?) ์ด๋๋ฅผ ๋ด์ผ ํ ์ง ๋ชจ๋ฅด๋ ์ฌ๋๋ค์ ์ํ ๊ฒ์
๋๋ค. ๋ค์. ๋ ๋ฒจ 18์ ์ด ์ํ์ ๋๋ฌํ์ต๋๋ค. ๋ฌผ๋ก "์ฝ์ด"(์ด ๊ฐ๋
์ด ๋ง์์ ๋ค์ง ์์)์ ๋ํ ์ง์์ด ์์ด๋ ์ผ์๋ฆฌ๋ฅผ ๊ตฌํ ์ ์๊ณ , Swing์์ ์์์ ๋ง๋ค๊ณ , ์ผ์ข
์ ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ์ ๋ํ ๋ก์ง์ ์์ฑํ ์ ์์ต๋๋ค. -> ๋นต ๊ธฐ๊ณ๋ ๊ณต์ฅ์ ์ํ ๋ก์ง์ ์์ฑํ ์ ์์ง๋ง, Java์ ์์ฉ ๋ถ์ผ๋ ๋ฌผ๋ก ์น ๊ฐ๋ฐ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ ๋ง๊ฐ๊ฐ ์์ต๋๋ค... ์... ์ด๋์๋ถํฐ ์์ํด์ผ ํ ๊น์? ๊ฐ์ธ์ ์ผ๋ก ์ฒซ ์ง์ฅ์ ์ด๋ฅด๊ฒ ๋ ์งง์ ๊ธธ์ ๋ํด ๋ง์ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ด๊ฒ์ด ๋์ ์ ์ผํ ๋ฐฉ์์
๋๋ค :-) ์์ ์ ๋ฐฉ์์ ๊ณต์ ํ ์ ์์ต๋๋ค. ๋จผ์ ๋คํธ์ํฌ ์ํคํ
์ฒ์ ๋ํ ๋ช ๊ฐ์ง ๋น๋์ค๋ฅผ ์์ฒญํ์ธ์. ์ ๊ฐ ๋๋ฆฌ๋ ์กฐ์ธ์ ๋ฏธ๋์ ์๋ฃ๋ฅผ ์ดํดํ๋ ๋ฐ ๋ง์ ์๊ฐ์ ์ ์ฝํ๋ผ๋ ๊ฒ์
๋๋ค. ๋ฐ์ดํฐ ์ ์ก ํ๋กํ ์ฝ, ์ด ๋ฐ์ดํฐ๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด ์ด๋ํ๋ ๋ฐฉ๋ฒ. ์ ์ด๋ HTTP, ์๋ฒ ํด๋ผ์ด์ธํธ ๋ฑ์ ๋ฌด์์
๋๊น? ํ๋ฃจ๋ ์ดํ ์ ๋ ๊ฑธ๋ฆฌ๊ฒ ์ง๋ง ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ ์ตํ์ค ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ฃผ์๋ฅผ ์ฐ๋งํ๊ฒ ํฉ๋๋ค. ์ฝ๊ฐ์ ์ฌ๋ด: ๊ณต์์ 90%์๋ ์คํ๋ง์ด ํ์ํ์ง๋ง ์ฌ์ ํ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ถํฐ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ด๋ถ ๋ด์ฉ์ ์ดํดํ๊ณ ์์์ ๋ ์ํ ์ ์์ ๊ฒ์
๋๋ค. ๋ด๊ฐ ํ ์ผ์ด ๋ฐ๋ก ๊ทธ๊ฒ์ด๋ค. ์์ํ๋ ค๋ฉด SQL๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. Head First์ ํ๋ฅญํ ์ฑ
๊ณผ ๋น๋์ค, ํ๋ฅญํ sql-ex๊ฐ ์์ต๋๋ค. ๋ฌด์์ ์ดํดํด์ผ ํฉ๋๊น? ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ฌด์์ธ์ง, ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ ์ฅ๋์ด ์๋์ง, ์ด๋ป๊ฒ ๊ฐ์ ธ์ค๋์ง, ์ด๋ป๊ฒ ๋ง๋๋์ง, ์ฆ SQL์์ ์กฐ์ธ ์์ค๊น์ง์ ๊ฐ๋จํ ์ฟผ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค. ๋ช ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๊ณ ๋๋ ค๋ณด์ธ์. (๋ฌด์์ ์ ํํด์ผ ํฉ๋๊น? ๊ธ์, MySql๊ณผ ํด๋น Workbanch๋ ์ ์ง ๋ ์์๊ณ ๊ฐ๋จํ์ง๋ง ์ฌ์ ํ ์์
์๋น์ค์ 80%์์ Postgre๋ฅผ ์ ํ๊ณ ๋ฐ๋ก ์ต์ํด์ง๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค.) . ๋ค์์ผ๋ก JDBC์ ๋ํด ์์๋ด
๋๋ค. ์ด๊ฒ์ Javushka์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ ์ ์๊ฒ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์
์ ์ํ ์ธํฐํ์ด์ค ์ธํธ(๊ธฐ์ฑํ)๋ ํฌํจํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ์ฌ๊ธฐ์ ์ฌ๋ฌ๋ถ์ ์๋ฌด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ณ ์์
ํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์
๋๋ค. :-) ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ณ ๊ฐ์ ธ์ค๋ ๊ฐ๋จํ ์ฝ์ ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค. ๊ทธ ํ, ๋๋ ์ด๊ฒ์ Hibernate๋ก ๋ณด์ํ ๊ฒ์
๋๋ค(์ด๊ฒ์ ์ ํ ์ฌํญ์ด์ง๋ง, ๋ด ์๊ฐ์๋ ๋ฐ๋ก ์ง๊ธ ์ฌ๊ธฐ์์ ORM์ ์๋ ์๋ฆฌ๋ฅผ ์ดํดํ๋ ๊ฒ๋ณด๋ค ๋ ์ข์ ์๊ฐ์ ์์ต๋๋ค). ์ด ํ๋ ์์ํฌ์ ๋ํ ์ฝ๋๋ฅผ ๋ค์ ์์ฑํ ํ ์์ฝ์ Sql, Hibernate, JDBC, JPA ๋ฐ Maven/Gragle(๋ชจ๋ ์์ ๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์ฒซ ๋ฒ์งธ ํ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์)์ ์ถ๊ฐํฉ๋๋ค. ๊ณ์ ์งํํฉ๋๋ค(๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ ์ฐ๊ฒฐ ์ข
์์ฑ์ด ์๋ ์๊ฐ์
๋๋ค). ๊ทธ๋ฆฌ๊ณ GIT๋ ์์ด์! ์ฐ๋ฆฌ๋ ํ์คํ ๊ณผ์ ์ ์๊ฐํฉ๋๋ค) ์ต์ํ ๊ฐ๋จํ ์์ค์์๋ ์ดํดํฉ๋๋ค. ์์
ํ๋ ๊ฒ์ด ํธ๋ฆฌํ ๊ฒ์
๋๋ค) ์ปค๋ฐ์ด ๋ฌด์์ธ์ง, ๋ณ๊ฒฝ ๋ด์ญ ๋ฑ์ ์ดํดํ๊ฒ ๋ฉ๋๋ค. ์, ์ฒซ ๋ฒ์งธ ์์์ ์ธ ํ๋ก์ ํธ๊ฐ Github์ ๋ํ๋ ์ ์์ต๋๋ค. ์ด๋ ฅ์์ Git์ ์ถ๊ฐํ์ธ์ ;-) ๊ทธ๋ฐ ๋ค์ ์น ๊ฐ๋ฐ์ ๋ณธ์ง๋ก ๋์ด๊ฐ์ธ์. ๋๋ ์ฌ์ ํ REST ์ํคํ
์ฒ์ ์์น์ ์ดํดํ๊ณ (์ด๋ ต์ง ์์) ์๋ธ๋ฆฟ์ผ๋ก ์์ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๊ทธ ๊ณผ์ ์์ ์๋ธ๋ฆฟ์ ์ฌ์ฉํ์ฌ ๋ค์์ ์ํํ๋ ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํฉ๋๋ค(๋ฌผ๋ก ํ๋ ์ด์ ์์ฑํ์ต๋๋ค). ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ CRUD ์์
. ์ด ๊ณผ์ ์์ ๋ชจ๋ ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๊ณ ์ด๋ํ๋์ง, ๋ฐ์ดํฐ๊ฐ ํด๋ผ์ด์ธํธ์ ์ด๋ป๊ฒ ์ ์ก๋๋์ง, ์ด๋ค ํ์(์: JSON)์ผ๋ก ์ ์ก๋๋์ง, ์ด๋ฅผ ์๋ฝํ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ฃผ๋ ๋ฐฉ๋ฒ์ ๋์ฑ ๊น์ด ์ดํดํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์๋ธ๋ฆฟ, JSON ๋ฐ ๋ช ๊ฐ์ง ๊ด๋ จ ๊ธฐ์ ์ ์ด๋ ฅ์์ ์ถ๊ฐํ์ธ์. ์ด์ ์์ ํ ๋ฌด์ฅํ์ผ๋ฉฐ Spring์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค(Spring Core, Spring Data๋ก ์์). ์ด๋ ์ค์ ๋ก ๋ง์ ์ฌ๋๋ค์๊ฒ ์ด๋ ค์ด ์ฃผ์ ์
๋๋ค. ํ๋ ์์ํฌ ์์ฒด, ์์ ์์ ํญ๋ชฉ, ๋ค์ํ ํจํด์ ๋ง์ ๋ง๋ฒ์ด ์์ง๋ง ์ด๋ฏธ ์ข์ ๊ธฐ๋ฐ์ ๊ฐ์ถ๊ณ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฌ์ค ์ ๋ ๋ด ์์ด๋ ์ผ์ ์์ํ ์ ์๋ ๊ณต์์ ๋ง์ด ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๋์ Mtsa์์ ๊ทธ๋ค์ ์ด ํน๋ณํ "ํผ์ ๊ธฐ์
"์ ๊ธฐ์ ์ ๋ํด ๋์๊ฒ ํฐ ๊ธ์ฌ๋ฅผ ์ ์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๊ทธ๋ฐ ๊ณต์์ด ๋ง์ด ์์ผ๋ ๋ฉด์ ์ ์์ํ๊ณ ๊ฒฝํ์ ์์ผ์ธ์! ํ ๋ด์ง ๋ง์ธ์))) ์ ๋ ์ดํด๋นํ ์ ์ด ์์ง๋ง ์ ๋ฐฐ ๋ฐ์ ์์ ๋ ์ผ์ด๋ฌ์ต๋๋ค :D ๋ฌผ๋ก ๊ทธ๋ ๊ฒํ์ง ์๋ ๊ฒ์ด ์ข์ง๋ง ๋ง์ ๊ฒ์ ๋ฐฐ์ ๋ค๋ ์ฌ์ค๋ก ๋ชจ๋ ๊ฒ์ด ๋๋ฌ์ต๋๋ค :-) ์กฐ๊ธ ๋์ค์ ์ ํํ
์ข์ ๊ฐ์ข๊ฐ ์์ ๊ฑฐ์์. ์, ๋ฉํ ๋ง;-) ๊ทธ๊ฑด ๋ณ๊ฐ์์! ์ง๊ธ์ ๋ฐ์๊ฒ ์ง๋ด์ธ์. ์์์ฃ ? :-) ํ๋ฃจ์ ์ต๋ 5์๊ฐ์ ํฌ์ํ๊ธฐ ๋๋ฌธ์ 3๊ฐ์ ๋ง์ ์ผ์๋ฆฌ๋ฅผ ์ป์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ด๋ก ์ ์ฝ๋งค์ด์ง ๋ง๊ณ , ์ฝ์๋ค๋ฉด ์๋ํด ๋ณด๋๋ก ํ์ธ์! ์ฝ๋ ์์ฑ์ ๋๋ ค์ํ์ง ๋ง์ธ์!!! ์ด๊ฒ์ด ๋ฐ๋ก ํ์ด๋ค! :-) ๋ชจ๋์๊ฒ ํ์ด์ ๋น๋๋ค! ๋๊ธ๋ก ์ง๋ฌธ ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค :-) ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๊ทธ๋ฐ ๊ณต์์ด ๋ง์ด ์์ผ๋ ๋ฉด์ ์ ์์ํ๊ณ ๊ฒฝํ์ ์์ผ์ธ์! ํ ๋ด์ง ๋ง์ธ์))) ์ ๋ ์ดํด๋นํ ์ ์ด ์์ง๋ง ์ ๋ฐฐ ๋ฐ์ ์์ ๋ ์ผ์ด๋ฌ์ต๋๋ค :D ๋ฌผ๋ก ๊ทธ๋ ๊ฒํ์ง ์๋ ๊ฒ์ด ์ข์ง๋ง ๋ง์ ๊ฒ์ ๋ฐฐ์ ๋ค๋ ์ฌ์ค๋ก ๋ชจ๋ ๊ฒ์ด ๋๋ฌ์ต๋๋ค :-) ์กฐ๊ธ ๋์ค์ ์ ํํ
์ข์ ๊ฐ์ข๊ฐ ์์ ๊ฑฐ์์. ์, ๋ฉํ ๋ง;-) ๊ทธ๊ฑด ๋ณ๊ฐ์์! ์ง๊ธ์ ๋ฐ์๊ฒ ์ง๋ด์ธ์. ์์์ฃ ? :-) ํ๋ฃจ์ ์ต๋ 5์๊ฐ์ ํฌ์ํ๊ธฐ ๋๋ฌธ์ 3๊ฐ์ ๋ง์ ์ผ์๋ฆฌ๋ฅผ ์ป์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ด๋ก ์ ์ฝ๋งค์ด์ง ๋ง๊ณ , ์ฝ์๋ค๋ฉด ์๋ํด ๋ณด๋๋ก ํ์ธ์! ์ฝ๋ ์์ฑ์ ๋๋ ค์ํ์ง ๋ง์ธ์!!! ์ด๊ฒ์ด ๋ฐ๋ก ํ์ด๋ค! :-) ๋ชจ๋์๊ฒ ํ์ด์ ๋น๋๋ค! ๋๊ธ๋ก ์ง๋ฌธ ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค :-) ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๊ทธ๋ฐ ๊ณต์์ด ๋ง์ด ์์ผ๋ ๋ฉด์ ์ ์์ํ๊ณ ๊ฒฝํ์ ์์ผ์ธ์! ํ ๋ด์ง ๋ง์ธ์))) ์ ๋ ์ดํด๋นํ ์ ์ด ์์ง๋ง ์ ๋ฐฐ ๋ฐ์ ์์ ๋ ์ผ์ด๋ฌ์ต๋๋ค :D ๋ฌผ๋ก ๊ทธ๋ ๊ฒํ์ง ์๋ ๊ฒ์ด ์ข์ง๋ง ๋ง์ ๊ฒ์ ๋ฐฐ์ ๋ค๋ ์ฌ์ค๋ก ๋ชจ๋ ๊ฒ์ด ๋๋ฌ์ต๋๋ค :-) ์กฐ๊ธ ๋์ค์ ์ ํํ
์ข์ ๊ฐ์ข๊ฐ ์์ ๊ฑฐ์์. ์, ๋ฉํ ๋ง;-) ๊ทธ๊ฑด ๋ณ๊ฐ์์! ์ง๊ธ์ ๋ฐ์๊ฒ ์ง๋ด์ธ์. ์์์ฃ ? :-) ํ๋ฃจ์ ์ต๋ 5์๊ฐ์ ํฌ์ํ๊ธฐ ๋๋ฌธ์ 3๊ฐ์ ๋ง์ ์ผ์๋ฆฌ๋ฅผ ์ป์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ด๋ก ์ ์ฝ๋งค์ด์ง ๋ง๊ณ , ์ฝ์๋ค๋ฉด ์๋ํด ๋ณด๋๋ก ํ์ธ์! ์ฝ๋ ์์ฑ์ ๋๋ ค์ํ์ง ๋ง์ธ์!!! ์ด๊ฒ์ด ๋ฐ๋ก ํ์ด๋ค! :-) ๋ชจ๋์๊ฒ ํ์ด์ ๋น๋๋ค! ๋๊ธ๋ก ์ง๋ฌธ ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค :-)
GO TO FULL VERSION