๋๋ฒ์งธ ์ ์ ¶
Eclipse๋ฅผ ์ด์ฉํด์ ์์ ์ด ๋ง๋ ํ๋ก์ ํธ ์๋ฌด๊ฑฐ๋ ZeroPage CVS์ ์ ์ฅํด ๋ณธ๋ค.
์ฒซ๋ฒ์งธ ์ ์ ¶
1. CVS ๋ฅผ ์ด์ฉํด์ ProjectZephyrusServerTest ๋ฅผ ๋ค์ด ๋ฐ๋๋ค.
์ด ์์ฃผ ๊ฐ๋จํ๊ณ ๋จ์ํ ํ๋ก๊ทธ๋จ์ ์ํํ๊ธฐ ์ํด์ ์๋์ ๋๊ฐ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ ํ๋ค. ๋ค์ด ๋ฐ์์ ํด๋์ค ํจ์ค์ ์ก์ ๋๊ธฐ
jUnit Lib
MySQL JDBC Driver
3. ์คํ์ ํด๋ณด์
์ปดํ์ผ์ ํ์
1,3๋ฒ์ ๊ณผ์ ์ ์์ ์ ๊ณ์ ์์ ํ๋ฉด ๋จ
~cpp cvs co ProjectZephyrusServerTest2. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ์!!
์ด ์์ฃผ ๊ฐ๋จํ๊ณ ๋จ์ํ ํ๋ก๊ทธ๋จ์ ์ํํ๊ธฐ ์ํด์ ์๋์ ๋๊ฐ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ ํ๋ค. ๋ค์ด ๋ฐ์์ ํด๋์ค ํจ์ค์ ์ก์ ๋๊ธฐ
jUnit Lib
MySQL JDBC Driver
3. ์คํ์ ํด๋ณด์
์ปดํ์ผ์ ํ์
~cpp javac *.java์คํ์ ํ์
~cpp java junit.textui.TestRunner AllTests์ด์ zp์๋ฒ์์ ํด๋ณด์.
1,3๋ฒ์ ๊ณผ์ ์ ์์ ์ ๊ณ์ ์์ ํ๋ฉด ๋จ
Thread ¶
- ์ํ ํด๋ณด๋ค ์๋๋ฉด ๋ญฃ์ข ์ ์ด. ๋ํผ์๋ง ์ ๊ธฐ ์ฌ์ฌํด T_T --์๋ฏผ
- ๋ฐฉ๊ธ 10๋ถ๊ฐ ํด๋ดค๋๋ฐ ๋ญ์ง ์ ์ดํด์๊ฐ๋ค์...-,-;;;
๋ผ ๊ทธ๋ฅ ์คํ๋ผ์ธ์ผ๋ก ํจ ๋ณด์ฌ์ฃผ์์
๊ธ๊ตฌ ์๊น ์๊ทํํ MySQL ์ฌ์ฉ๋ฒ ๋์ถฉ ๋ค์์ต๋๋น -์ฌ๋-
- ๋ฉ์ ์ ์์ A๋ผ๋ ์ฌ๋์ด B๋ผ๋ ์ฌ๋์ ๋ํ์๋๋ก ์ถ๊ฐํ๋ค. B๋ผ๋ ์ฌ๋์ด ์ ์์ค์ด๋ผ๋ฉด "A๋ผ๋ ์ฌ๋์ด ๋น์ ์ ์ถ๊ฐํ์ต๋๋ค"๋ผ๊ณ ์๋ ค์ค์ผ ํ๋ค. B๋ผ๋ ์ฌ๋์ด ์ ์์ค์ด ์๋๋ผ๋ฉด ๋ก๊ทธ์ธ ํ ๋ "A๋ผ๋ ์ฌ๋์ด ๋น์ ์ ์ถ๊ฐํ์ต๋๋ค"๋ผ๊ณ ์๋ ค์ค์ผ ํ๋ค.... --์๊ท
- ์์๊ฐ ๊ท์ฐฎ์์, ๊ทธ๋ฅ ์ถ๊ฐ --์๋ฏผ, ์๊ท
- ์์๊ฐ ๊ท์ฐฎ์์, ๊ทธ๋ฅ ์ถ๊ฐ --์๋ฏผ, ์๊ท
์์๋์ผ ¶
~cpp ์ฌ๋,์๊ท๋ ํ์์ผ์ ๋ฐ๋ธ์ค ์บ ํ ๊ด๋ จ ๋ชจ์์ด ์์ผ๋ ๊ทธ๋ฆฌ๋ก ๊ฐ๋ ํธ์ด ์๊ฐ ์ ์ฝ์์ ๋ ์ข์๊ฒ ๊ฐ๋ค. ๋น์ผ ์๋์ปต ๊ฒฝ๊ธฐ๊ฐ ์์๊ฒ ๊ฐ์ผ๋, ๋์์ ๋๊ฐ์ง๋ฅผ ํ๋ค๋ ๊ฒ์ ์๋๊ฒ์ง, ๊ทผ๋ฐ ์ด๊ฑด ์๋๊ตฐ --;; ๋ญ ๊ทธ๋๋ ๊ทธ์ ์! ์๊ท๋ 1. InfoManager์ชฝ์ writeDeleteBuddy ๋ถ๋ถ์ ์์ฑํด์ commit์์ผ๋ผ ๊ณผ์ ์ ์ ์ ํ๋ ํ๋ฆ ๋ฐ๋ก JavaDoc ์์ฑํ ํ๋ก๊ทธ๋๋ฐํด๋ผ ๊ธธ์ด์ผ 30๋ถ ์ ๋์ ๋ถ๋์ผ๊ฒ ๊ฐ์๋ฐ, (๋๋ฌด ๊ธธ๊ฒ ์ก์๋? ํ ์คํธ ์๊ฐ ํฉ์ณ์) Test๋ ๋ณธ์ธ์ด ํ๊ณ Journey์ ์ ์ด๋ผ. ๊ฑฐ๊ธฐ์ ํ๊ฐ์ง๋ง ๋ ํ๋ค๋ฉด, 2. DB Talbe๋ฏธ์กด์ฌ์ ์์ฑ ๋ฉ์๋ Dummy data๋ฏธ์กด์ฌ์ ์ ๋ ฅ ๋ฉ์๋ DB table drop ๋ฉ์๋๋ฅผ ๋ง๋ค์ด์ InfoManager๊ฐ ์ต์ด ์์ฑ์ ์์ ๋๊ฐ๋ฅผ ์ํํ๋๋ก ํ๋๋ฐ ์์น๋ InfoManager.getInstance()์ if๋ฌธ ์์ชฝ์ ๋ฃ์ด์ฃผ๋ฉด sync๋ฌธ์ ๋ ํด๊ฒฐ๋ ๊ฒ์ด๋ค. ์ด๊ฒ๋ ์ง๊ธ๊น์ง์ ๋ก๋๋ฅผ ๋ด์๋ 40~50๋ถ ์ ๋๋ก ์๊ฐ๋๋ค. (ํ ์คํธ,JavaDoc์์ฑ ์๊ฐ ํฌํจ) ์ญ์ ์ด์ ๊น์ง ํด์๋ ๋ฐ๋ก JavaDoc์ผ๋ก ์ผ์ ์์ ์ฃผ๊ณ ์ฝ๋ฉํ์๊ธธ 2 ๋ฒ์ ๊ฒ์ ์๊ฐ์ด ์๋ค๋ฉด ํ์ง ์์๋ ์๊ด ์๋ค. 1๋ฒ์ ํ์์ผ ์ค๊ธฐ์ ์ ๋ง์ณ์ commit์์ผ๋ผ ํ์ง๋ง ๋คํ์ด ์ด ๊ธ์ ์ผ์์ผ์ ๋ดค๋ค๋ฉด, 9์ผ์ ๋ง์ณค์ผ๋ฉด ํ๋ค. 10์ผ์ด ์ด ๋จ๊ธฐ ํ๋ก์ ํธ์ ๊ธฐ๋ฅ ๊ตฌํ์ ๋ง์ง๋ง ๋ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธํ ๋จ์ ํ ์ผ์ด๋ผ๋ฉด, ํ์ฌ InfoManager๊ฐ ๋ค๋ฅธ package์์๋ ๋ถ๊ตฌํ๊ณ command package์ ๋ํ information hiding์ด ์ ์ง์ผ์ง์ง ์์๋ค. ๋ค๋ฅธ ์ชฝ์ ๋ด๊ฐ ์ฝ๋ฉํ๋ฉด์ package๋ด๋ถ๋ ๋์จํ๊ฒ, ์ธ๋ถ๋ ๊ฐํ๊ฒ ์์ผ๋ก ํด๋์๋๋ฐ,(์ด๊ฒ๋ ๋์ ๋ด์ผ ๊ฒ ์ง๋ง) InfoManager์ ์ฝ๋๋ค์ ๊ฒฝ์ฐ attribute์ ์ง์ ์ ๊ทผํ๋ ๋ถ๋ถ์ด ๋๋ฌด๋ง์๋ฏ ํ๋ค. ์ด๋ถ๋ถ์ refactoringํ ์์๊ฐ ๋จ์๊ฒ ๊ฐ๋ค. ์ด๋ ๋ค๊ฐ commitํ์ pair๋ก ์ด๋ฆ์ ์ ํ๋ ์์ ์ ํ๋ , ์๋๋ฉด ๋ด๊ฐ ์ผ๊ด์ ์ผ๋ก ํ๊ณ ๋์ค์ ๋ค์ ๋ค๊ฐ ๋ง์์ ์๋๋ ๋ถ๋ถ์ renameํ๋ ๋ฐฉ์๋ ๊ทธ๋ฆฌ ๋ฌด๋ฆฌ๋ ์์๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๋, ์ผ๋จ ๋ด๊ฐ ์ ํ๋ฅผ ์ํ๊ณ ๊ทธ๋ฅ ๋ ๊ฒ์ด ์ผ์ฐจ์ ์ธ ์ฑ ์์ด ์๊ฒ ์ง๋ง, ๊ทธ๊ฒ๋ง์ผ๋ก ์ฑ ์์ ๋๊ธฐ์๋ ์๋ค๊ฐ ๋๋ฌด msn์ ์ ๊ทผ์ ํ์ง ์์ ๋๋์ด ์๋ค. ํน์ ["ProejctZephyrus/ServerJourney"]๋, ["ProjectZephyrus/Server"]์ ํผ๋๋ฐฑ์ด ์๊ธฐ๋ฅผ ๋ฐ๋ฌ๋๋ฐ, ๋๋ฌด ๊ณผํ ๊ธฐ๋์๋ ์ถ๊ตฌ๋. ์ผ๋จ, ["ProjectZephyrus/Server"]์ ์งํ์จ์ ๊ธฐ๋ก๋ ๋๋ก InfoManager์ DeleteBuddy๋ถ๋ถ์ธ์๋ ์๋ฃ๋์๋ค. 90%๋ ์์ธก ๋ชปํ๋ 10%์ธ์ ์๋ฃ๋์๋ค๊ณ ๋ด๋ ๋๋ค. ์ข ์์ฝ๋ค ... ์ผ๋จ ์๋ค๊ฐ ์๊ฐ์ด ์์ด์ ์ด์ฉ์ ์์ผ๋ ํ ์ ์๋ ์ผ์ด๊ฒ ์ง 6/7์ผ์ ์๊ท์ ๋ง๋์ InfoManager๋ฅผ ๊ฑฐ์(?) ๋ง์ณค๋๋ฐ, ์ผ๋จ ์ ์ PacketForm ์์ฒ์ด์ ํ์ํ ๋์ ๋ฐ๋๊ฒ์ด ์๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ๋ฐ๋ธ์ค ์บ ํ ํ์ ์ํด์ ์ ์ค๋นํ์๊ฒ. ๊ทธ๋ฆฌ๊ณ ๋๋ค์๊ฒ ์์ ์ผ์ด ๋๋๊ณ ๋์ ์ดํ ํ๊ต ์ปดํจํฐ์์ Server, Clientํ์ด ๋ชจ์ฌ์ ์ ์ฒด acceptance ํ ์คํธ ํด๋ณด๊ณ Serverํ์ด Clientํ์๊ฒ, Clientํ์ด Serverํ์๊ฒ ๋์์ธ์ ๋ํ ์ค๋ช ์ ํ๊ณ ์ต์ข ๋ฌธ์ํํ jar๋ก ๋ฌถ์ด์, ์์ค์ ๋ฐ์ด๋๋ฆฌ ๋ชจ๋ ๋ฐฐํฌ ํ์์ผ๋ก ๋ง๋ค์ด ๋งํฌ๋ฅผ ๊ฑฐ๋ ๊ฒ์ด ์ด ํ๋ก์ ํธ์ ์ข ๊ฒฐ์ ์ด ๋ ๊ฒ์ด๋ค. ๋ฌธ์ ๋ 2์ฃผํ๊ฐ ์ํ์ด๊ณ , ์ํํ ๊ณง๋ฐ๋ก ๋ฐ๋ธ์ค ์บ ํ๋ฅผ ๊ณํํด๋๋งํผ, ์์ ์ฌํญ์ ๊ดํ์ฌ๋ ๋ฐ๋ธ์ค ์บ ํ๊ฐ ๋๋ ์ดํ, ํน์ ๋ฐ๋ธ์ค ์บ ํ ์ค์ ์ด๋ฃจ์ด ์ง์๋ ์๋ค๊ณ ์๊ฐํ๋ค. ์ด๋ด๊ฒฝ์ฐ ๋์์ธ์ ์ค๋ช ์ ์ฒญ์๊ฐ ์๋ก ํ์ด๊ฐ ์๋๋ผ ๋ฃ๊ณ ์ถ์ ์ฌ๋ ๋ชจ๋๋ก ์ง์ ํ ์๋ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ผ ๋ต๋ณ์ข
- ๋ต..^^ ์์์ ์์
ํ ๊ป์.. ์ผ์์ PHP ์ํ๋๋ฌธ์์ฌ.... --์๊ท
- ์ ๋ ์ค๋(์์)๊น์ง ์์
์ ๋งํผ ๋๋ด๋์๊ป์ ํํธ, wincvs ์์ธ๋๋๋ค eclipse ์จ์ผ์ง ์...--์ฌ๋
- ํน์ ์๋ค๊ฐ branch ๋ง๋ค์๋? ๊ธฐ๋ก์๋ ๊ทธ๋ ๊ฒ ๋์ด ์๋๋ฐ? ๊ทธ๋ฆฌ๊ณ ์์ ์ ํํ ์ธ๊ธ์ด ์๋์ด ์๋๊ฐ ๋ณธ๋ฐ, ๋ฎ์ ์ ๊น ์ค๋ช
ํ๋ฐ๋ก ๋๋ฌ๋ค. ์งํ ์ํฉ์ ProjectZephyrus/Server์ ๊ธฐ์ฌํด ๋์์ผ๋ฏ๋ก ์ฐธ๊ณ ํ๋๋ก. --์๋ฏผ
- ํน์ ์๋ค๊ฐ branch ๋ง๋ค์๋? ๊ธฐ๋ก์๋ ๊ทธ๋ ๊ฒ ๋์ด ์๋๋ฐ? ๊ทธ๋ฆฌ๊ณ ์์ ์ ํํ ์ธ๊ธ์ด ์๋์ด ์๋๊ฐ ๋ณธ๋ฐ, ๋ฎ์ ์ ๊น ์ค๋ช
ํ๋ฐ๋ก ๋๋ฌ๋ค. ์งํ ์ํฉ์ ProjectZephyrus/Server์ ๊ธฐ์ฌํด ๋์์ผ๋ฏ๋ก ์ฐธ๊ณ ํ๋๋ก. --์๋ฏผ
- ๊ทธ๋ฆฌ๊ณ ์ฌ๋ CVSํ
์คํธ ํ ๋ ค๋ฉด ์๋ก ํ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ ํด๋ผ. --์๋ฏผ