U E D R , A S I H C RSS

Project Zephyrus/Thread For Server

๋‘๋ฒˆงธ  œ‹œ

Eclipse๋ฅผ ดšฉ•ด„œ ž‹ ด ๋งŒ๋“  ”„๋กœ Šธ •„๋ฌด๊ฐ๋‚˜ ZeroPage CVS—  €žฅ•ด ๋ณธ๋‹ค.

ฒซ๋ฒˆงธ  œ‹œ

1. CVS ๋ฅผ ดšฉ•ด„œ ProjectZephyrusServerTest ๋ฅผ ๋‹คšด ๋ฐ›๋Š”๋‹ค.
~cpp 
cvs co ProjectZephyrusServerTest
2. ๋ผด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฐ›ž!!
ด •„ฃผ ๊ฐ„๋‹จ•˜๊ณ  ๋‹จˆœ•œ ”„๋กœ๊ทธ๋žจ„ ˆ˜–‰•˜๊ธฐ œ„•ด„œ •„๋ž˜˜ ๋‘๊ฐ€ง€ ๋ผด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ •„š” •˜๋‹ค. ๋‹คšด ๋ฐ›•„„œ ด๋ž˜Šค ŒจŠค— žก•„ ๋†“๊ธฐ

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— ๊ธฐžฌ•ด ๋‘—ˆœผ๋ฏ€๋กœ ฐธ๊ณ •˜๋„๋ก. --ƒ๋ฏผ

  • ๊ทธ๋ฆฌ๊ณ  žฌ๋™ CVS…ŒŠคŠธ • ๋ ค๋ฉด ƒˆ๋กœ •˜๋‚˜ ”„๋กœ Šธ๋ฅผ ๋งŒ๋“ค–ด„œ •ด๋ผ. --ƒ๋ฏผ


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:07
Processing time 0.0162 sec