U E D R , A S I H C RSS

1002/Journal

ถ”ํ›„ Refactoring & ‹คฅธ œ„ํ‚ค ํŽ˜ด€— ํ•ด‹ €‹ „–‘šฉ.

2003

11

ํ•˜ฃจ ํ‰€ : 5  งŒ ค‘ 2 . (ค‘š”ํ•˜ณ  ธดธ‰ํ•œ “ค„ ž˜ ฒ˜ฆฌ ชปํ•จ)

ํ•  ชฉกค‘
  • „„œ€—„œ ฅ˜ตฐ TPOCP ฐพ•„ธฐ - O
  • ‚ฌžŒˆ˜Œ€กœ retrofitting ธ‡„ํ•˜ธฐ -> 6€ ธ‡„ํ•˜ธฐ - O
  • Retrofitting UT ฐœํ‘œ€„
    • ‚ดšฉ„ช… € จ -> 1ฐจ œกœ ดํ•ด œ„ํ•œ TOC ž‘„. - O
      -> ‚ด„ ถ™—ฌ„œ ดํ•ดํ•˜ธฐ -> restatement ํ•„š” & Œ€ฐ• ฌดงˆ„œํ•œ ฐฉฒ•œกœ „˜–ด€„.
    • ฒฝํ—˜ ‚ด  šฉ ฆฌ
  • dotplot ž‘„ถฆฌ
    • normalization
    • dot plotting
  • index card ‚ดšฉ  •ฆฌํ•˜ธฐ
  • 1‹œ 30„. ํ•œ–‘Œ€ชฝœกœ ด™ํ•˜ธฐ - o
  • 10‹œ 30„Œ€ ํ•™ต „ฐฉํ•˜ธฐ - o
  • ํ”„กœ ํŠธ € จ †ŒŠค ธ‡„ - o
  • ํ”„กœ ํŠธ € จ †ŒŠค „„ํ•˜ธฐ -> restatement ํ•„š”.
'š”ƒˆ ŠŠจํ•˜ฒŒ ‚ดณ  žˆ‹ค' Š” 10€ž— Œ€ํ•œ •ฝ„˜ ตฌฒดํ™” & žฌ„ˆ .
~cpp 
3 : 30 ~ 9 : 00 ž 
 ~ 9 : 13 ‹‚ฌ
 ~ 9 : 33 จธฆฌฐธฐ & –‘˜งˆ & ˜ทž…ธฐ & €ฐฉ •ฆฌ
 ~ 9 : 46 ฐ•€ „ฐฉ
 ~ 9 : 50 Œ€ž…ตฌ „ฐฉ
 ~ 10 : 38 ํ”‹œ‹ค 7ธต „ฐฉ
 ~ 11 : 14 ํ”„กœ ํŠธ € จ †ŒŠค ธ‡„
 ~ 11 : 20 retrofitting ธ‡„
 ~ 11 : 30 internet Œ•„‹ค‹ˆธฐ
 ~ 1 : 06 retrofitting ณต€ & ดํ•ด
 ~ 1 : 31 PC 7 ฌธ ž ทธธฐ œ„ํ•ด ฒฝ„•„ €”จป˜  „ํ™” & ธฐ‹คฆฌธฐ
 ~ 1 : 47  ‹ฌ‹‚ฌ (ต & šฐœ . 800›)
 ~ 2 : 03 €ํ•˜ฒ  —ญ „ฐฉ
 ~ 2 : 16 (€ํ•˜ฒ ) using singleton wisely ฝณ  ดํ•ด
 ~ 2 : 42 (€ํ•˜ฒ ) retrofitting ฝธฐ & ดํ•ด
 ~ 2 : 57 HIT „ฐฉ
 ~ 6 : 14 XP Study Group
 ~ 6 : 42 ฐ•€—ญ „ฐฉ
 ~ 7 : 00 ง‘— „ฐฉ
 ~ 7 : 35 ธํ„„‹ธŒ•„‹ค‹ˆธฐ.
 ~ 9 : 35  €…‹‚ฌ. Four Boxes 2ฐจ ‹œ„ „ํ–‰
 ~ 10 : 00 ™„ฃŒ
 ~ 10 : 32 ›„œํ•‘. ดฒƒ €ฒƒ
 ~ 12 : 03 ํœด‹ (ง‘•ˆ‚ฌžŒ“ค Œ€ํ™”)
 ~ 2 : 07 •„Š” ‚ฌžŒ ฉ”‹  €—„œ Œ€ํ™”€ จ.

ดค‘ ›„œํ•‘œกœ 32„„ “ฐณ , ํœด‹œกœ 1‹œ„ 30„„ ˜ ‰ฌณ , ค‘„ค‘„ ธํ„„— „ ชฉ —†ด Œ•„‹ค‹ˆŠ” ‹œ„ด งŽ•˜‹คŠ”  ด ฌธ œ.

•„ง€ ‹คฅธ ฐœ…— Œ€ํ•œ žฌถ”ƒํ™”— Œ€ํ•ด„  „กœ ถฆฌํ•˜ณ  žˆ€ •Š€ค‘. ‹จ€ ฐ”ณดธ ƒํƒœ „ํ–‰ค‘. €ฐฐค‘ดธด ํ• Œ?

  • ทœ˜ดํ˜•ด Working Effectivly With Legacy Code ฐœํ‘œํ• •Œ ณดฉด„œ ทธ ฒฉ— žˆ–ด ํ˜„ฒฉํ•จ„ Š‚Œ.
    • Šคํ† ฆฌ ํ…”งด €Šฅํ•˜‹คŠ”  . (‚˜Š” •ž ’ค˜ ด•ธฐ€ Š–ด„‹ค.)
    •  „ฒด … ‚ดšฉ— Œ€ํ•œ Summary € TOC กœ กฐง ดŠ”  . (ดฒˆ— TOC €„ •ˆํ–ˆ‹ค.)
    • ตฌํ˜„ ฒฝํ—˜ด ํ’€ํ•˜‹คŠ”  . ํ•ด‹ … ‚ดšฉ— Œ€ํ•ด ฝ”“œกœ ˜ˆ “ค–ด‹ฌฉด “ค–ด„ ˆ˜ žˆ„ •„. (‚˜Š” ํ•ด„€„— Œ€ํ•œ 1ฐจ ํ•ด„—„œ€„ž˜ ํ•˜€ ชปํ•จ)

  • ตฌฒด ธ action plan — Œ€ํ•ด„œŠ” ถ”ํ›„ ถฆฌ.
  • ‹คฅธ‚ฌžŒ“คด '‚˜'กœ€„ญ”€ œ šฉํ•œ „ –ปธฐ€ ‰ฝ€ •Šฒ ‹คŠ” ƒฐด “คฒŒ ˜‹ค. ญ, ˜™ธ˜ ˜คํ•ดกœ €Šฅํ• €„. ํ•ด‹ ง— Œ€ํ•œ €˜Š” “ฃŠ” ‚ฌžŒ“คด งŒ“ค–ด‚ด‹ˆŒ.
  • ‚ฌ‹ค„ ‚ฌ‹ค ทธŒ€กœ ‹ด‹ดํ•ด ธณดธฐ ถฆฌค‘. ฐธ ‰ฝ€ •Š€ค‘.
  • •…€ ฒ™ฐ•ํ•˜ณ . ”จฟŒฆฌŠ” †€Š” งŽœงค ‹ด ‚˜งˆ •Š„ค.

7

ณตฐœ œ„ํ‚ค—„œ˜ Journal.

žฅ  : ฐœธ ฐ •— ˜€  ํŒ‹จ„ ž˜ ํ•˜€ •ŠฒŒ œ‹ค.
‹คฅธ ‚ฌžŒ“ค„ ˜‹ํ•˜—ฌ, € ” ž„ธํžˆ …ฆฌ ธ €„ “ฐฒŒ œ‹ค.
ฐ˜ก  : ‹จ —„œ˜ '†”งํ•˜€ ชปํ•˜ฒŒ   ˆ˜ žˆ‹ค' ฐธกฐ.
‹คฅธ ‚ฌžŒ“ค„ ˜‹ํ•˜—ฌ, € ” ž €„ “ฐฒŒ œ‹ค.
ฐ˜ก  : ตœ— ฒŒ„Ÿฌ„œ ž˜ •ˆž–•„. -_-;

‹จ  :
†”งํ•˜€ ชปํ•˜ฒŒ   ˆ˜ žˆ‹ค. ž‹ ˜ „ ธํ™”ํ•  ˆ˜„ žˆ‹ค. NoSmok:TunnelVision—  „ ‚ฌžŒ€ 'ณดณ ‹ถ€ ฒƒงŒ' ณดดฒŒ œ‹ค. NoSmok:YouSeeWhatYouWantToSee

ž‹ ด € ฐฝํ”ํ•˜‚˜ †Œœ„ 'ชฝํŒ”ฆฌŠ”' — Œ€ํ•ด„œ ํ•ด‹ ‚ดšฉ„ •ˆจ„ฆด ˆ˜„ žˆ‹ค.
ฐ˜ก  : Journal „ “ฐŠ” ชฉ € ธฐ™€ ‹คฅด‹ค. ดฒ  €ํ•˜ฒŒ 'ํ•ด‹ — Œ€ํ•œ ฐœ„ '„ œ„ํ•œ ด‹ค.

ช‡ช‡ ค‘š”ํ•œ ‚ฌ“ค— Œ€ํ•ด ธฐกํ•  ˆ˜ —†‹ค. (Daum workshop “..)
ฐ˜ก  : ทธŸฌํ•œ €“ค€ ณด•ˆด œ €˜Š” ‹คฅธ ณณ—  œฉด ˜€ •ŠŠ”€?
žฌฐ˜ก  :  •ณด€ ํ•œณณœกœ ชจด€ ชปํ•˜ณ  „‚ฐ˜Š” ํ˜•ํƒœ€ ˜–ด„ฆฐ‹ค.
ฐ˜ก  : ทธŸฌฉด, ณด•ˆด œ €˜Š” ‹คฅธ ณณ— apache authorization “„ ณ , ํ•ด‹ €„ งํฌฉด –ด–จŸฐ€?
žฌฐ˜ก  : œ„ํ‚ค ํ•œณณ—„œ ชจ“  ž‘—…„ ํ•  ˆ˜ —†‹คŠ” ด งˆŒ— •ˆ“ ‹ค.
žฌฐ˜ก  : ทธŸ ทธ ณณ„ œ„ํ‚คฉด ˜€. -_a

  • ‚ด€ “ฐŠ” ƒ‹–‘˜ ‹จ–ด“ค„ •Œ ˆ„ตฌ˜ ˜ํ–ฅ„ –งˆงŒํ ฐ›•˜Š”€€ Šปด„‹ค. „ก ํ›Œฅญํ•œ ํ•™ƒด •„‹ˆธด ํ•˜€งŒ.

2002

12›”

25, 26 - ํ‰€. „ํš. … ถฉ™ตฌงค.;

1…„ ํ‰€Š” ฒƒ€ ค‘„ 3ฐœ›” ํ‰€€ —†œฉด –ด คšด ด‹ค. ฐดํ„€ ‚จ•„žˆงˆ •Šตฐ.

…„ 8ถŒ  •„ ƒ€‹ค. Input Œ€„ Output „œจด ด „ณด‹ค กฐธˆด‚˜งˆ †’•˜œฉด ํ•œ‹ค.

13 (ธˆ), 14 (ํ† ), 15() - RT

ธˆ :
  • ˜–ด ฝธฐ €„
ฝธฐ €„  „ Seminar:ThePsychologyOfComputerProgrammingด –ด คšธ ฒƒดŠ” ƒฐด  € “ค–ด„œ, ‹จ ˜–ด— ตˆ™ํ•ด ธ•ฒ ‹คŠ” ƒฐด “ค–ด„œ Alice in wonderland ˜ chapter 3,4 “ค—ˆ‹ค. ‹จ–ด“คด ํ•˜‚˜ํ•˜‚˜ “คฆฌŠ”  •„. •„ง  „ฒด˜ ฌธžฅด จธฆฟ†œกœ งŒ“ค–ด€„ •ŠŠ” ฒƒ ฐ™‹ค. ‹จ–ด ‹จœ„ ฐ›•„“ฐธฐŠ” €Šฅํ•˜€งŒ, ฌธžฅ‹จœ„ ฐ›•„“ฐธฐŠ” ํž˜“ ค‘.

„„œ€—„œ ด „—  ˆฐ˜ •„ ฝ€  ด žˆŠ” Learning, Creating, and Using Knowledge ˜ € ฝ–ดณดณ , NoSmok:HowToReadaBook›„œ ฐพ•„ณด•˜‹ค. Œ€ฐ• ฝ–ดดคŠ”ฐ,  „— ํ•œ€šฉ–ดกœŠ” •ฝ„ –ดƒ‰ํ•˜ฒŒ ŠปดกŒ˜ šฉ–ด“คด จธฆฟ†—  œŒ€กœ “ค–ด™”‹ค. (˜Š”, ‚ด€ ˜–ดกœ œ …„ ฝ„•Œ—”  „ณต…˜ ทธ –ดํˆฌ – ˜ฌ ค„œŸฐ€„ ชจฅดฒ ‹ค. ฆ‰, ˜–ดกœ œ …€ •ฝ„ ” ฌดฒฒŒ ฝŠ”‹คณ  ํ• Œ. ทธด ทธ ค ธ žˆŠ” … (ex : NoSmok:AreYourLightsOn, บ˜ˆ & ํ™‰Šค) Š” ˜ˆ™ธ)

‹จ, € ‰ฌšด …“ค— Œ€ํ•ด –ดŠ •„ Input ด € “ค–ด™”œ‹ˆ ดœฐฎฒ € ํ•˜ณ  …„ ฝ—ˆ‹ค.
  • TPOCP ฝธฐ
    • –ด ค›€ : š”•ฝ„ –ด–ปฒŒ ํ•  ฒƒธ€?
      ํ•œ€ …„ ฝ„•Œ—” ํ•œ€กœ š”•ฝํ•œ‹ค. ˜–ด…„ ฝŠ” ค‘ ํ•œ€กœ š”•ฝํ•˜ ค‹ˆ ‚ด€ ฝ„•Œ €ธ‰  ํ•œ€กœ ํ•ด„ •ˆํ•˜ คณ  ํ•˜Š” —ฐŠตค‘ด‹ค. ทธŸฌํ•˜ธฐ—” ˜ €ธˆ ˜–ด ž‘ฌธŠฅ ฅด ›ฐ–ด‚˜€ •Š‹ค.
    • ž˜ชปœ Šต€ : Œ€ถฉ ฝธฐ
      …„ ฝœฉด„œ 'ํ•ด„ด •ˆ˜Š” ฌธžฅ' „ ทธƒฅ „˜–ด€„ ธ‹ค. ฆ‰, NoSmok:HowToReadaBook—„œ˜ ฒซฒˆงธ ‹จ„ •„ง  œŒ€กœ ชปํ•˜ณ  žˆŠ” ฒƒด‹ค. ทธŸฌํ•œ ƒํ™ฉ—„œŠ” Analyicial Reading „ ํ•  ˆ˜€ —†‹ค.
    • ™œ ดŸฐ‹œกœ ฝ„Œ ํ•˜Š” ƒฐ„ ํ•ดณด•˜Š”ฐ, ˜–ดกœ œ …„ ฝ„•ŒŠ” กœ ฌธ œํ•ดฒฐ„ œ„ํ•ด ฝ„•Œ€ งŽ•„„œ ทธŸฐฒƒ ฐ™‹ค. (†ณ “ํ•™ต ˜–ด‹œํ—˜šฉ ฝธฐ) ฆฌ ฝœ คณ  ฐœธ ธ ˜—ญ„ „ˆฌด ˜คšฉํ•˜Š”ฒƒ ฐ™ธฐ„ ํ•˜‹ค. ทธฆฌณ , ‹จ–ด Šต“ํ•˜Š”ฐ € ” ฐํ•ดงˆ ํ•„š”€ žˆ„ ฒƒ ฐ™‹ค. (—ฌŸฌฒˆ ฝธฐ “) Chapter 7,8 ฝŠ”ฐ ชจฅด‚˜ œป„ Œ€ฐ•งŒ •Œณ žˆ–ด„œ ดœปธ€  €œปธ€ • งคํ•ดํ–ˆ˜ ‹จ–ด“ค ํ•ฉณณด‹ˆ 230ฐœ •„ œ‹ค. ํ˜„žฌ ˜–ดˆ˜€€ ค‘ํ•™ต 1ํ•™…„ ˆ˜€ •„ธฒƒ ฐ™‹ค.
    • GOF ฒˆ—ญ„ ํ• •Œ—”? - ฒˆ—ญ„ ํ• •Œ—” • งคํ•œ ‹จ–ด“ค— Œ€ํ•ด  „€ ‚ฌ „„ ฐพ•„ณดฒŒ œ‹ค. (™„ „ํžˆ ง—ญ„ ํ•˜€กœ) ‹œ„ด งŽด ฆฌ€งŒ, ˜–ดํ•™Šต ดˆธฐ—” ž ํ•ดณดŠ”ฒŒ ข‹€ •Š„Œ ƒฐํ•œ‹ค. (ญ ํ•œ€ ฒˆ—ญด •„‹Œ, –ด คšด ˜–ด— Œ€ํ•œ ‰ฌšด ˜–ดกœ˜ ํ•ด„ค. ดฒŒ € ” –ด คšฐ ค‚˜..)

    • ทธ ‡‹คฉด, –ด–ปฒŒ NoSmok:HowToReadaBookด‚˜ 'Learning, Creating, and Using Knowledge' € ฝธฐ ‰ฌ› „Œ?
      • ‚ฌ „€‹ด ดžˆ—ˆธฐ •Œฌธดณ  ํŒ‹จํ•œ‹ค. NoSmok:HowToReadaBookŠ” ํ•œ€ „œ „ ดฝ—ˆ—ˆณ , 'Learning, Creating, and Using Knowledge' ˜ ฒฝšฐ Concept Map — Œ€ํ•œ ดํ•ด€ žˆ—ˆ‹ค. PowerReading ˜ ฒฝšฐ ›ž˜ ํ‘œํ˜„ žฒด€ ‰ฝ‹ค.
      • ฐ˜ฉด, TPOCP ˜ ฒฝšฐ ‚ฌ „€‹„ €€ณ  žˆ€ •Š•˜ณ , ํ•œํŽธ 'ƒˆกœ ฝŠ” …— Œ€ํ•ด„œ ‚ฌ „€‹œกœ ํ•ด„ํ•˜ธฐ' กฐ‹ฌํ•˜ณ  žˆ—ˆ‹ค. (ด€ ‹คํ–‰ธ“ ํ•˜‹ค.) ทธฆฌณ  RT ดํ›„˜ ‹คฅธ ‚ฌžŒ“ค ˜ฒฌ„ “ค–ดณดฉด, ‰ฌšด ˜–ดŠ” •„‹Œ ฒƒ ฐ™‹ค.
  •  •ฆฌ
    • ํ˜„žฌ ‚ด ˜–ดˆ˜€„ ณดฐ, ปดํ“จํ„€ จ „œ  ด™ธ— ‰ฝณ  ƒ ธ …“ค— Œ€ํ•œ Input ด ํ™•‹คํžˆ €ํ•˜‹ค. ˜–ดกœ œ …“ค— Œ€ํ•ด„œŠ” € ” ‰ฌšด …“ค„ Elementary Reading ‹จ„€„ฐ ํ•ดด•ฒ ‹ค.
    • €ธˆ ํ˜„žฌ ƒํ™ฉ—„œ   ˆํ•œ †„Š” •ฝ 70 WPM ธฒƒ ฐ™‹ค. ชจฅดŠ” ‹จ–ด ํ•˜‚˜ํ•˜‚˜  „€ ‚ฌ „—„œ ฐพ•„ณดŠ” †„ ธฐ€. –ดŠ •„ –ดํœ˜“ค— ตˆ™ํ•ด€ณ  ‚œ ’ค.

  • Seminar:ReadershipTraining
    • ค‘š” ชฉํ‘œค‘ ํ•˜‚˜€ RT € –ด–ปฒŒ ดฃจ–ด€ณ , ZeroPage —„œ RT ‹คํ–‰‹œ –ด–ปฒŒ ํ• Œ— Œ€ํ•œ ถฆฌ.
    • „ํ–‰ฐฉฒ• (‹จ ด‚  ํ–ˆ—ˆ˜ ฐฉฒ•)
      • ฐœ œํ•œ ‚ฌžŒ“ค ค‘‹ฌœกœ ฐœ œž€ ํ•ด‹ ‚ดšฉ  •ฆฌ.
      • Facilitator ‚˜ ฐœ œž, ˜Š” ฝŠ” ‚ฌžŒ“คด งˆฌธ œธฐ & ‚ฌžŒ“ค ˜ฒฌ žœ ํ† ก 
      • ฆฐ ‹œ„ : 6‹œ 30„ ~ 2‹œ. (ค‘„ ํœด‹‹œ„ 1‹œ„  •„) Chapter 12ฐœ ธฐ€.

    • ธฐณธ œกœ ฐœ œํ•˜ณ  ฐœํ‘œํ•  ˆ˜ žˆœ คฉด •ํ„‹ 4-5ฒˆ  •„  •…„ ํ•ด• ํ•  ฒƒ ฐ™‹ค.
      • ดฒˆ— ฐœ œ ƒ‹ํžˆ ž˜ํ–ˆ‹คณ  ƒฐ˜Š” ‚ฌžŒ“ค„ ณด‹ˆ, ํ•œช…€  –ด„  „€„€„ํ–ˆณ , ํ•œช…€ ํ•ด‹ •ํ„ 3-4ฒˆ •„ ฝ—ˆ‹คณ  ํ•œ‹ค. ทธฆฌณ  ทธ ‚ฌžŒ“คด ด•ธฐํ•  ˆ˜ žˆ„  •„€ –ดŠ •„ดƒฉด, ํ•ด‹ ˜ˆ œƒํ™ฉ— Œ€ํ•ด   ˆํ•˜ฒŒ ž‹ ˜ ˜ˆกœ งํ•  ˆ˜ žˆ„ •„ด‚˜, ˜Š” š”•ฝํ•œ ‚ดšฉ„ ˜ ณด€ •Šณ „ ด•ธฐํ•  ˆ˜ žˆŠ” ˆ˜€ด˜€‹ค. ‘ช…˜ ฒฝšฐ ™ธ€ žฃŒ ฐพ•„ณดธฐ„ ํ–ˆ‹ค.
      • ํ•œช…€ ํ•ด‹  œ–ด ด•ธฐํ•˜ณ , ด  œ–ด œปด ฌด—‡ธ€ ด•ธฐํ•˜ณ , ทธ— —ฐฒฐ˜Š” ด•ธฐ ํ•ดŠ” ‹.
        • ดŸฌํ•œ ‚ฌžŒ“คด …„ ฝ„•Œ 5„„ ฝœฉด„œ –ด–ค  •„ –ดŠ •„ ˆ˜€œกœŒ€ ˜Š”€— Œ€ํ•ด ตฌฒฝํ•ด ˆ˜ žˆ–ด„ ข‹„ฒƒ ฐ™‹ค. ทธŸฌํ•œ  —„œŠ” RT •Œ Chapter ‹จœ„กœ Pair-Reading „ ํ•ดด„ žฌžˆ„ “ ํ•˜‹ค. 'ฝŠ” ฐฉฒ•'„ ƒฐํ•˜ฉฐ € ” ˜‹ œกœ ฝ„ ˆ˜ žˆ€ •Š„Œ.
      • ‹คฅธ ‚ฌžŒ“คด ‚˜— „ํ•ด ํ•ด‹ –ดํœ˜— Œ€ํ•œ žฌ •˜(Restatement) ‹จ„€ ํ•˜‚˜‚˜ ‘‹จ„ •„ ” †’•˜˜กœ ธฐ–ตํ•œ‹ค. ‚ด€ …„ ฝ„•Œ งˆฌธ„ ž˜ ชปงŒ“ค–ด‚ดŠ” ฒƒ„ ํ•œ ชซํ•˜Š”ฒƒ ฐ™‹ค.

    • 2ํ•™…„, 3ํ•™…„“ค— Œ€ํ•ด € ” ‹คšฉ ธ RTกœ ํ•œ‹คฉด, ํ•ด‹ ํ”„กœทธž˜ฐ –ธ–ด— Œ€ํ•œ RT ํ•  ˆ˜ žˆ„ฒƒ„ ฐ™‹ค. (…ธํŠธถ 2Œ€ •„ ดšฉ, ‚ฌžŒ“คด ‹คฐ™ด ‘˜Ÿฌ„œ ณดŠ”..)
    • ฒ˜Œ ํ”„กœทธž˜ฐ„  ‘ํ•˜Š” ‚ฌžŒ—ฒŒŠ”  „ฒด ํ”„กœ ํŠธ  •„ ดํ•ดํ•  ˆ˜ žˆŠ” ํ•˜ฃจ, (ดด RT ณด‹จ ฐคƒˆธฐ ํ”„กœ ํŠธ ํ•˜ฃจงœฆฌ ฐ™ด ํ•ดณดŠ”ฒŒ ข‹„ ฒƒ ฐ™‹ค.) 2-3ํ•™…„•ŒŠ” ค‘š” …ฌธด‚˜ †Œํ”„ํŠธ›จ–ด ํŽ˜Ÿฌ‹คž„ ˜Š” –‘„œ ถˆฆฌŠ” …“ค (How To Read a Book, ด„˜ ธฐŠฅ, Mind Map ด‚˜ Concept Map “)„ ฐ™ด ฝณ   šฉํ•ดณดŠ” ฒƒ„ ข‹„ฒƒ ฐ™‹ค.


  • Seminar:ReadershipTraining Afterwords
    • “ฐ‹คณด‹ˆ … žฒด— Œ€ํ•œ ‚ดšฉด  กŒตฐ. -_-
      • ‹ฌฆฌํ•™ „œ ด –ด– ํ•œ Šคํƒ€ธ€Š” ชจฅดฒ €งŒ, †Œํ”„ํŠธ›จ–ด ฐœฐœ˜ ฐ  •“ค— Œ€ํ•ด  •งกœ 'Human Performance' Š” € œกœ „œˆ ํ•œ‹ค.
      • ƒฐ‚˜Š” €„ :
        • ฝ”“œ ฝŠ” ฒƒ.
        • ฝ˜›จด ฒ•™
        • Blank Error ˜ —Ÿฌœจ €ํ™”— Œ€ํ•œ ํ†ต„ - ดก œกœ Dead Lock „ •„Š” ฒƒ, ‹ค œ Multi Thread ํ”„กœทธž˜ฐ„ ํ•˜Š” ค‘ Dead Lock ƒํ™ฉ„ ž  ‘ํ•˜Š”ฒƒ. –ดŠฒƒด ” ํ•™Šตํšจ€ †’„Œ ํ•˜Š” ƒฐ. ™˜— ˜ํ•œ ตœก—„œ ทธ ™ธฐ€—ฌฐจ›—„œ„ ํ•™Šต„ํ–‰ Šคํƒ€ด ‹คฅดฆฌž€ ƒฐด “ฌ.
        • Efficiency : Effectivily - ‚ด€ ฐœํ‘œํ–ˆ—ˆ˜ 7žฅ˜ ทธ ˜ˆ œ€ €žฅ ค‘š”ํ•œ ˜ˆ œค‘ ํ•˜‚˜˜€‹คณ  Comment — จžˆ—ˆ˜กœ ธฐ–ตํ•˜Š”ฐ.. ƒฐํ•ดณดฉด ‚ด€ ฐœ œํ•  €„ ‚ดšฉ ฐธ žฌžˆŠ” €„ด˜€Š”ฐ,  œŒ€กœ ฐœ œ ชปํ•œฒŒ ฐธ ‚ฌžŒ“ค—ฒŒ „†กŠคŸฝ‹ค.

  • Post Script.
    • ํ˜„žฌ ‚ด€ ฃฝ–ด€ณ  žˆŠ”ค‘ดธด ํ•œ€ ณด‹ค. –ด œ™€ ทธ œ, ž ‹œ ŠคŠคกœ ฃฝŒ„ ชฉฒฉํ•œ ฒƒ ฐ™ณ , ‹คฅธ ‚ฌžŒด ‚ด ฃฝŒ„ ตฌฒฝํ•œ ฒƒ ฐ™‹ค. (ดช‡ „€„ชฉฒฉํ–ˆ—ˆ˜ ‚ฌžŒ„ žˆŠ”ฒƒ ฐ™‹ค.)
    • Œ“•„‚˜€• ํ•  €„ด ƒ‹ํžˆ งŽ•„ณดดŠ”ฐ.. Refactoring —„œ˜ ฒฝํ—˜„ –ด„คํ”„ฒŒ €กœงˆŸฌณธ‹คฉด. ReFactoring „ ํ• •Œ ‚˜œ ํดž˜Šค“ค„ ทธ •ˆ—„œ „† ณ ณ‚˜€Š” ฒƒ ณด‹จ, ƒˆ ํดž˜Šค‚˜ ฉ”†Œ“œ“ค„ ค‘„— งŒ“ ’ค, ‚˜œ ํดž˜Šค“ค„ ‚ญ œํ•˜Š”ฒŒ ”  ฅธ ฐฉฒ•ด‹ค. ข‹€ Šต€„ งŒ“ค–ด‚ดŠ” ฒƒด ‚˜œ Šต€„ ณ ณ‚ด คณ  ํ•˜Š”ฒƒณด‹ค ตœข… œกœ • ”  ‘ํ•˜ธฐ ‰ฝ€ •Š„Œ ํ•˜Š” ƒฐ„ ํ•ดณธ‹ค. ‚˜œ  ด ƒฐํ•˜Š”ฒƒ€, ˜‹ํ™”ํ•ด„œ ณ ˜Š” ฒƒ ณด‹จ ข‹€ Šต€œกœ Œ€ฒดํ•˜ณ  ‚˜œ Šต€„ •„— žŠ–ด„ฆฌฒŒ” ํ•˜Š”ฒƒด ” ‚˜€ฒƒ ฐ™‹ค.
      • •„ง€. จธฆฟ†˜ 'ง'  ฟธค‘.

12 (ชฉ): …ƒ •ฆฌ

„–ดžˆ–ด•งŒ œ šฉํ•œฒƒ“คด žˆœ‹ˆ. ฆฌ  •ฆฌ˜–ด„ ค• ํ•  ฒƒ“ค.

10 (ํ™”): Prometheus ฆฌํŒฉํ† ง („†„ํ–‰ค‘. งธ „ํ–‰ค‘ด˜€. -_-a)

—ฐŠตžฅ—  „ฒด ํดž˜Šค“ค ตฌกฐ ทธ คดค‹ค. CRC “ธŒ ํ•˜‹ค€ Š˜–ด†“„ žฆฌ€ —†–ด„œ..;

ƒ‹จ˜ ํดž˜Šค“ค€ ํ•˜‹จ˜ ํดž˜Šค“ค„ ดšฉํ•˜Š” ‹ด‹ค.



ทธ„ ณดณ  ‚˜‹ˆ, Inheritance ‚˜ Delegation ด ํ•„š”—†ด ดฃจ–ด„ €„ด žˆ‹คŠ”   (KeywordGenerator ํดž˜Šค‚˜ BookSearcher, HttpSpider “) Information Hiding ด  œŒ€กœ €œ€€ •Š€ฒƒ ฐ™‹คŠ”  , (Book € จœ ฐดํ„ –ปณ , €ƒ‰ํ•˜—ฌ ฆฌŠคํŠธ งŒ“ค–ด‚ดŠ” ฒƒ€ BookMapper —„œ ํ†ต˜ฒŒ ดฃจ–ด ธ• ํ•œ‹ค.)  ˆด–ด ฒ”ํ•œฒƒ (ฐฐ˜ Service ํดž˜Šค“คด ํ•ด‹ กœงฐฒด ง ‘ ดšฉํ•˜Š”ฒƒ€ ทธฆฌ ณดธฐ ข‹€ ชจ–‘ƒˆ€ •„‹Œ“ ํ•˜‹ค. ํดž˜Šค €„€ ณตžกํ•ด€‹ˆŒ. ทธฆฌณ  €ธˆ Service € „œธ”ฆฟ— „ข…† ธ Command Pattern € •„‹ˆ‹ค. ทธฆฌณ  AdvancedSearchService ™€ SimpleSearchService € BookMapper — ด› „ งžถ”€ •Šณ  Searcher ํดž˜Šค“ค„ ดšฉํ•œ ฒƒ€ ํ˜„ช…ํ•œ „ ํƒด •„‹ˆ‹ค.)

ตฌกฐ ‚ดํ”ฉด„œ ฆฌํŒฉํ† ง, KeywordGenerator ํดž˜Šค™€ HttpSpider “˜ ํดž˜Šค“ค„ ‚ญ œํ–ˆ‹ค. ํ…ŒŠคํŠธ 96ฐœŠ” •„ง ž˜ Œ•„€Š”ค‘. ฆฌํŒฉํ† งค‘ inline class ‚˜ inline method , extract method ‚˜ extract class ํ• •Œ, ‹จ ํ•ด‹ †ŒŠค ณต‚ฌํ•ด„œ ƒˆ ํดž˜Šค งŒ“ค‚˜ ฉ”†Œ“œ งŒ“คณ , ด ดšฉํ•œ’ค, ธฐกด˜ ฉ”†Œ“œ“ค€ Find Usage ธฐŠฅ„ ดšฉํ•˜ฉด„œ ดšฉํ•˜Š” €„ด —†„•ŒŒ€ replace ํ•˜Š” ‹œกœ ํ–ˆŠ”ฐ, ํ…ŒŠคํŠธ ฝ”“œ„ „† …ƒ‰ฐ” œ €ํ•˜ฉด„œ, ž‘€ ฆฌ“ฌ„ œ €ํ•  ˆ˜ žˆ–ด„œ ธฐ„ด ข‹•˜‹ค.

–ดŠ •„ ‹ค‹œ  •ฆฌœ ’ค, ํฌฒŒ ทธฆฌŠ” ฒƒด ‚ซฒ ‹คณ  ํŒ‹จ, ํ™”ดํŠธณด“œ— ทธ. (งˆณด“œ งˆ—†–ด„œ  „€— งคงœกœ.;)



‚ด € ” ž‘—…„ ํ•  ถฆฌ. CVS —„œ „ „„ ”ฐกœ ‘˜Œ„ ถฆฌค‘. (ตฌกฐ€ € งŽด ฐ”€” ฒƒ ฐ™‹ค. ›ํ•˜Š” ””žธœกœ € คฉด  €  „  €„œกœ €• ํ•˜ฆฌ ƒฐ.)

  • ”„งณ  œ„งณ  'ํ…ŒŠคํŠธ ํ†ตงŒํงŒ' ดŠ” ‚ฌณ ฐฉ‹€ ฐœฐœ†„ ƒ‹ํžˆ ํ–ฅƒ‹œํ‚จ‹ค.;; ฆฌํŒฉํ† งค‘ žฌฐจ ฐฐ›€.
8 ():

‹ค œ Database ดšฉํ•˜Š” ํ…ŒŠคํŠธ— Œ€ํ•ด ํ•˜‚˜งŒ ‹คํ–‰ํ–ˆ„•ŒŠ” ž˜ ˜”‹ˆ, Suite — ฌถœ‹ˆŒ ํ…ŒŠคํŠธ—„œ ดšฉํ•˜Š” Connection ด NULL ด ˜–ด„ฆฐ‹ค. Connection POOL ˜ ฌธ œธ“. ํ•„š”—†Š” ณณ— Connection —ด–ด†“€ ฒƒ„ ํ•˜‚˜งŒ ดšฉํ–ˆ”‹ˆ ํ•ดฒฐ.

7 (ํ† ): Prometheus Test Code ถ”€ Œ€žฅ •

Prometheus ฆฌํŒฉํ† งค‘. ธฐ„„ žก€ •Šณ  ํ•˜‹ˆ —„ฒญ‚˜ฒŒ Š˜–ด€Š” ฒƒ ฐ™‹ค. ‹ค‹œ ํ•  ชฉก„ ตฌฒด œกœ žกณ  ํ•ด•ฒ ‹ค.

ธฐกด˜ AcceptanceTest “คด ž‘™„ ชปํ•œ‹ค. (Python —„œ  •ทœํ‘œํ˜„‹ ดšฉ. ฐดํ„ฐ ํŒŒ‹ & ถ”ถœ. Prometheus UI € ฐ”€Œฉด ‹ค‹œ ฐ”€œ)  „— ตฌฒฝํ•œ ฒƒฒ˜Ÿ XPath ดšฉํ•˜Š” ฐฉฒ•„ ถฆฌํ•ดณด‚˜, Prometheus ชฝ—„œ XML + XSLT ดšฉํ•˜Š” ฐฉฒ•„ ถฆฌํ–ˆ‹ค. ํ•˜€งŒ, ทธŸฌธฐ—” ํ˜„žฌ Prometheus ˜ JSP €„„  „€ ฐ”พธŠ”ฐ €‹ดด ํฌฆฌ ํŒ‹จ, Servlet Controller ค‘ Service ํดž˜Šค €„— Œ€ํ•ด ํ…ŒŠคํŠธ ฝ”“œ ถ™ดŠ” ฐฉฒ•„ ƒฐํ•ด ƒˆ‹ค. ํ•˜€งŒ, ง‰ƒ ž‘„ํ•ดณดณ  ‚˜‹ˆ ทธ ˜ํ•œ ํ…ŒŠคํŠธ ฝ”“œ˜ ํฌธฐ€ ํฌธด ํ•˜‹ค.

Service ™€ Controller € ˜ Composition ดณ , ทธกœ ธํ•ด Controller Š” Mapper, Recommender “คด „„ํžˆ ˜กด„„ €กŒ‹ค. ฐฐ˜ Mapper, Recommender “คด DB “ฐ€กœ ด Mock Object “ธŒ ํ•˜‹ค€, –ดฐจํ” ํ˜„žฌ ž‘„ํ•˜Š” €„ด AcceptanceTest ˜ €ด€กœ ‹ค œ ฐฒด ทธƒฅ ดšฉํ•ด„ ข‹ฒ ‹คณ  ํŒ‹จ, ทธŒ€กœ ดšฉํ•˜ณ  ž‘„.

----
€ธˆ ƒฐํ•ดณดฉด, ดธ ํ…ŒŠคํŠธ€ žˆŠ” ฝ”“œ“ค„  € €Šฅํ•œํ•œ ‹จˆœํ•˜ฒŒ ฆฌํŒฉํ† งํ•˜ณ  ทธ ‹คŒ Service ชฝ ฆฌํŒฉํ† ง„ ํ–ˆ‹คฉด –ด– ํ–ˆ„Œ.

----
ํ…ŒŠคํŠธ ฝ”“œ ž‘„„ œ„ํ•œ € ฝ”“œ ณต‚ฌ & ฉ”†Œ“œ ถ”€ & ํดž˜Šค ถ”€.

----
Test ํ†ตํ•˜Š” งŒํงŒด ‚ด€ งŒ“ ฒƒด‹ˆ. ”„งณ  œ„งณ .  •งž  •งž  •งž. -_-;

ดฒˆ— ฆฌํŒฉํ† ง„ ํ•˜ คณ  ํ• •Œ Legacy Code Refactoring ดณ  ƒ •ํ•ด„œ ทธŸดŒ. Coverage Test ™„ฒฝํ•˜ฒŒ ž‘„ํ•˜Š” ฒƒ— Œ€ํ•ด €‹ดฐ„ Šˆ‹ค. ˜ˆ „— œ šฉํ–ˆ—ˆ˜ '•„•„. ด‹ค ˜–ดžˆ–ดš”.~' ‹ค‹œ  šฉํ•ดŒ.

----
Refactoring Catalog  •…. ™œ ฆฌํŒฉํ† ง …˜  ˆฐ˜ด ฆฌํŒฉํ† ง˜  ˆฐจธ€— Œ€ํ•ด ํ˜ž„œ ฐ™ค‘.; ™œ Extract Method ํ• •Œ 'ฉ”†Œ“œ ƒˆกœ งŒ“ ‹ค' €  €ธ€. Extract Class ํ• •Œ 'ƒˆ ํดž˜Šค  •˜ํ•œ‹ค'€  €ธ€. ( ˆŒ€กœ '†ŒŠค € ž˜‚ธ‹ค'‚˜ '†ŒŠค € comment out ํ•œ‹ค' €  €€ •„‹ˆŠ” ฒƒ.)
ฆฌํŒฉํ† ง …„ ณดณ  ฐฉฒ•„ ฐฐšฐ€ งˆ. Œ€‹  ŠคŠคกœ ณ ํ•ด. "ดˆกƒ‰ ง‰Œ€ธฐ ‚ฌด ธฐ„"ด ตœ†Œ€ ˜ฒŒ ํ•˜ คฉด –ด–ปฒŒ ํ•ด• ํ• €. ทธŸฌณ  ‚˜„œ „ˆ˜ ฐฉฒ• …˜ ฐฉฒ•„ „ตํ•ด ณด‚˜, ํ˜€ ํ•˜€ งˆ. --JuNe

5 (ชฉ):
ํž˜„ Š” ง.
  • Instead of being tentative, begin learning concretely as quickly as possible.
  • Instead of clamming up, communicate more clearly.
  • Instead of avoding feedback, search out helpful, concrete feedback.
from TestDrivenDevelopmentByExample

3 (ํ™”): DDD … ํ‘œ€ ถฆฌํ•˜ธฐ

… ํ‘œ€ ถฆฌํ• •Œ„ ข…˜ ””žธดž„Œ. ํ•˜€งŒ, ‹œฐ””žธชฝ— Œ€ํ•ด„œŠ” •„Š” ฐ” —†œ€กœ, ทธƒฅ ฐœธ ธ —ฐƒž‘šฉŒ€กœ „ํ–‰ํ–ˆ‹ค.
DDD ํ•˜‹ˆŒ XP ฐฉฒ•ก  ž˜ งžŠ”‹คŠ” งด ƒฐด ‚ฌ—ˆณ , ทธŸฌ‹ค€ TDD ƒฐด ‚˜ณ , ทธŸฌ‹ค€ Calvin & Hobbes € ƒฐด ‚˜ณ  (—ฌธฐŒ€ ํ•œ„ธฐ)
DDD ํ•˜‹ˆŒ JuNe ํ˜•ด ' „ํ™”ธฐ ‹ฌžˆœฉด ข‹ฒ „ค~' ณ  ํ•œงด ƒฐ‚˜ณ  (DDD ‹ˆ -_-) ทธž˜„œ  „ํ™” ด€€ ํ•„š”ํ•  ฒƒด ƒฐด “ค–ด  „ํ™”ธฐ ํดฆฝ•„ํŠธ €ƒ‰ํ•˜ณ , ทธŸฌ‹ค€  „ํ™”ธฐ ํดฆฝ•„ํŠธค‘ บ˜ˆด  „ํ™”ฐ›Š” ด€€ ํ•˜‚˜ žˆ—ˆณ  (—ฌธฐŒ€ ํ•œ„ธฐ)

‘ฐœ ตฐจ‹œํ‚ค‹ค€ ฐˆ“ํ•˜‹ค€ ฒฐตญ ‹คŒ ฐ™€ ‹ด ˜—ˆ‹คŠ”. -_-; (›ž˜Š” ทธƒฅ บ˜ˆด  „ํ™”ฐ›Š” ด€งŒ žˆ—ˆ˜ž‘, บ˜ˆด  „ํ™”„  ฝ‘Š”ฐ, บ˜ˆดž‘ ํ™‰Šค€ ด›ƒง‘ ฒ˜— ˆˆœกœ —ด‹ฌํžˆ ‹ดŒ“•„†“ณ  '•„ šฐฆฌ˜ ‹ด€ ํŠํŠํ•ด~' ดŸฐ‹œกœ ข‹•„ํ•˜Š” ™•ˆ ด›ƒง‘ •„ €”จ€ 'ด†ˆ˜ ž‹“ค;' ํ•˜Š”““ - งˆ˜ ํ”„กœทธž˜จธ : ณ ฐ ˜ €„˜ งคํƒ€ํฌ ฐ™‹คŠ” ƒฐด “ค–ด„œ - งŽ•˜Š”ฐ. ฐˆˆ˜ก ฐฐ€ ‚ฐœกœ €Š”ฒƒ ฐ™‹คŠ”. -_-;)

ProjectPrometheus Refactoring ถฆฌํ•˜ธฐ

Refactoring „ ํ•˜ธฐ „ Todo ฆฌŠคํŠธ  •ฆฌํ•˜Š”ฐงŒ 1‹œ„ •„ “ฐณ  ‹ค œ ž‘—…„ “ค–ด€€ ชปํ–ˆ‹ค. ™œ ˜คž˜ ธ„Œ ƒฐํ•ดณดฉด Refactoring „ ํ•˜ธฐ— ถฉ„ํžˆ Coverage Test ฝ”“œ€ —†‹ค Š”  ด‹ค. ํ˜„žฌ˜ UnitTest 85ฐœ“ค€  œŒ€กœ Œ•„€€งŒ, AcceptanceTest ˜ ฒฝšฐ ํ•จ€กœ Œฆด ˆ˜€ —†‹ค. ™œƒํ•˜ฉด ํ˜„žฌ Release ˜–ดžˆŠ” ด „ „ „— ˜ํ–ฅ„ ˜ธฐ •Œฌธด‹ค. ด €„„ ณดฉด„œ ™œ JuNe ด DB — Œ€ํ•ด „€„œกœ €ฆฌ€ ํ•„š”ํ•˜‹คณ  ด•ธฐํ–ˆŠ”€ ‹ซฒŒ ˜—ˆ‹ค. ฆ‰, DB ™€ € จํ•˜—ฌ ฐœธ UnitTest œ„ํ•œ ฐœฐœž ปดํ“จํ„‚ด กœปฌ DB, ทธฆฌณ  Integration Test œ„ํ•œ DB, ทธฆฌณ  ฆดฆฌฆˆ œ  œํ’ˆ„ œ„ํ•œ DB € ํ•„š”ํ•˜‹ค. ("„ „—…„ œ„ํ•ด ธฐกด— ž‘„ํ•œ ฐดํ„“ค„ ‚ ฆฝ‹ˆ‹ค" ณ  „œ„Šค —…ฒด€ ด•ธฐ ํ•œ‹คฉด –งˆ‚˜ ํ™ฉ‹ํ•œ€.; „ „ ํŒจ˜ œ„ํ•œ, ํ†ตํ•ฉ ํ…ŒŠคํŠธ œ„ํ•œ DB Š” ”ฐกœ ํ•„š”ํ•˜‹ค.)

ทธฆฌณ , ฐฐ˜ ํ…ŒŠคํŠธ“ค„ œ„ํ•œ DB Property „ •ด žœ กœšฐ คฉด Server Property ํ™”€ ŠคํฌฆฝํŠธ ํ™”กœ   ธ‚˜™€• ํ•œ‹ค. (ํ…ŒŠคํŠธ Œฆด•Œงˆ‹ค ํ”„กœทธžจ žฌปดํŒŒ ํ•œ‹คŠ”ด, ถ”ํ›„ ํ”„กœทธžจ ปคกŒ„•Œ ํšจœจ ธ ฐฉฒ•ด •„‹ˆ‹ค.)

ทธฆฌณ , ด „— ProjectPrometheus ž‘—…ํ• •Œ—” „œธ”ฆฟ ํ…ŒŠคํŒ… ฐฉฒ•„ ชฐž‹ค. ทธž˜„œ €ธˆ ProjectPrometheus ฝ”“œ ณดฉด „œธ”ฆฟ €„— Œ€ํ•ด ํ…ŒŠคํŠธ€ —†‹ค. WEB Tier — Œ€ํ•œ ํ…ŒŠคํŒ…„  „ œกœ AT — ˜กดํ•œ‹ค. ดฒˆ— ธฐ‚ฌ “ธ•Œ งˆํ‹ด ํŒŒšธŸฌ˜ €„ ธšฉ, "WIMP Application — Œ€ํ•ด„œ WIMP ฝ”“œ ํ•œ„„ ณต‚ฌํ•˜€ •Šณ  Console Application „ งŒ“คˆ˜ žˆ–ด• ํ•œ‹ค" ณ  ด•ธฐํ–ˆ€งŒ, ดŠ” WEB —„œ„ ‹ค ฐ”€ —†‹คณ  ƒฐํ•œ‹ค.

€• ํ•  ธธ€ –ธ œ‚˜ €ฒŒงŒ Šปด„‹ค.

2 (›”): ProjectPrometheus †ŒŠค ฆฌทฐ & ฆฌํŒฉํ† ง. audio book MP3 œจธฐ

Prometheus ณดฉด ํ…ŒŠคํŠธ€ ํ†ตํ–ˆ‹ค •ˆํ–ˆ‹ค ฐ˜ณตํ•œ‹ค. ํ•™ต „„œ€ ‹œŠคํ…œ˜ •ˆ •„ด ทธฆฌ ›ฐ–ด‚˜€ •Šธฐ •Œฌธด‹ค. (ฐ”พธณ  ‚œ ’ค ˜คํžˆ ค งจ‚  ฌธ œ œํ‚จ‹ค. ˜‘ฐ™€ กฐ‹—„œ ํ•œฒˆ€ €ƒ‰ด ˜ณ  ํ•œฒˆ€ €ƒ‰ด •ˆ˜‹ˆ.. ฉ)

ด „— TDD ํ• •Œ ดˆธฐ Library ํดž˜Šค— Œ€ํ•ด Mock ํดž˜Šค งŒ“ค—ˆ‹ค€ —†• „ ธŠ”ฐ, ‹ค‹œ Library Mock ํดž˜Šค งŒ“ค–ด• ํ•  ฒƒ ฐ™‹ค. ฆฌํŒฉํ† ง ํ• •Œ Fail ‚œ ํ…ŒŠคํŠธกœ ฆฌํŒฉํ† ง„ ํ•  ˆ˜Š” —†„ํ…Œ‹ˆ.

Composition ˜ ฌธ œ 
ด „— Delegation ํ•˜Š” ํดž˜Šค ํ•ด‹ ํดž˜Šค ‚ด— ฉค„กœ ‘—ˆŠ”ฐ. ˜ˆ “คฉด ดŸฐ‹œกœ
~cpp 
public class BookMapper {
.
.
.

 private Book getBookFromRemote(String aBookId)
            throws ProtocolException, IOException {
        Library library = new Library();
        Book book = library.view(aBookId);
        return book;
    }

ด ƒ„ž— „–ดŠ” ฐฉฒ•œกœ ฐ”พธŠ” ฒƒด ” ˜ฌฐ”ฅธ ””žธด ƒฐœ‹ค. ‹คŒฒ˜Ÿ.
~cpp 
public class BookMapper {

 public BookMapper(ILibrary library) {
        this.library = library;
 }

 private Book getBookFromRemote(String aBookId)
            throws ProtocolException, IOException {
        .
        .
        Book book = library.view(aBookId);
        return book;
    }

ํ•ด‹ ํดž˜Šค ‚ด—„œ ƒ„ํ•˜Š” ””žธ€ ทธ ํดž˜Šค ตฒดํ•ด„ ˆ˜€ —†œ‹ˆ œ —ฐํ•œ ””žธด •„‹ˆ‹ค. ทธ ‡‹คณ  setter ‘Š” ฒƒ„ ข‹€ ””žธ€ •„‹Œฒƒ ฐ™ณ . (ํ”„กœทธž˜ฐ ‹คํ–‰ ค‘„— Delegation ํ•˜Š” ฐฒด ตฒดํ•  € “œ‹ค. State Pattern ด‚˜ Strategy Pattern ด •„‹Œดƒ.) •„งˆ ฒ˜Œ— Mock Object ดšฉํ•˜—ฌ BookMapper งŒ“ค—ˆ—ˆ‹คฉด Connection „ ง ‘ ดšฉํ•˜‚˜, Library ฐฒด ‚ด€ œกœ ง ‘ ธŠคํ„Šค ƒ„ํ•˜—ฌ ดšฉํ•˜Š” ””žธ€ ํ•˜€ •Š•˜„ ฒƒดž€ ƒฐด “ ‹ค.
----
‚ฌ‹ค ~cpp LoD € —„œ ณดฉด žธฐ€ งŒ“  ฐฒด—Š” ฉ”„€ ณด‚ด„ œ‹ค. ํ•˜€งŒ „€ํ•œ ํ…ŒŠคํŠธ ํ•˜ คฉด €” —„ฒฉํ•œ ฃฐ„  šฉํ•ด•ํ•  ํ•„š” Šธฐ„ ํ•œ‹ค. ‹ˆ€ งํ•˜Š” ธ Inversion of Controlดณ  ํ•œ‹ค. ทธŸฐฐ ทธ ‡ฒŒ Constructor— parameterกœ „†  „‹ฌํ•ด ธฐ ํ•˜‹คณดฉด parameter list€ ธธ–ด€ธฐ„ ํ•˜ณ , ฐ parameter„— cohesion consistency€ –จ–ด€ธฐ„ ํ•œ‹ค. „ ƒ€—†–ด ณดดŠ” ฆฌŠคํŠธ€ ˜Š” ฒƒด€.

factory method ‚ฌšฉํ•ด.


~cpp 
public class BookMapper {
.
.
 private Book getBookFromRemote(String aBookId)
            throws ProtocolException, IOException {
        Book book=getLibrary().view(aBookId);
                .
                .
}
 protected Library getLibrary() {
        return new Library();
}

ดƒ†ฐ›•„„œ getLibrary overrideํ•˜ณ  MockObjectกœ —ฐฒฐํ•ด.

--JuNe

----
audio book

–ด œ „งŒ— ตณด— “ค ค Alice in wonderland ™€ Dr.Jekyll & Mr.Hyde ˜ค””˜ค ถ„ ƒ€‹ค. ตณดชฝ ™ธตญ–ด „•ชฝด „ต   •ฆฌ€ ž˜ ˜–ดžˆŠ” “ ํ•˜‹ค. ‹คŒ—„ ข…ข… “ค ค•ฒ ‹ค.

Alice in wonderland ˜ ฒฝšฐ —ฌž„šฐ€ ฝ–ด€‹ค. ด „— “ค—ˆ˜ Sherlock Holmes ˜ ฒฝšฐ— ตˆ™ํ•ด ธ—ฌ„œธ€, ฐœŒ†„€ Š—„ ถˆตฌํ•˜ณ  ดํ•ด„€ –จ–ดกŒ‹ค. ด „—Š” ทธƒฅ “ฃณ  จธฆฟ†—„œ ฌธžฅ„ ทธฆฐ‹คŒ ดํ•ดํ•˜Š” ฐฉ‹œกœ ํ–ˆŠ”ฐ, ดฒˆ—Š” ฐ›•„“ฐธฐ —ฐŠต„ ํ•ดด•ฒ ‹ค.

ด „— Alice in wonderland …ด žˆ—ˆ€งŒ  œŒ€กœ ดํ•ด ž˜ ชปํ–ˆ—ˆŠ”ฐ, ฐœธ œกœ ˜–ดˆ˜€ด ”ธฆฌŠ”ฒƒ— Œ€ํ•ด ทธƒฅ ฌธ œƒํ™ฉœกœงŒ †“€ฒƒด ž˜ชปธฒƒ ฐ™‹ค. ฌธ œ ฌธ œกœ ธ‹ํ•˜€ •Šณ , ‹ซŒœกœ ธ‹ํ•˜„ก …ธ ฅํ•˜Š”ฒƒ€ žŠ–ด„ฆฌธฐ ‰ฝ‹ค. ดฒˆ—Š” '” ‰ฌšด žฃŒ ฐพŠ”‹ค'Š” ฐฉฒ•ด – ˜ฌ„œ ‹คํ–‰ด‹ค.
„ธํŠธ ž˜ •ˆ“ฐธฐ •Œฌธ— ํ…Œดํ”„กœŠ” ž˜ •ˆ“ค„Œด Cool Edit ดšฉ, MP3 กœ …Œํ–ˆ‹ค. ›จดธŒ ํ™”„ ฒฐตญ€ ฐดํ„ดธฐ—, งˆ˜ ํ…Œดํ”„ งค„œ ด–ดถ™ดŠ” “ํ•œ Š‚Œœกœ ›จดธŒ ํ™” ํŽธง‘ํ•˜Š”ฒŒ žฌžˆ—ˆ‹ค. ด „— ฅด„ƒŠค ํดŸฝ•Œ ›จดธŒ ํ™”— Œ€ํ•ด ํ…ŠคํŠธํ™”กœ €ํ™˜ & ธ‹ํ•˜Š” ํ”„กœทธžจด ํ•„š”ํ•œ ดœ € ƒ‹ค.  „ฒด …Œ„ ํ•˜ณ  ‚œ ’ค, Chapter „กœ งค„œ ํ™”กœ  €žฅํ•˜ คณ ํ•˜Š”ฐ, ›จดธŒฐดํ„— Œ€ํ•ด €ƒ‰„ ํ• ˆ˜€ —†‹ค! ฒฐตญ 'Œ€ฐ• ช‡„งœฆฌ „Ÿ‰ ฒƒด‹ค' ˜Š” 'Œ€ฐ• ‹คŒ•ํ„กœ „˜–ดฐˆ•Œ ช‡ดˆ •„ ”œ ˆด€ žˆœ‹ˆŒ.. †Œฆฌ „ํŠธ™€ „ํŠธ ‚ฌด€ Œ€ฐ• ด •„ ˜ฉด งžฒ €...' ‹œกœ ฐพ•„„œ ํ™”กœ ฐœธด ํ–ˆ€งŒ. ›จดธŒ ฐดํ„— Œ€ํ•œ text €ƒ‰ด ƒํ™”œ‹คฉด ดŸฌํ•œ ณ ƒ„ •ˆํ•˜ฒ € ํ•˜Š” ƒฐด “ ‹ค.

11›”

29 (ธˆ): ˜–ด งˆฌธ‹ต€‹œ„ ฐธ„. ฅด„ƒŠค ํดŸฝ. Work Queue, To Do List. 7ง‰ 7žฅ.

Work Queue

•žœกœ ํ•˜ณ  ‹ถ€ ง‰—ฐํ•œ “ค— Œ€ํ•ด š ‚˜—ด, ทธฆฌณ  ทธค‘— Œ€ฐ• ‹žฅ ํ•ด• ํ•  — Œ€ํ•ด„œ “ค„ € ” „„ํ™”ํ•˜—ฌ ‚˜ˆ„–ดณด•˜‹ค. ‹žฅ ํŠ„ํ•œ ํšจ …ธฆฌณ  ํ•œ•„‹ˆณ ,.. ทธƒฅ ํ•ดงŒํ•œ “ค— Œ€ํ•ด  –ดณด•˜‹ค.

 ณ  ‚˜‹ˆŒ.. ช‡‹ฌ „— 'ํ•ด•€ ํ•ด•€' ํ–ˆ—ˆ˜ ฒƒ“ค, ช‡…„ „— 'ํ•ด•€ ํ•ด•€' ํ–ˆ˜ ฒƒ“คด Work Queue —„œ ธฐ‹คฆฌณ  žˆ‹ค. €ฆฌกœŠ” Smalltalk ฝ”“œ  œŒ€กœ ฝ„ „ •ˆ’ค SBPP ณต€ํ•œ‹คณ  ํ–ˆ—ˆ˜ ฒƒดž‘, Functional Language ํ•˜‚˜ ตํ˜€‘”‹คณ  ํ–ˆ—ˆ˜ ฒƒดž‘, €Œšด ฒƒœกœ ˜ฉด ธฐกด— งŒ“ค–ด†“€ †ŒŠค“ค ฆฌํŒฉํ† ง ํ•˜ฉด„œ ดธŒŸฌฆฌ ถ”ถœํ•œ‹คณ  ํ–ˆ—ˆ˜ ฒƒ“ค ““.

•„ง€ ํ˜‘ƒํ•  ˆ˜Š” žˆธด ํ•˜‹ค. ‹œ„„ ํ—ˆฝํ•ด‹ ‹คฉด. –ธ œŒ€ ํ—ˆฝํ•ด‹ค€Š” ชจฅดฒ €งŒ.

7ง‰ 7žฅ

ํ˜„žฌ : http://www.savie.co.kr/SITE/data/html_dir/2002/10/01/200210010019.asp. ฒฐํ˜„ ํ•˜ณ  „‚ดœ ”ธ„ žˆ‹จ‹ค. ํ˜„žฌ˜ ‚ฌ„„ ณด‹ˆ ‚จถ›”จ ‹ฎ•„€Š”ตฐ. M&A  „ฌธ ํšŒ‚ฌ Œ€ํ‘œณ  ํ•œ‹ค.

ฝค ˜คž˜˜ธด ํ–ˆ€งŒ (ฒŒจ ทธฒŒ 9…„ „ ด•ธฐž€‹ค. 93…„ ด‹ˆŒ) ํ™ •š˜ …„ ‹ค‹œ ฝ—ˆ‹ค. ทธ‹‹œ—Š” '•„. ทธƒฅ ณต€ ž˜ํ•˜Š” ‚ฌžŒ˜ —ด‹ฌํžˆ ณต€ํ–ˆ‹คŠ” ด•ธฐตฌ‚˜' กœ ทธƒฅ ํ•œฒˆ ฝณ  ‚ฌ˜ ฒƒœกœ ธฐ–ตํ•œ‹ค. ทธŸฌ‹ค€ „งŒ— ƒฐด ‚˜„œ …„ ‹ค‹œ ‚ด „Šค•ˆ—„œ ฝ—ˆ—ˆŠ”ฐ, ทธ˜ ํ‘œํ˜„ ฅ„ ณดฉด„œ ทธ€ –งˆ‚˜ งŽ€ ‹œ“ค„ ฝ—ˆŠ”€, –งˆ‚˜ งŽ€ …“ค„ ฝ—ˆŠ”€ ณดธ‹ค. ค‘„ค‘„ ž‹ ˜ ํ˜„žฌ ‹ฌ •„ ํ‘œํ˜„ํ•˜ฉด„œ ธšฉํ•˜Š” ‹œ“ค, ช…–ธ ตฌ ˆ“ค—  „€ ทธ ธšฉํ•œ ‚ฌžŒ“ค˜ ด„“ค ถœฒ˜€ ‚˜™€žˆŠ” ฒƒ„ ณดฉด„œ, ํ•œํŽธœกœŠ” –งˆ‚˜ ํ•™ต—„œ ฒ  €ํ•˜ฒŒ €ฅด˜Š”€, ทธ€ –งˆ‚˜ ฒ  €ํ•˜ฒŒ ณต€ํ–ˆŠ”€€ ณดดŠ” ฒƒ ฐ™‹ค.

ช‡…„งŒ— ฝ—ˆ˜ ทธ˜ …ด 'งˆจํ‘œ —†Š” …ด‹ค' งณ „ ํ•  ด•ธฐฆฌ€ งŽ‹คŠ”ฒŒ ‹คํ–‰ŠคŸฝฒŒ ŠปดกŒ‹ค. (…˜ ž…žฅ—„œ‚˜ ‚˜˜ ž…žฅ—„œ‚˜)

ฅด„ƒŠค ํดŸฝ

ทธ ค‘ กฐ‹ฌŠคŸฝฒŒ  ‘ํ•˜Š” ฒƒด '€กœงˆŸฌ ƒฐํ•˜ธฐ' ด‹ค. ดŠ” •„ง 1002€ Good Reader / Good Listener € •„‹ˆ—ฌ„œดธฐ„ ํ•œฐ, …„ ํ•œฒˆ ฝณ  ทธ ‚ดšฉ— Œ€ํ•ด  œŒ€กœ ดํ•ด ํ•˜งˆ ชปํ•œ‹ค. ทธŸฌํ•œ ƒํ™ฉ—„œ ‚˜˜ €ด  € ฐœž…˜–ด„ฆฌฉด, ทธ …— Œ€ํ•ด –ป„ ˆ˜ žˆŠ” ฒƒด ทธงŒํ ™œณก˜–ด„ฆฐ‹คณ  ƒฐํ•ด„ฆฐ‹ค. NoSmok:ทธ“ฃธฐ˜ œ šฉํ•จ„ •Œธด ํ•˜€งŒ.

€Œ”. ํ•˜€งŒ, '€กœ€ฅดธฐ'Š” ต‰žฅํžˆ ค‘š”ํ•œ ‚ฌณ  ฐฉ‹ด ƒฐํ•œ‹ค. œ —ฐํ•œ ‚ฌณ € €Šฅํ•˜ณ , ˜ œปํ•˜€ •Š€ •„ด””–ด –ป„ ˆ˜ žˆ„ฒƒด‹ˆŒ. (ด „˜ Metaphor ƒฐํ•˜ฉด ””š.)

•”ํŠ, ‘€€€ ƒŒ€˜Š” € •„‹ˆ‹ˆŒ. •”ํŠ. ทธ  „— ตญ–ด/˜–ด …ํ•ดŠฅ ฅด  €ตฐ.;;

28 (ชฉ): ํ•˜“œ †ŒŠค & ฌธ„œ  •ฆฌ. ProjectPrometheus „ทธ ˆ˜ •

ธฐกด— ž‘„ํ•œ †ŒŠค“ค€ ณจฆฌ‹ค. ด ‚˜ค‘—„ ดšฉํ•˜ž‹ˆ ‚ก€ †ŒŠคฒƒดณ , ทธ ‡‹คณ  „ฆฌธฐ—” ํ•ด‹ „• ณต€ํ•˜ธฐ— €žฅ ‰ฌšด †ŒŠคดณ .. (ฌธ„œ“ค„ งˆฐฌ€€. †Œœ„ ํŒปฐœกœ ถˆฆฌŠ”.)
ด „— 1002/…ƒ •ฆฌ € ƒฐด ‚˜„œ, ํ•˜“œ •ˆ— žˆŠ” †ŒŠค, ฌธ„œ“ค— Œ€ํ•ด ข…˜ LRU •Œณ ฆฌฆ˜„ ƒฐํ•ดณดธฐกœ ํ–ˆ‹ค. ฆ‰, Recent Readed Š” ”” ‰ํ† ฆฌ งŒ“คณ , ตœ— ํ•œฒˆด„ “œฆฐ ฝ”“œ, ฌธ„œ“ค€ Recent Readed ชฝ— ณต‚ฌ ํ•˜Š” ฒƒด‹ค. ทธฆฌณ , ฝ—ˆ˜ †ŒŠค— Œ€ํ•ด„œŠ” ดธŒŸฌฆฌํ™”ํ•˜Š” ฒƒด‹ค. ด ‡ฒŒ ํ•ด„œ ํ•œ 6ฐœ›”€‚œ’ค,  •ฆฌํ•ด„ฆฌฉด ˜ฒ € ํ•˜Š” ƒฐ.

€ธˆ ด „ …ธž˜ฐฉ ํ”„กœทธžจ งŒ“ค•Œ ดšฉํ–ˆ—ˆ˜ Audio Compression Manager €„ ดšฉํ•˜ณ  ํ•˜ฉด •„งˆ ‹ค‹œ –ด–ปฒŒ API ดšฉํ•˜Š”€ ํšŒƒํ•˜Š”ฐ 2ฆดฒƒด‹ค. DX Media SDK €„„ ‹ค‹œ ดšฉํ•˜ณ  ํ•˜ฉด •„งˆ ํ•˜ฃจ •„ Spike € ‹ค‹œ ํ•„š”ํ•  ฒƒด‹ค. ฆ‰, ด „— งŒ“ค–ด†“€ †ŒŠค€ žˆ‹คณ  ทธ €‹ด ํ˜„žฌ ‚˜˜ €ณ  ํ•˜ธฐ—” ฌธ œ€ žˆ‹ค.

ธฐกด˜ ฝ”“œ“คดž€ ํ•œํŽธœกœŠ” ‚ฌžŒ„ ฒŒœฅดฒŒ ํ•˜Š” ›™ ฅธ ฒƒ ฐ™‹คŠ” ƒฐด “ ‹ค. –ด„คํ”ˆ žงŒ‹ฌ„ งŒ“ค–ด‚Ÿฐ€„ ชจฅธ‹ค. ทธž˜„ —ฌ „ํžˆ €šฐ€ ชปํ•˜Š”ด.. ทธ•Œ ดฆฌ €ฆฌ  •‹ —†ด žฃŒ ชจœฉฐ ‚ฝงˆํ•˜ณ  ขŒ ˆํ–ˆ„•Œ€ ƒฐ‚˜„œŒ.

•”ํŠ. –ธ  € ‹ค‹œ ‚ด €€ ˜ธฐ.

----
Prometheus ฝ”“œ ‹ค‹œ checkout ํ•˜ณ  UnitTest „ €„„ ณดฉด„œ ธฐกด˜ TDD „ํ–‰ ณดํญด –งˆ‚˜ ปธŠ”€€ ณด˜€‹ค. (‹ค‹œ Green Bar ณดดฒŒ” ํ•˜ธฐ— „ํ–‰ํ•ด• ํ• ด งŽ•˜œ‹ˆŒ. Extractor Remote Test € no matched ( •ทœํ‘œํ˜„‹—„œ งค‹คํŒจ)กœ กŒ„•Œ ƒฐํ•ด• ํ•  ด ‘€€ด‹ค. ํ•˜‚˜Š” HTML ด  œŒ€กœ ฐ›•„กŒŠ”€(˜Š” HTML ด „„œ€—„œ˜ —Ÿฌฝ”“œ ฐ˜ํ™˜ํ•˜Š”€), ํ•˜‚˜Š” extractor € ทธ ตฌ‹ค„  œŒ€กœ ํ•˜Š”€. ทธŸฐฐ, ํ…ŒŠคํŠธ ฝ”“œ ณดฉด  € ‘€€€ ฌถ—ฌžˆ‹ค.

ทธฆฌณ   •ทœํ‘œํ˜„‹„ ดšฉํ•œ extract € —ฐ 'The Simplest Thing' ŒŠ” ƒฐ„ ํ•˜ฒŒ ˜—ˆ‹ค. ˜ฌฐ”ฅธ  •ทœํ‘œํ˜„‹„ ฐพ•„‚ด• ํ•˜ณ , ทธŸฌ‹คณดฉด ฐดํ„ฝ”“œ™€  •ทœํ‘œํ˜„‹ด ข…˜ Duplication „ งŒ“ค–ด‚ธ‹ค. (ํŒŒ‹ํ•˜ คŠ” ฌธ„œ˜ €€  •ทœํ‘œํ˜„‹— “ค–ด€€กœ) ทธฆฌณ  RE Š” RE ฌธฒ•„ •„Š” ‚ฌžŒดฉด ชจฅดฒ €งŒ, ทธ ‡€ •Šณ  ง‰—ฐํ•œ ฒฝšฐ— TDD ํ•  ฒฝšฐ Try and Error ‹œกœ  ‘ํ•ด„ฆด ˆ˜ žˆ‹ค. (‚˜˜ ฒฝšฐŠ” ด „ œกœ ํ•˜ธฐ œ„ํ•ด ํ‘œณธด ˜Š” ฐดํ„ ž‘ฒŒ ‹œž‘ํ•œ‹ค.) extract ˜ 'Simplest Thing' Š” find & substring ฒƒดž€ ƒฐ„ ํ•ดณธ‹ค.

ทธฆฌณ , „„œ€ UI € ฐ”€Œ—ˆ„ ฒฝšฐ— Œ€ํ•œ Œ€ฒ˜ฐฉ•ˆ— Œ€ํ•ด„œ ดฆฌ €ฆฌ •„ด””–ด ถฆฌํ•ด ณด•˜—ˆŠ”ฐ,  •ทœํ‘œํ˜„‹€„„ ”ฐกœ ––ด‚ด–ด ™ธ€ํ™”กœ ‘˜€ (ด ‡ฒŒ ํ•˜ฉด ปดํŒŒํ•˜€ •Š•„„  •ทœํ‘œํ˜„‹„ ˆ˜ •ํ•˜ฉด œ‹ค) ˜Š” HTML „  „€ Parsing ํ•˜—ฌ DOM ํŠธฆฌ งŒ“ ’ค ํ•ด‹ …ธ“œ˜ Position “ค— Œ€ํ•ด ”ฐกœ ™ธ€ํ™”กœ ‘˜€ (ดŠ” ถ”ํ›„ ข…˜ extractor tool กœ ‚ ˆ˜ žˆ„ ฒƒด€กœ) ํ•˜Š” •„ด””–ด€ – ˜ฌž‹ค.

----
To Do List ˜ ค‘š”„

Extract €„— Œ€ํ•ด „ˆฌด ํ…ŒŠคํŠธ˜ ‹จœ„€ ํฌ‹คณ  ํŒ‹จ, ด €„„ ฒ˜Œ€„‹ค‹œ TDDกœ ž‘„ํ•˜˜€‹ค. Bottom Up Šคํƒ€กœ ž‘€ ‹จœ„€„ฐจฐจ „ํ–‰ํ•˜˜€‹ค. ทธŸฐฐ To Do List ž‘„„ •ˆํ•˜‹ˆŒ, ค‘„— ž  ง‘ค‘„€ ํ’€–ดกŒ„•Œ ˜‘ฐ™€ „ ํ•˜Š” ‹คฅธ ฉ”†Œ“œ“ค„ งŒ“ค–ด„ฆฐ ฒƒด‹ค.

Top Down œกœ  ‘ํ•˜—ฌ ํ•ด‹ ฉ”†Œ“œ€ ํ•„š”ํ•ด€Š” „ ฆฌ งŒ“ค–ด‚ด‚˜, To Do List ž‘„, Bottom Up œกœ  ‘ํ•œ‹ค ํ•˜”„ ถ œกœ ตฌํ˜„ํ•˜ คŠ” ชฉํ‘œ€ํ–ฅ ด ช…ํ™•ํ•˜ฉด ธธ„ ํ—คงฌ ด —†‹คŠ” ฒƒ„ ‹ค‹œธˆ žฌฐจ ํ™•ธํ•˜ฒŒ ˜—ˆ‹ค.

4 (›”): ˜–ด ณต€, XP Installed ํ•œ„œ ฝธฐ

š”ƒˆ ˜–ดณต€ –ด–ปฒŒ ํ• Œ ถฆฌค‘, Œ€ฐ• ‹คŒ˜ „‹จํ•œ ํ”„กœ„Šค งŒ“คณ  „ํ–‰ํ•ดณดธฐค‘.

  • technetcast ค‘ €‹ฌžˆŠ”ฒƒ„ •Œ•„“ฃชป•Œ•„“ฃด ํ•œ 30„„ “ฃณ 
  • 504 absolutely essential words ต‰žฅํžˆ Šฆฐ†„กœ ดšฉํ•˜ณ  (š” 4„, ํ•˜ฃจ ‹œ„‹ ‹จ–ด 4ฐœ”ฉ ‚˜„‹ค. ธฐ žˆŠ” ‹จ–ด œป ณดณ , ตฌฌธ„ ฝ€’ค, ํ•œฒˆ Šฌฉ ณดณ  ตฌฌธ ‚ดšฉ„ – ˜ฌฆฌฉด„œ ›ฌธ„ žฌํ˜„ํ•ดณดธฐ‹œกœ „ํ–‰ํ•˜‹คณด‹ˆ ฝค Šฆฌ‹ค. จธฆฟ†—„œ ˜–ดกœ € ‹คฅดฒŒ ํ‘œํ˜„˜–ด  €žฅ˜ธฐ„ ํ•œ‹ค.)
  • ›„œ … ฝธฐ.
‹จ š” 3„ „ํ–‰ & €ฐฐค‘. ‹จ ชธœกœ Šปดณธ €ฐฐ— ˜ํ•˜ฉด,
  • ˜–ด “ฃธฐ ดํ›„ ˜–ด ‹จ–ด —ฐŠต & ตฌฌธ ธฐ•ŒŠ” „ํ–‰ด งค„Ÿฝ‹ค. …„ ฝธฐ  „—, •Œ•„“ฃ„ ชปํ•˜”„ technetcast „ “ฃณ  ‚˜ฉด, …„ ฝ„ •Œ ฆฌ“ฌด ž˜ žกํžŒ‹ค.
  • ด „˜ ณ “ํ•™ต‹œกœ ํ• • ˜ ํ•˜ฃจ ‚˜€Š” ‹จ–ด€ 20ฐœ€ „˜–ด„œ.; ํ•˜€งŒ, €ธˆ 4ฐœ ‚˜ฐˆ•Œ—” ํ™•‹คํžˆ žฌ„ žˆณ , ํ•ด‹ ƒํ™ฉ— Œ€ํ•ด ฝฉ€ฆฌ‰ฌงˆ จธฆฟ†— ˜–ดฌธžฅด งŒ“ค–ด„‹ค. ด— Œ€ํ•ด„  3 •„ ” €ฐฐํ•„š”. •”ํŠ žฅ /‹จ € ดํ•ด„ : †„. ‹จ€ ‚œ  „ž ํƒํ•˜ ค ํ•œ‹ค. –ดฐจํ” ž˜ ชปํ•˜Š” …€„ด‹ˆŒ ญ˜ ํ•˜“  ํšจœจ –จ–ด€Š”‹—ฐํ•˜‹ค ƒฐํ•˜ธฐ •Œฌธ—.
  • technetcast ™œ —ฌ€ป  œŒ€กœ •ˆดšฉํ–ˆ„Œ. Ron •„ €”จž‘ Bob •„ €”จ, Martin Fowler Š” ‚ฌžŒ˜ ชฉ†Œฆฌ “ฃฒŒ ˜—ˆตฐ. ‚ดšฉ€ “ฃณ  ‚œ ’ค—”  œŒ€กœ ธฐ–ต‚˜„ •Š€งŒ. (˜–ดกœ “ค—ˆŠ”ฐ ธฐ–ต„ žฌƒํ•ด„œ š”•ฝํ•˜ ค‹ˆ, ˜–ด š”•ฝ„ ํ•ดณธ ด —†Š” €„กœ จธฆฟ†—„  ํ•œ€กœ˜ ฒˆ—ญž‘—…ด ํ•„š”ํ•˜‹ค. ˜–ดกœ ‚ฌณ € €Šฅํ•˜‹คฉด, •„งˆ จธฆฟ†—„  ˜–ดกœ š”•ฝํ• ณ ..) ‹จ งˆŒ„ „šฐณ   •„ “ค–ดŒ.
ฐœ„ •ˆ ถฆฌ
  • ˜–ด “ฃธฐ— Œ€ํ•œ ฐ›•„“ฐธฐ žฒด  € —ฐŠตํ•ดณดŠ”ฒƒด ˆœ„œ ฒƒ ฐ™‹ค. technetcast ค‘ 10„งœฆฌ งง€ ธํ„ทฐ— Œ€ํ•ด ฐ›•„“ฐธฐ —ฐŠต„ ํ•ดณดŠ”–ด–จŒ. (‹จ, งžŠ”€ ํ™•ธํ•  ŠคํฌฆฝํŠธ€ —†Š”ฒŒ ‹จ ดตฐ)
    • ˜–ด“ฃธฐ —ฐŠต€ ด „— œตฌ€ ˜–ดณต€ „™€„•Œ ํ–ˆ—ˆ˜, …ธž˜€‚ฌ ฐ›•„ ธฐ ํ•˜Š”ฒŒ ํ‹€ ธŠ”€ ํ™•ธํ•˜ธฐ„ ํŽธํ•˜ณ  žฌžˆ„ ฒƒ ฐ™‹ค.
  • ‚˜จธ€“ค€ ‹จ „† ‹คํ—˜ & €ฐฐ.
XP Installed ํ•œ„œกœ ‹ค‹œ  •…„ ํ–ˆ‹ค. ˜–ดกœ ฝ—ˆ„•Œ จœ คŠ” €„— Œ€ํ•œ Œ€ฐ•˜ ‚ดšฉ ํŒŒ•…œ„กœ ฝ–ด„œ ทธŸฐ€, ด   ถ” • €„ ฐ™€ ฒƒ„ ˆˆ— “ค–ด˜คŠ”. ดŸฐ.

•”ํŠ, „†. „ต€ จธฆฌ œ„ํ•ด. (ฐˆˆ˜ก € ํ˜•‹ด 3FS — •ˆงžŠ”ตฐ)

10›”

31 (ชฉ): Seminar:YoriJori Pair

VPP กœ „ํ–‰. ํ•œ™•ˆ ††“ณ  žˆ–ด„œ ฐœธ œกœ •ฝ„  •ด •ž„Š”ฐ, ‘”จ€ Pair ž˜ํ•ด—ˆ‹ค. ํ”„กœ ํŠธ ฐธ—ฌ„€ €žฅ †’•„„œ ทธŸฐ€ ชจฅดฒ €งŒ, ํ•  — Œ€ํ•ด ฆ‰ฐ œกœ ํ•ดฒฐ…„ ƒฐํ•ด‚ดŠ” ชจŠตด  •ง Œ€‹จํ–ˆ‹ค. 2‹œ„™•ˆ˜ ž‘—…„ ‹œ„ํฅธ€ ชจฅธ„ ฆฒฒŒ „ํ–‰ํ–ˆ‹ค.

Editplus กœ VPP „ํ–‰ํ•˜Š” ํ•œชฝฐฝ— to do list  —ˆŠ”ฐ, VPP ธ ฒฝšฐ ํ•œ‚ฌžŒด todolist  Š” ™•ˆ, “œด„€ ฝ”“œ žก€ ชปํ•œ‹คŠ”ฒŒ ํ•œํŽธœก  ‹จ ดš”, ํ•œํŽธœก  žฅ  ฐ™ธฐ„ ํ•˜‹ค. ‹จ€ ถฆฌ.

ํŠ • ํŒ€›˜ ํ† ก ด ํ•„š”ํ•œ Task ™ธ—” „‹คฅธ –ด ค›€ —†ด ž˜ „ํ–‰˜—ˆ‹ค. Virtual Pair Programming —„œ„ VIM ‹จถ•ํ‚ค“ค„ ฐฐ› ‹ค.; ctrl + v, shift + v ชฐ„œ งคฒˆ ํ• •Œ Help ’คกŒ‹ค Œณ  ทธžฌ˜ฒƒ ฐ™€ฐ,  œŒ€กœ ตํž“ ํ•˜‹ค.

----
Conceptual Integrity — Œ€ํ•ด ฐพ•„ณด˜ค‘ ฆฌ— ฆฌ ณ  …ฌธ„ ณด‹ค€ ˜™ธ˜ €„ ณดฒŒ ˜—ˆ‹ค.
http://www.utdallas.edu/~chung/patterns/conceptual_integrity.doc - Design Patterns as a Path to Conceptual Integrity Š” € ทธ € € จ, Design Patterns As Litmus Paper To Test The Strength Of Object Oriented Methods Š” €„ ณดฒŒ ˜—ˆŠ”ฐ, http://www.econ.kuleuven.ac.be/tew/academic/infosys/Members/Snoeck/litmus2.ps ด‹ค. ””žธํŒจํ„˜ ƒ„„ € จ, RDD ™€ EDD € –ธธ‰ด ˜Š” “ ํ•˜‹ค.

29 (ํ™”): ํ™”ดํŠธํ—ค“œ •ฒ ํ•™˜ดํ•ด ฝธฐ € จ.

ณต€Š” ฒƒ— Œ€ํ•ด จธฆฟ† ƒฐ„  •ฆฌ ํ• • †— žกํžˆŠ” …ด ด„˜ธฐŠฅ ํ™”ดํŠธํ—ค“œ •ฒ ํ•™˜ดํ•ด ด‹ค. (ฐ™€ …งŒ žกœ‹ˆŒ œ„ํ—˜ํ•œ€„ ชจฅดฒ ‹ค.) š” ‚ฌด ญ”€ จธฆฟ†ด ํ—ˆ „ํ•˜‹ค. ญ”€€. ํ•จ •ด žˆŠ” “ํ•œ.

21, 22, 23 (›”, ํ™”, ˆ˜): Freechal Album Grabber ž‘„ค‘.

•„Š” ‚ฌžŒœกœ€„€ํƒ„ ฐ›•„„œ ž‘„ค‘. ดธ ํ”„ฆฌ ฒŒ‹œํŒ —… ํ”„กœทธžจ€  œกœณด“œ‚˜ ด€ณด“œ, “œœ„ฆˆ “—„œ งŒ“ค–ดกŒŠ”ฐ, •จฒ”/žฃŒ‹ค ถ”ถœ€ •„ง ดฃจ–ด€€ •Š•˜‚˜ ณด‹ค. ญ, กฐธˆžˆœฉด ‚˜˜ฌ ฒƒ„ ฐ™€ฐ.. ทธƒฅ ฐœธ œกœ —ฐŠตฒธ งŒ“ค–ดณดฒŒ ˜—ˆ‹ค.

Python ดšฉ.  ‹ํžˆ TDD ™€ ค‘„ UP Front „ž—ˆ‹ค. (CRC™€ UML„ ดšฉ) ˜  •ทœํ‘œํ˜„‹ด‚˜ find “„ ดšฉํ•œ ŠคํŠธง ํŒŒ‹ …ธ€‹คธ‰ด€งŒ, ํ•˜ฃจ ž‘—…˜ณค ƒฐณด‹ค งŽด ‚˜„ ฒƒ ฐ™‹ค.

1ฐจ œกœ CRC ดšฉํ•˜—ฌ „‹จํ•œ Conceptual Model „ งŒ“ ’ค, TDD กœ ฐœฐœ ชจ“ˆ„ ž‘—…ํ–ˆ‹ค.

ค‘„ ฐœฐœ˜ ชจ“ˆ„ ํ†ตํ•ฉํ• •Œ— ด „— ƒฐํ•ด‘” ””žธด  œŒ€กœ ธฐ–ตด ‚˜€ •Š•˜‹ค.; ด•Œ Sequence Diagram „ ทธฆฌฉด„œ ํ”„กœทธžจ˜ ํ„„ ฒœฒœํžˆ ƒฐํ–ˆ‹ค. –ดŠ •„ „ํ–‰œ ฐ”€ žˆณ , ฐœฐœํ•˜ฉด„œ ฐœฐœ„ ชจ“ˆ— Œ€ํ•œ ธํ„ฐํŽ˜ดŠค“ค„  •ํ™•ํžˆ •Œณ  žˆ—ˆธฐ •Œฌธ—, Conceptual Model ณด‹ค ” ตฌฒด ธ Upfront กœ €„ „ ฌดฆฌ€ —†‹คณ  ํŒ‹จํ–ˆ‹ค. ‚ด€ งŒ“  ชจ“ˆ„ ข…˜ Spike Solution ฒ˜Ÿ  ‘ํ•˜ณ , ‹ค‹œ TDD “ค–ด€ณ  ํ•˜‹ˆŒ ค‘„ ง„ž„ —†ด ˜ ‚ฌฒœฆฌกœ ž‘—…ํ•˜ฒŒ ˜—ˆ‹ค.

  • TDD˜ ํ…ŒŠคํŠธ“ค€ งˆ˜ ชจž˜จธ‹ˆ ฐ™‹ค. ฌตงํ•œ Š‚Œ„ ฉด„œ ํ”„กœทธž˜ฐ ํ•œ ฒƒ“ค„ ดํ•ดํ•˜ฒŒ ํ•˜‹ˆŒ. ทธฆฌณ , ฐˆˆ˜ก ŠŠ” ฒƒด€งŒ, ํ…ŒŠคํŠธ —†Š” ฆฌํŒฉํ† ง€  •ง ƒƒํ•˜ธฐ –ด ต‹ค. š”ƒˆŠ” ค‘„ค‘„ ํ…ŒŠคํŠธ ž‘„ํ•˜€ •ŠŠ” ฝ”“œ“ค„ ดšฉํ•˜ณ  žˆ‹ค. กฐ‹ฌŠคŸฝธด ํ•˜€งŒ, ชจ“ˆ˜ ณตžก„,ค‘š”„— ”ฐ  ‹ํžˆ ณจ“ธ ˆ˜ žˆ„ ฒƒ ฐ™‹ค.
  • š”ƒˆ“ค–ด ‹ค‹œธˆ Š€งŒ, vi กœ ํŒŒดฌ ํ”„กœทธž˜ฐ ํ•˜Š”ฒŒ €žฅ ํŽธํ•œฒƒ ฐ™‹ค. cygwin „ “ฐ‹ˆŒ œˆ„šฐด ZP „ •ดž‘—…Šคํƒ€ด ˜‘ฐ™•„„œ ข‹‹ค. ทธฆฌณ , command œ„˜ ž‘—…ํ™˜ฒฝ€ ‚ด€ ํ•˜ คŠ” — Œ€ํ•ด ช…‹œ œกœ ƒฐํ•˜ฒŒ” ํ•˜Š” ํšจ Š”ฒƒ ฐ™‹ค. NoSmok:‹จ —„œ˜คŠ”žฅ ดž„Œ.
  • 3 ฝ”“œ ƒ‚ฐŸ‰ 691 ธ. ํ…ŒŠคํŠธ ฝ”“œ 245ธธค‘.
  • ˜ˆ „ PHP ํ”„กœทธž˜ฐ ํ• •Œ งจ‚   œกœณด“œ †ŒŠคณดฉด„œ š•ํ–ˆŠ”ฐ -_-; (ณดณ  ฐฐšธ †ŒŠค •„‹ˆ‹ค ‘ฅ‘ฅ, ™œ Šคํ‚จ œž‘ํ•˜Š” ‚ฌžŒ“คด †ŒŠค ˆ˜ •ํ•˜—ฌ ธฐŠฅ“ค„ งŒ“ค–ด‚ด• ํ•˜Š”€ ““ -_-.. ””žธ œกœ ทธฆฌ ณดณ  ฐฐšธ ฒƒด •„‹ˆณ  ƒฐํ–ˆธฐ •Œฌธ. ทธƒฅ …ธ€‹ค ฝ”“œณ  ƒฐ.)
ฐ.. žธฐ ํ•™ตˆ˜—… “คœฉด„œ ˆ˜งŽ€ ‚ฌžŒ“ค˜ ‚ฌž‘„ ฐ›Š” „ „ 4.0 ดƒ„ ฐ”ณดŠ” ํ”„กœทธžจ งŒ“œŠ”ฒŒ –ด”” ‰ฌšดŒ. ””žธ ํ›Œฅญํ•˜ณ  ””ํ•œ ฝ”“œ งŒ“œŠ” ฒƒ งณ  ํ• € งŽ‹ค. ” ค‘š”ํ•œ, ณธ ธ, žธฐ€ ํ•˜ คณ  ํ•˜Š” ˜ ชฉ € ฌด—‡ธ€. Moa:WorseIsBetter
  • •ฝ„ •„‰ฌ›€: ํŽ„งค‹ˆ•„ (http://www.perlmania.or.kr/PDS/pds.pl?mode=view&num=38) ชฝ ํ™œ™ํ•˜‹œŠ” „ด  € ฒ”Ÿฌฆฌ €›ธฐŠฅŒ€ งŒ“ค—ˆ‹ค; ŠคํŠธง ฒ˜ฆฌ— Œ€ํ•ด ํŽ„ชฝ ฐœฐœž€ †ด ”  ฅธ€.. ํ‘; (ก  € „Ÿดํ•˜ฒŒ ž‘—…ํ•œฒƒ„ žˆ€งŒ. -_-)
17, 18  (ชฉ, ธˆ): TDD ธฐ‚ฌ „ํ–‰.

MMM —„œ˜ 'ํ”„กœทธž˜จธ˜ ‚™€˜'€ – ˜คฅดŠ”. -_-;  „‚  ธฐ‚ฌ“ฐ‹ค€ กธ ค„œ žคŠ”ฐ, ธˆš” •„ณ  ํƒˆด ‚˜„œ •„ ธˆด‹ค. ‚ฌžŒด ํ•˜Š” — Œ€ํ•ด„œ ดœ —†Š” ‚™€˜Š”  •‹ํ™”   ˆ˜ —†‹ค. -_-; ˜คŠ˜ ํ•˜ฃจข… ํ† ํ•  ฒƒ ฐ™€ Š‚Œ•Œฌธ— ฃฝ„ €ฒฝธค‘.;

  • ดฒƒ„ ณ‘ธ€ ชจฅดฒ ‹ค. --a „‚˜ ‚ งœ ‹ค€˜ฌ•Œ ฐฅ‹ค ฃฝฒ Š” €ฒฝด‚˜, ธฐ‚ฌ งˆฐ‚ งœ ž„ฐ•ํ•˜‹ˆ ฃฝฒ Š” €ฒฝด‚˜. –ด””  •‹  ˜ฃŒ„ ฐ›•„•ฒ ‹ค. -_-a (ฌด˜‹ œกœ …ž„ฐ•ฐ•€…ฆด˜€, Šค€„€ฆฌˆ™œกœธํ•œ‹ ฒฝ••ฐ•ฆ ธฐํƒ€““ ตฐ‹œ ตฐ‹œ )
  • Šค€„ €ฆฌŠ” ํ™•‹คํžˆ ˆ™ํ–ˆ‹ค. €‚œฒˆ ธฐ‚ฌ “ธ•ŒŠ” Pair ˜€—ˆธฐ •Œฌธ— „Šทํ•œ ‹œ„„ ํ• ‹ํ•ด„œŠ” ณคž€ํ–ˆ‹คŠ” ƒฐค‘. ˜คํžˆ ค 1.5ฐฐ ดƒ„ žกณ  žฌ ฅดฒŒ „ํ–‰ํ–ˆ–ด• ํ–ˆงŒ. ฒฐ‹จ„ ‚ดฆฌŠ” †„€ Šฆฌ‹ค. ฆฌ –ป„ฆฌ –ปณ , ฆฌ „ฆดฆฌ „ ค• ํ•˜ฒ งŒ.
16  (ˆ˜): TDDBE ‹ค‹œ  •…. ธฐ‚ฌ „ํ–‰.

TDDBE PowerReading —„œ˜ ฐฉฒ•„  šฉํ•ด„œ ฝ–ดณด•˜‹ค. ‚ด€ ํ•„š”กœ ํ•˜Š” €„ธ '™œ TDD ํ•˜Š”€?' ™€ 'TDD Pattern' €„— Œ€ํ•ด„œ ํ–ˆŠ”ฐ, —ฌ „ํžˆ  ‘ฒ•€ ดํ•ด œ„กœ ํ–ˆ‹ค. WPM € ํ‰ท  60Œ€. ดํ•ด„Š” ํ•œฒˆ€ 90% (…„ •ˆณดณ  š”•ฝ„ “ธ•Œ Œ€€„˜ ‚ดšฉด ธฐ–ตด ‚ฌ‹ค.), ํ•œฒˆ€ ดํ•ด„ 40%(ด•ŒŠ” ‚ฌ „„ •ˆฐพ•˜—ˆ‹ค.) ดํ•ด„™€ †„˜ ˜ํ–ฅ€ —ญ‹œ ™ธตญ–ด ‹ค ฅ€„ธฒƒ ฐ™‹ค. ‹จ–ด žฒด ชจ•Œ, ชจฅดŠ” ฌธฒ•ด ‚˜™”„ ฒฝšฐ˜ ฌธ œŠ” ฝธฐ ฐฉฒ•˜ ฌธ œ€ •„‹Œ ฒƒ ฐ™‹ค.

š”ƒˆ Summary ํ• •Œ˜ Š‚Œด ฐธ ข‹‹ค. …„ ”–ดŠ”‹คŠ” Š‚Œด “œ‹ˆŒ. †„€ ŠฆฌฒŒ ‚˜˜ค”„. ํ•œ™•ˆ€ ด ฆฌ“ฌœกœ. กฐธˆ”ฉ ˜ฌฆฌธฐ …ธ ฅ…ธ ฅ.

14  (›”): TDD ธฐ‚ฌž‘„ Start,  ํ•  „ •.

–ด œ ‹คด–ดฆฌ …‹ํŒ…ํ•œ ฒƒ„ ดšฉํ•˜ณ , XP —„œ˜ Story  •ฆฌฐฉฒ•„ •ฝ„  šฉํ•˜˜€‹ค. •„ง ฐ Story — Œ€ํ•ด„œ Task •ˆ‚˜ˆดธฐ •Œฌธ—, ‹จ € ” ํ• “ค— Œ€ํ•ด ตฌฒด ธ „œˆ ด ํ•„š”ํ•˜‹ค.
•„ธฐƒ‹œ„ 7‹œ. To Do List —„œ ž‘€ “ค— Œ€ํ•ด„œŠ” ””ํ•˜ฒŒ ฒ˜ฆฌ. ‹จ, •ฝ„ ‹จœ„ ํฌฒŒ žก€ “ค— Œ€ํ•ด„œ  œŒ€กœ ฒ˜ฆฌ ชปํ•˜˜€‹ค. (2-3‹œ„ ฆด ฒƒด ƒฐ˜Š” “ค) ฐจฆฌ ด “ค„ 1‹œ„ ‹จœ„ “คกœ ” ฐฐ—ˆœฉด –ด– ํ–ˆ„Œ ํ•˜Š” •„‰ฌ›€ด “ ‹ค.

ํ•™ต— „ฐฉํ•˜ณ  ‚œ’ค ํŽ˜ดŠค  œŒ€กœ œ €ชปํ–ˆ‹ค. ํ•™ต „ฐฉ ดํ›„ 5‹œ„— Œ€ํ•ด„œ  œŒ€กœ ํ™œšฉ„ ชปํ–ˆ‹ค. „ ‹œž‘ํ•˜ธฐ  „— „† ง„˜€‹ค. ง„ž„„ „ด คฉด „ €” ช…ํ™•ํ•˜ฒŒ ‚˜ˆ„—ˆ–ด• ํ• ฐ. •”ํŠ.

13  (): ‹คด–ดฆฌ …‹ํŒ…, Moa:ปดํ“จํ„ณ  „Šคํ„””/20021013

‹คด–ดฆฌ …‹ํŒ…„ ํ•˜ฉด„œ ญ ํ•„š”ํ•œ ธฐŠฅ & „ ƒ€—†Š” ธฐŠฅ“ค ถฆฌค‘.
  • To Do List — Œ€ํ•ด„œ Layering ด ํ•„š”ํ•˜‹ค -  „ฒด€„ : €„€„ ž„Œ. XP ฉด UserStory : EngineeringTask ด•ธฐํ•  ˆ˜„ žˆฒ €. EngineeringTask ˆ˜€˜ ฒฝšฐ Index Card € ” ํŽธํ•˜ธด ํ•œฐ, ณด€ํ•ด• ํ• ด ƒธธ•Œ ฌธ œ‹ค. (ํŠํžˆ 2-3กœ ‚˜ˆ„–ด„œ ํ•˜Š” ž‘—…˜ ฒฝšฐ) ด‹คด–ดฆฌ ค‘„ค‘„— ปด†“Š” ฐฉฒ•œกœ ํ•ดฒฐ˜ˆ •. (ตฌฉ 3ฐœงœฆฌ ‹คด–ดฆฌšฉ ธŠค“œŠ” —†„Œ. -_a ํ‰†Œ—” ณด€ํ•˜‹ค ํ•„š”ํ•˜ฉด œ–ด„œ “ฐณ ; ํฌŠคํŠธž‡ด ” ‚˜„Œ.)
  • ฐœธ ‚ฌƒ‰„ “ธ ณต„ € - „Šค—„œ ค‘„ค‘„ – ˜คฅดŠ” ‹จƒด •„‰ฝ‹ค. (ดŠ” š”ƒˆ 3 x 5 ธŠค“œ ถฉ „(?)ํ•˜€ •Š€ฒŒ ฌธ œธ“ ํ•˜‹ค.)
  • WPM กœทธ ž‘„ - กœ —ฐŠตžฅ— Summary ํ•˜Š”ฐ, ธก •ฐดํ„ ชจœธฐ€ –ด ต‹ค. Summary …ธํŠธ ”ฐกœ งŒ“œŠ”ทธฆฌ ›ํ•˜€ •Šณ . (Summary ‚ดšฉ„ ณดŠ” ฒƒณด‹จ Summary ํ•˜ฉด„œ ํšŒƒž‘šฉ„ ํ•˜Š”ฒŒ ” ˜žˆ‹คณ  ƒฐํ•˜ธฐ—) ดทธž˜ํ”„ ทธฆฌŠ” ฒŒ ” ‰ฌšธ ฒƒ ฐ™‹ค. ทธž˜ํ”„Š” ฒ˜Œ ํ‘œงŒ งŒ“ค–ด‘ฉด ํ‘œ‹œํ•˜Š”ฐ 1„„ •ˆ“ ‹คŠ”  —„œ. ทธฆฌณ  ทธž˜ํ”„Š” ชจˆˆ†€ 1ฐœงŒ “ฐฉด ˜‹ˆŒ.
Uninstall & Install
ํ˜„žฌ ‹คด–ดฆฌ ‚ด ธŠคํ†จœ ‹œŠคํ…œ.
  • ํ•œ‹ฌ ํ•  -  „ฒดค‘ ' •ด  •ํ•ด„ ํ–‰œ„' — Œ€ํ•ด œ ํšจํ•˜€กœ †”‘ธฐ
  • ํ•˜ฃจ ํ•  - งค •„จ. ˜Š” ทธ  „‚  ž‘„ํ•˜ธฐ.
  • ธฐƒ ‹œ„ ฒดํฌ ทธž˜ํ”„ - ํ•˜ฃจ 1„ ดšฉ. •„ง 'ฐœ„ ' ‹จ„Œ„ €€ ชปํ–ˆ€งŒ, ‹จ „† ฒดํฌšฉ.
  • ‚™„œžฅ - ด…€„€ ํ•„š”—†„“. •„ด””–ด ถฆฌํ• •ŒŠ” ฐจฆฌ —ฐŠตžฅด ” ํŽธํ•˜‹ˆŒ. ฐจฆฌ Index Card ‚˜ ํฌŠคํŠธž‡œกœ “ฐณ  ค‘„— ถ™ดŠ”ฒŒ ” œ —ฐํ•œ ฐฉฒ•ด ƒฐํ•œ‹ค.
ฐดํ„ค‘ณต˜Š” ฒƒ ‚ญ œํ•˜ณ , ด „ กœทธ“ค  •ฆฌํ•˜ณ .. ดกœ„œ ‹คด–ดฆฌ ‘ป˜ 2/3 œกœ „ดŠ”ฐ „ณต.

•„ง€ ํ•„š”ํ•œ ‹œŠคํ…œงŒ Install ํ•˜Š” ชฉํ‘œ— ถฉ‹คํ•˜„ก …ธ ฅํ•˜ž. Refactoring. NoSmok:ํ•„š”ํ•œงŒํงŒ .
----
Moa:ปดํ“จํ„ณ  „Šคํ„””/20021013

ฐœํ‘œ€„ํ• •Œ …„ 3ฒˆ •„ ฝณ , ‘ฒˆ„ …ธํŠธš”•ฝ •ฆฌํ–ˆ‹ค. ‚˜„Œ€กœ ดํ•ดํ–ˆ‹คณ  ƒฐํ–ˆŠ”ฐ, ค‘„— Œ€ฐ• ดํ•ดํ•œ€„— Œ€ํ•ด ‚ด ƒฐ„ งถ™—ฌ„œ ด•ธฐํ•˜Š” šฐ ฒ”ํ–ˆ‹ค. ‹จ€ ํ…ŠคํŠธ— ถฉ‹คํ•ด• ํ–ˆŠ”ฐ, ํ…ŠคํŠธ— ถฉ‹คํ•˜ธฐ œ„ํ•ด„œŠ” €„ 100% ™„ฒฝํ•˜ฒŒ ํ•ด„ํ•ด„œ ฝŠ”ฒŒ ฒซ ‹จ„ดฆฌ. ด„˜ธฐŠฅ —„œ˜ €šฉ˜ฅ˜ ž„ ‹ค‹œ ƒฐํ•ด•ด•ฒ ‹ค.

ํ…ŠคํŠธ ํ•ด„„  œŒ€กœ •ˆํ• ˆ˜ก ทธ ชจžž€ €„„ ‚ด ƒฐœกœ „šฐ คณ  ํ•˜Š” „ํ–ฅด ณดธ‹ค. ฒฝ„€ ํ•„š”ํ•˜‹ค. ™œ PowerReading —„œ, ชจฅดŠ” ‹จ–ด— Œ€ํ•ด„œŠ” ฐ•ฐ• ฐ˜“œ‹œ ‚ฌ „„ ฐพ•„ณดณ  ํ–ˆŠ”€,  €ž - …ž™€˜ Œ€ํ™”ํ•˜Š” ž…žฅ—„œ ‹จ  €ž˜ ƒฐ„  œŒ€กœ ดํ•ดํ•˜Š”ฒŒ  €ธ€, ˜คŠ˜ ‹ค‹œ Šˆ‹ค. Š‚Œœกœ ‚˜€ •Š•„•ฒ ‹ค.

  • 'ดํ•ดํ–ˆ‹ค' กœ ŠŠ” ฒƒ ทธ„ช…ํ•˜ธฐ œ„ํ•ด ™„„œ €กœ  •ฆฌํ•˜ณ , ทธงกœ ํ•˜ธฐ œ„ํ•ด„œ ํ•ด•ํ• € ‹คฅธ ฒƒ ฐ™‹ค.
  • Opening Question ด €ํ–ˆ‹ค. ฐœธ  ฒฝํ—˜ ฒฐ€‹œœ„œ งˆฌธํ•ด ˆ˜ žˆ—ˆ„ฐ. •„Š” „ ฐฐ (ญ ป”ํ•˜€งŒ) € Œ€ํ™” ํ• •Œ  •ง ž˜ํ•˜Š” ธฐˆ ค‘ ํ•˜‚˜€   ˆํ•œ งˆฌธฒ•ด‹ค. „„ด ํ•„š”ํ•˜‹ค.
12  (ํ† ): Seminar:PosterAreaBy1002 , 2ฒˆงธ ฌธ œ.

ดฒˆ—Š” TDD กœ ํ•˜˜, TDDชฝณด‹คŠ” PBI — ” •ˆ„ ‘ณ  ํ–ˆ‹ค. ดŸฐ ˆ˜ํ•™ณต‹ ตฌํ•˜ธฐ Šคํƒ€˜ ฌธ œ˜ ฒฝšฐŠ” StepwiseRefinement ™€„ ฐ™€ PBI€ ต‰žฅํžˆ œ šฉํ•˜‹คŠ” ƒฐด “ ‹ค. ฒซฒˆงธ ฌธ œ ํ’€•Œ ฝ”“œ-ํ…ŒŠคํŠธ-žฌ •˜ ‹œกœ(ค‘ณตณด‹คŠ” žฌ •˜— ” ‹ ฒฝธฐ •Œฌธ—) „˜–ด€Š”ฒŒ ˜ 1„„ „˜–ด€€ •Š•˜‹ค.

ฒ˜Œ—Š”
~cpp 
int calculateVisiableBoxSize 
        (int x1,int y1, int x2,int y2, int x3, int y3, int x4, int y4) { 
         
        return 14; 
} 

void testCalculate () { 
        assert(calculateVisiableBoxSize(2,3,5,8,4,7,6,10) == 14); 
}

void test() { 
        testCalculate(); 
} 
กœ ‹œž‘ํ•˜—ฌ.
~cpp 
        int boxSize=15; 
        int coverBoxSize=1; 
         
        return boxSize-coverBoxSize; 
~cpp 
        int boxSize=(5-2)*(8-3); 
        int coverBoxSize=1; 
} 
~cpp 
        int boxSize=(5-2)*(8-3); 
        int coverBoxSize=(5-4)*(8-7); 
~cpp 
int getCoverBoxSize     (int x1,int y1, int x2,int y2, int x3, int y3, int x4, int y4) { 
        return 1; 
} 
.
.
       int boxSize=(x2-x1)*(y2-y1); 
       int coverBoxSize=getCoverBoxSize(x1,y1,x2,y2,x3,y3,x4,y4); 
—ฌธฐ„œ ‹ค‹œ ฌธ œ ‚˜ˆ„—ˆ‹ค. Cover Box. ฆ‰ • ํ•˜Š” ฐ’„ ตฌํ•˜Š” ฌธ œงŒœกœ ํฌปคŠค ขํ˜”‹ค. „ˆฌด‚˜„ ช…ํ•˜ฒŒ ณดดธฐ—. ทธฆฌณ  ํ…ŒŠคํŠธ €ดŠค ฆ€‹œœ ‚˜€ฉด„œ ฝ”“œ Š˜ ค€Š” ‹œกœ งŒ“ค—ˆ‹ค.
~cpp 
int getCoverBoxSize     (int x1,int y1, int x2,int y2, int x3, int y3, int x4, int y4) { 
        return 1; 
} 

void testGetCoverBoxSize() { 
        assert(getCoverBoxSize(2,3,5,8,4,7,6,10) ==1); 
} 

ญ. OO กœ ํ•  ˆ˜„ žˆ—ˆ€งŒ (•„งˆ Box Object งŒ“คณ  ‘ฐœ˜ intersect box create ํ•œ’ค, ฐฐ˜ box —ฒŒ area –ดณดŠ” ‹ด ˜—ˆ„“.)  ฅธ ฐ’ด ‚˜˜คŠ”ฒŒ ‹จ ด› „ งžถฐณด•˜‹ค.

‹จ, OO Style ˜ ฝ”“œ— Œ€ํ•ด„œ PBI „ˆฌด ฐ•กฐํ•˜‹คณดฉด StructuredProgramming — ” €Œšด OO € ˜€ •Š„Œ ํ•œ‹ค. PBIŠ” TopDown ด€กœ.
‚˜Š”  ˆŒ€กœ •„‹ˆณ  ƒฐํ•œ‹ค. PBI™€ OOŠ” งต ด‹ค. งŒ•ฝ, „ฉ”ธ ชจธ ˜คธŒ ํŠธกœ "‚ฌณ "ํ•˜ณ  "˜„"ํ•œ‹คฉด OO ธ ฝ”“œ€ ‚˜˜จ‹ค(see Seminar:PosterAreaByJune ). DDD ฐธณ ํ•˜ธธ. --JuNe
 œ€ Structured กœ ‚ฌณ ํ–ˆธฐ •Œฌธ— Structured Šคํƒ€กœ TopDown ˜—ˆ‹คŠ” ƒฐด “œ„š”. OO กœ TopDown „ ชปํ•˜Š”ฒŒ •„‹Œฐ. „ˆฌด ‹จˆœํ•˜ฒŒ ƒฐํ–ˆตฐš”. --1002

‘ฒˆงธ ฌธ œ— Œ€ํ•ด„œŠ” STL — ตˆ™ํ•˜€ •Š•„„œ ‹œ„ด 1‹œ„ 18„ด  ธ‹ค. -_-; •ž˜ ฌธ œ€ ˜ 20„ ‚ด— ‚œฒƒ— „ํ•˜ฉด ฝค ˜คž˜ฆฐ …ˆธฐ. ฒ˜Œ ฌธ œ ดํ•ดŠ” ต‰žฅํžˆ „‹จํ–ˆณ ,  ‘ ฐฉฒ•„ ฌธ œ ฝž งˆ‹ค 2€€  •„€ ณด˜€‹ค. ฌธ œŠ” ‚ด€ permutation „ ตฌํ•˜Š” •Œณ ฆฌฆ˜„ ชจฅธ‹คŠ” ฒƒด˜€ณ , ง ‘ งŒ“ค–ด• ํ–ˆ‹ค. ญ ทธž˜„ „กœ •ˆ–ด ตฒ ‹ค ‹ถ–ด„œ TDD ‹˜ „‹จํ•œ  ‘„ ํ•ด ณด•˜‹ค. (ํ—‰, †ŒŠค ํ•™ต— ‘ณ  ™”ตฐ. -_-;)

—ญ‹œ  ‘€ TDD, PBI

Œ€ฐ• pseudo code กœ  œฉด
~cpp 
result = permutation("ab")
assertEquals(result[0], "ab")
assertEquals(result[1], "ba")
ทธฆฌณ  ด— Œ€ํ•ด„œ ตฌํ˜„ํ•˜ณ  (€žฅ „‹จํ•œฐ”กœ vector — ab,ba „Š”ฒƒ) ํ…ŒŠคํŠธ Š˜ ธ‹ค. ํ•œ‹จ„งŒ Š˜ฆฌณ  ฐ”กœ •Œณ ฆฌฆ˜ด ‚˜˜ฌ ฒƒ ฐ™•˜‹ค.
~cpp 
result = permutation("abc")
assertEquals(result[0], "abc")
ทธฆฌณ   ‘„ ํ–ˆŠ”ฐ, „ˆฌด •Œณ ฆฌฆ˜ œกœ  ‘ํ•˜ คณ  ํ–ˆ‹ค. (žฌ€ํ˜ธถœ„ ดšฉํ•˜Š” ‹œกœ.. ˜ ฐ˜ํ™”‹— €ฒŒ) ดˆฐ˜ 10„ •„ ทธ •„ จœ‹ˆ „ˆฌด ‹œ„ด •„Œ›Œ„œ, ‹จ€ abc žฒดงŒ ํ†ตํ•˜ธฐ œ„ํ•ด …ธ ฅ„ ํ–ˆ‹ค.

ทธŸฌฉด„œ Œ€ฐ• ‹คŒ˜ ฝ”“œ Šคํƒ€ด ‚˜˜จ ฒƒ ฐ™‹ค. ( € ‹จ„ณด‹ค ” ž‘€ ‹จ„€ žˆ—ˆŒ. „ ํƒด a ํ•˜‚˜งŒ.)
~cpp 
permutation (str, selectable, position) {
   if (position == str.size() - 2) {
      vector<string> result
      result.push_back(selectable)
      reverse(selectable.begin(), selection.end())
      result.push_back(selectable)
      return result
   }
   for select in selectable:
      result.push_back(select)
      nextSelectable=removeFrom(selectable, select)
      subresults = permutation(str, nextSelectable, position+1)
      for subresult in subresults:
           .
           .
           .          
}
recursive “ฐŠ”ฒƒ•Œ ” ž‘€ ‹จ„ ฐŸŠ”ฒƒ€ —ฌ „ํžˆ ํŽธํ•œ ฒƒ ฐ™‹ค. (ถ”ํ›„ถ”€)

11  (ธˆ): TDD ClassifyByAnagram, ฅด„ƒŠค ํดŸฝ

•„ง€ ‚˜—ฒ '~ํ•œ  —„œ ฒฐตญ€ ‹ค ฐ™‹ค' Š” งณด‹คŠ” '~ํ•œ  —„œ ‹คฅด‹ค' ž€ งกœ ฐฐšธ ˆ˜ žˆŠ”ฒŒ ” งŽ€ ฒƒ ฐ™‹ค. •„Š” „ ฐฐŠ” 'ฒฐตญ SE ˜ ํฐ ํ‹€ ‚ด—„œ˜ ฒ”กœ †“ณ  ณดฉด RUP‚˜ XP‚˜ ฐ™€ฒŒ •„‹ˆƒ' ‹œกœ ด•ธฐํ•œ‹ค. ‚˜Š” XP˜ ‹คฅธ (€ํ•˜ฒŒ €šด ณณ€„‹œž‘ํ•˜—ฌ ํ•„š”ํ• •Œ ํ…ŒŠคํฌ‚˜ Šคํ† ฆฌกœ„œ ถ”€ํ•˜Š”)œกœ žฅ „ –ปณ ž ํ•œ‹ค. •„Š” „ ฐฐŠ” TDDกœ ํ•˜ญ˜กœ ํ•˜ฒฐตญ  ฅดฒŒ ข‹€ ํ”„กœทธžจ„ งŒ“คฉด œ‹คณ  ํ•œ‹ค. ‚˜Š” TDD Œ€ ํ•ด„(””„… ํˆดกœ ŒฆฌŠ” ‹œ„ด ˜ 0Š”  , ‚ด€  œ–ดํ•  ˆ˜ žˆŠ” ข‹€ งˆฌธ & ข‹€ ‹ต„ งŒ“ค–ด‚ดธฐ)œกœ„œ žฅ „ –ปณ ž ํ•œ‹ค. •„งŒ€Š” ๅฎˆ˜ ‹จ„ด ƒฐํ•˜ธฐ•Œฌธ—.

•„ง ๅฎˆ ํ•ด• ํ•˜Š” ‹จ„ ฐ™€ฐ, „€ฅดฒŒ ๏งชกœ €ธฐ—” •„ง žฅ „ ‹ค ”–ด–ดณด€ ชปํ–ˆ‹คŠ” ƒฐด “ ‹ค. ‹คงŒ, ฆฌ ฐํ•ด ธ„œ ็ ด™€ ๏งช˜ ‹จ„กœ „˜–ดฐˆ ˆ˜ žˆธฐ ฐ”€งŒ, •„ง ‚˜—ฒ ฌด‹ํ•˜ฒŒ ณต€ํ•ด„œ –ป„ ˆ˜ žˆŠ” žฅ ด ” งŽ€ ฒƒ ฐ™‹ค.

  • ‹จ, ๏งช ˜ ‹จ„— žˆŠ” ‚ฌžŒ˜ ง€ 'Target' ด‹ค. ‹จ, ฐ™€ ฒฐก „ ‚ ํ•„š”Š” —†ฒ €.
  • ํ•˜€งŒ, ฒฐตญ€ '‚ด ด•ธฐ' ํ•ด• ํ•˜ฒ €. ทธฆฌณ , ํ„„ „ „—  €€ งณ  •Œ€  •Œ—”  •ํ™•ํ•˜ฒŒ ฌธ œ ธ‹ํ•  ˆ˜ žˆธฐ.
  • ˜คŠ˜ ต‰žฅํžˆ  ฅธ †„กœ XP ํกˆ˜ํ•˜ คŠ” ‚ฌžŒ„ ตฌฒฝํ•  ˆ˜ žˆŠ” ธฐํšŒ€ ˜—ˆ‹ค. žธฐ ƒํ™œ ฐœ „ „ํš— Œ€ํ•ด ฐฉฒ•ก „  šฉํ•œ ฒƒด‹ค. ฉ‹„ €กœ€ฅดธฐ ƒฐ. ^^
----

—ฌ „ํžˆ ๅฎˆ ˜ ‹จ„ ชปฒ—–ด‚˜Š”ฒƒ ฐ™€งŒ.

ํ˜‹œ FakeIt & Refactoring œกœ „ํ–‰ด €Šฅํ• Œ ƒฐํ•ดณดฉด„œ ฒ˜Œ—Š” FakeIt & Refactoring งŒœกœ „ํ–‰ํ•ดณด•˜‹ค. ฐ, FakeIt „ ํ•˜ณ  Refactoring „ ํ•˜ ค ํ• •Œ „ˆฌด žฌ •˜ งŽด ํ•˜Š” ฒƒ ฐ™•„„œ Œ€ฐ• „˜–ดฐ”Š”ฐ, ทธžฌ”‹ˆ ‹คŒ ํ…ŒŠคํŠธกœ „ํ–‰ํ•˜ธฐ „ˆฌด ํž˜“ค—ˆ‹ค. •Œณ ฆฌฆ˜ด –ดŠ •„ ณดด คณ  ํ• •Œ, •ž—„œ˜ FakeIt œกœ œ „œ ฝ”“œ“ค„ ˆ˜ •ํ•˜Š”ฒŒ •„‹ˆ •„— œ–ด• ํ•  ฒƒ ฐ™•„„œ ง„—ฌกŒ‹ค.

ฒฐตญ ฝ”“œ งŒ“ค–ด€ฉด„œ 'ํ•™Šตœ' ฝ”“œ - ฐ ‹จ–ด˜ š”†Œ“ค sort index งŒ“คณ  ํ•ด‰ฌํ…Œดธ”„ ดšฉํ•˜Š” ‹œกœ - กœ ฐ”กœ ํŒ ํ•˜ณ  „ํ–‰ํ–ˆŠ”ฐ, —ฌ „ํžˆ TDD ณดํญด ํฌ‹คŠ” ƒฐด “œ‹ˆ ทธฆฌ ธฐ„ด ข‹€ •Š‹ค. (‹จ–ด“ค š”†Œ sort & hash  €žฅ€ ฒ˜Œ ฐœฐœํ• •Œ€„– ˜ฌž˜ •„ด””–ด—ฌ„œ..)

  • ‹ค‹œ ‹œ„ํ•œ‹คฉด? “ค–ด˜คŠ” ฐ’“ค„ กœ ฐ˜ํ™”‹œํ‚คŠ”  •„ ํ•  ˆ˜ žˆ„Œ..

  • ฐœธ œกœ “œŠ” ƒฐ€, ค‘ณต„ „ดŠ” ฒƒ ณด‹ค ˜„, ˜€ „ช…ํ•˜„ก ฝ”“œ งœŠ”ฒƒด ˆœœ„€ ” †’•„•  ฒƒ ฐ™‹ค. (ฐ, กฐธˆ ฒด‚˜Š”ด, intention ˜ šฐ„ ˆœœ„ †’ด‹ค ณดฉด refinement „ˆฌด ŠฒŒ “ค–ด€ฒŒ œ‹ค. ํ•˜€งŒ ฐœธ œก  ดฒƒด ” œ šฉํ•˜‹คณ  ƒฐํ•œ‹ค. ธˆฐฉ ค‘ณต˜Š” €„ด ณดดธฐ •Œฌธ—.)
    PBI™€ TDD ž˜ „ฌด ค„œ  šฉํ•ด ณดŠ” ‹คํ—˜„ ํ•ดณด•„. žฅ ด ‚˜„Œ€กœ žˆ‹ค. ‹จ €, ตฐ””ธฐ€ ƒธฐ‚˜ ™„ „ํžˆ ํฌธฐํ•˜ณ  ƒˆกœงœ• ํ•  ด ข…ข… žˆ‹คŠ”  . ‚ด€ ค‘š”ํ•˜‹คณ  ƒฐํ•œ „ฉ”ธ ˜คธŒ ํŠธ€ ‚ฌ‹ค€ ํ•„š”—†Š” ฒƒธ ฒฝšฐ€ งŽ‹ค. ‹œ„ด ‚˜ฉด DDD„ ณต€ํ•ด ณดธธ. --JuNe

  • Seminar:HotShot„ Œ คณธ ’ค, €žฅ ‹œ„„ งŽด žก•„Š” ‘ …€„— Œ€ํ•ด„œ ตฐ””ธฐ€ ˜Š” ฝ”“œ“ค„ ‚ญ œํ–ˆ‹ค. ทธŸฌ‹คณด‹ˆ, ํฝ ํ•˜ณ  •Œณ ฆฌฆ˜„ ” ํ–ฅƒ ‹œํ‚ฌ ฐฉฒ•ด ณด˜€‹ค. ญ, ดฒƒ ณ ˜ณ  ‚œ’ค ‚ฌžŒ“ค †ŒŠค“ค„ ณด‹ˆ ˜ „Šทํ•œ “.
  • Psyco ฒ˜Œ „˜ํ•˜ณ  จณดฒŒ ˜—ˆŠ”ฐ, ํ•œ — „ํ•ด „Šฅํ–ฅƒด †’•„„œ ‹ ธฐํ–ˆ‹ค.
    psycoŠ” €žฅ ฐ”ชฝ ํ•จˆ˜, ํดž˜ŠคงŒ ฐ”ธ”ฉํ•ดฉด ํ•ด‹ ฝ”“œ€ ํ˜ธถœํ•˜Š” ‹คฅธ ฝ”“œ“ค€ ง ‘ •Œ•„„œ ‹ค ฐ”ธ”ฉ ํ•ด€‹ค. ฆ‰, mainดŠ” ํ•จˆ˜€ žˆ‹คฉด ทธฒƒงŒ ฐ”ธ”ฉํ•˜ฉด ํ”„กœทธžจ ‚ด˜ ชจ“  ฝ”“œ€ ฐ”ธ”ฉ ˜Š” …ˆ. --JuNe
----
š” งธ ธฐƒ ‹œ„ ทธž˜ํ”„ ทธฆฌŠ”ค‘. ˜คŠ˜ ฐ‘ž‘Šค ˆ Šคฝ”–ด€ †’‹ค.

š”ƒˆ Šค€„ €ฆฌ— ‹คํŒจํ•˜Š” ดœ 
  • •„‹œ„„ ž˜ ชป ดšฉํ•œ‹ค. กœ ฐฅณ  ‹ ฌธ„ ณดณ  ฉ”, ฐ œ„ํ‚ค“ค ตฌฒฝ ดŸฐ‹ธฐ,
  • ํฐ — Œ€ํ•ด„œ ” ž‘€ “คกœ To Do List — ‚˜ˆ„งˆ •Š•˜‹ค. š”ƒˆŠ” Šค€„ € จ  •ณด ํ†ตํ•ฉ€ฆฌํ•˜ธฐœ„ํ•ด กœ ‹คด–ด ดšฉํ•˜Š”ฐ, …‹ํŒ…„ ‹ค‹œํ•ด„ ํ•„š”€ žˆ„“.
    • To Do List — Œ€ํ•ด„œ Layering ด ํ•„š”.
    • •„— ฐ˜“œ‹œ! •„จํšŒ˜(?)€ ํ•„š”. -_-;

ฐœธ ธ ‹œ„€ฆฌ ํˆด … ฝธฐ ฐฉฒ•— Œ€ํ•ด„œ •„•„ „‹จํ•œ ฒƒ €„‹œž‘ค‘. ˜ˆ „ฐ™œฉด ‹œ„€ฆฌ … ข…ฅ˜‚˜PowerReading …„ ™„…„ ํ•œ’ค ญ”€ ‹œŠคํ…œ„ ํ€ง‰ํ•˜ฒŒ งŒ“ค คณ  ํ–ˆ„ฒƒด‹ค. €ธˆ€ …„ ฝœฉด„œ กฐธˆ”ฉ กฐธˆ”ฉ  šฉํ•œ‹ค. €žฅ „‹จํ•œ ฒƒ€„ฐ ํ•ดณดณ , กฐธˆ”ฉ กฐธˆ”ฉ ฐœธ  ‹œŠคํ…œ„ ํ‚ค›Œ‚˜€ธฐ …ธ ฅค‘.

€ธˆ งธ œ €˜Š” •„•„ €šด ‹œŠคํ…œœกœŠ”
  • To Do List - ดด To Do List —˜ Layering ด ํ•„š”ํ•˜‹ค. ทธฆฌณ  '‹œ„— ตฌ†˜Š” To Do' — Œ€ํ•ด„œ.
  • ธฐƒ ‹œ„ ฒดํฌ - ทธž˜ํ”„ พธ€ํžˆ ทธฆฌŠ”ค‘. ด œŠ” „„ & ฐœ„ „ ํ•ด ˆ˜ žˆ„ ฒƒ ฐ™‹ค.
  • Reading - ”ฐกœ …ธํŠธ €„ํ•˜„ •Š•˜ณ , WPM ˆ˜˜€ €ํžˆ ‚ฎธด ํ•˜€งŒ. 20„ •„ ํˆฌžกœ ํ•œฒˆ „ํ–‰ €Šฅ.
10  (ชฉ): SSH CVS Setting. MMM WPM ธก •.

Tortorise กœ “œ””–ด SSH Œฆฌธฐ „ณต!

MythicalManMonth — Œ€ํ•ด„œ PowerReading —„œ˜ ฐฉฒ•“ค„  šฉํ•ดณด•˜‹ค. ‹จ€ ดํ•ด žฒด— ด› „ งžถ”ณ , †€ฝ„ งš„•Œ—„ ดํ•ด €Š” †„ šฐ„ œกœ ํ•ด ณด•˜‹ค.
ฝŠ”‹œ„ 10„, š”•ฝ 5„, š”•ฝณดถฉ 7„ •„. WPM †„ ธก •„ – ‚˜„œ, …„ ฝŠ”ฐ ฆฌ“ฌด ƒธฐŠ” Š‚Œด “ ‹ค. (Chapter ํ•˜‚˜— Œ€ํ•ด„  „ฒˆ— ˜‹ˆ ด ‚ฌ‹ค. ดํ•ด„„ ฝค งŒํ•˜Š”ค‘.)

  • WPM € 36.3 - 60%, 60 - 70%, 70 - 65%, 56 - 60%, 67 - 65% . •„ง 100 „ •ˆ„˜ธด ํ•˜‹ค -_-; ํ•˜€งŒ, €— Œ€ํ•ด …„ •ˆณดณ   •ฆฌ ํ•  ˆ˜ žˆ„ •„˜ ฆฌ“ฌ„ ํƒ„ ฒƒ ฐ™•„„œ ‚˜˜„ •Š•˜‹ค. ‹จ€ ดํ•ด„€ ” ค‘š”ํ•˜‹คณ  ƒฐํ•˜ธฐ—.
  • †„™€ ดํ•ด„€ ฐ˜„€ํ•˜Š”•„‹Œฒƒ ฐ™‹ค. ˜–ด˜ ฆฌ“ฌ„  œŒ€กœ ํƒˆ•Œ ดํ•ด„  œŒ€กœ ˜—ˆ‹ค.
  • ชจฅดŠ” ‹จ–ด˜ ฒฝšฐ ‹จ–ด˜ ˆ„ ด„œ ‚ฌ „„ ฐพ„•Œ™€ ‚˜ค‘— ‚ฌ „„ ฐพ„•Œ ตฌ„ํ•˜Š”ฒƒ„ ข‹€ ฒƒ ฐ™‹ค. ‚ฌ „„ ’ค ฆฌŠ”ฐ— ข…˜ Context Switching ด –ด‚œ‹คณ  ํ• Œ.
MMM —„œ˜  œชฉ— ํ•ด‹ํ•˜Š”, ทธฆฌณ  ฐธœกœ ž ธšฉ˜Š” ธŒฃฉŠค ฒ•™ด ‚˜™”‹ค. Communication „šฉ, „—…ํ™” ˜ธฐ ํž˜“  — Œ€ํ•œ „šฉ ฌธ œ. ExtremeProgramming ˜ € œกœ ‹ค‹œ ฐ”ณดณ  „ํŒํ•˜ณ  ‹ถ€งŒ, •„ง€ ณ ํ•˜ณ  –ป–ด‚ด• ํ• ฒƒด ” งŽธฐ—.

MMM —„œ˜ „œ “ค€ ฐธ ฉ‹€‹จ ƒฐด “ ‹ค.  €ฒˆ Tar Pit „ ทธ ‡€งŒ, ดฒˆ ˜คˆ ›˜ „œ  ˜ํ•œ  •ง;

8,9  (ํ™”, ˆ˜): ณต—ฐณดŸฌ €ธฐ. ฐœธ •ฆฌ.

„—ฌ„€„ฒจšธ, ถˆ…งจ…˜, ํ—ˆฒ…€ฐด“œ “„ ณด‹ค.

ฐœธ œกœ ‹ ธฐํ•œ ‚ฌžŒ“ค€ ฒ ดŠค—ฐžด‹ค. ฆฌ“ฌ•…ธฐŒ ฉœกœ”” •…ธฐŒ. ํ•˜€งŒ, ทธ ‘”ํƒํ•˜ณ  ‚ฎ€ †ŒฆฌŠ” “œŸ†ŒฆฌงŒํ ชธ„ šธฆฌณ  €‚˜„‹ค.
„—ฌ„€„ฒจšธ งˆ€ง‰ €„ —ฐํ• •Œ, ฒ ดŠค™€ “œŸ—ฐ€    †„ ˜ฌฆฌ”‹ˆ ‚ ‹ค‹ˆณ , ทธ™€ ํ•จป˜ ธฐํƒ€€ ฐ™ด —ฐ ํƒ€ณ  ฌด•„€ฒฝœกœ “ค–ด€Š” ชจŠต„ ณดฉด„œ, ฐ™.ฐ™;

ณต—ฐžฅ—„œ˜ Œ•…ฆธฐŠ”ฒ• ํ‰†Œ‹œ˜ Œ•…ฆธฐŠ”ฒ•€ ‹ค ํ•„š”€ žˆŠ”ฒƒ ฐ™‹ค. ‹ฌ คš”~!

—„ˆ€€ „˜œ‹ค. ‚ฌšด“œ€ „˜˜Š” ณณ, ‚ฌžŒด „˜˜Š” ณณ„ ณดฉด.
----
Y กœ ค‘•™˜ UBS ฐฉ†กžฅ ž…ตฌชฝ˜ ํ•œด จ ชจž„„ ณดฉด„œ “œŠ” ฌ˜ํ•œ ƒฐดž€.
----
ฐœธ œกœ 'งŒ ‚ด€ …„ “ด‹คฉด?' ํ•˜Š” ‹œกœ ํ• งค™‚ฐ ˜ฌ€„œ ฐ”žŒฉฐ €  •ฆฌ ํ•ดณดธฐ.

€„  •ฆฌํ•˜ฉด„œ '‹ค œ ‚ด ํ–‰™€ ด •„กœ งˆ„œ •—ฐํ•˜€ •ŠŠ”ฐ' ํ•˜Š” ƒฐด “œ‹ˆ, €„ “ฐณ  ‹ถ€€ •Š•„„‹ค. ํ•œํŽธœกœŠ” €„ จ ‚˜€ฉด„œ ํ–‰™„ ํ• •Œ—”, ‚ด ํ–‰™„ ฒœฒœํžˆ €ฐฐํ•˜ณ  ํ–‰™„ ํ•˜Š” ฒƒ ฐ™€ฐ.

ณดํ†ต ํ•™Šต€ '…„ ฝ„•Œ' ทธ•Œณด‹จ 'ฌตํ˜€‘—ˆ˜ ธฐ–ต„ „ง‘–ด‚•Œ' ดฃจ–ด€Š”ฒƒ ฐ™‹ค. ˜Š” 'ํ–‰™œกœ „ง‘–ด‚•Œ'.
----
ŠฌŠฌ, ‹ค‹œ '€ณตœ ธฐ–ต'ชจœธฐ ‹œž‘. ชจ“  ฒƒ„ ‹ค ํ‘œ‹œํ•˜Š” •„‚ กœทธณด‹คŠ”,  œ–ดํ•  ˆ˜ žˆŠ” ””€„„ ›ํ•œ‹ค.

8›”

7›”

7 (): …ƒ •ฆฌ.
ž Š€งŒ, Data, Information, Knowledge, Wisdom.  •ณด †Œ„ํ•˜ณ  žฌฐฝถœํ•˜€ •Šœฉด. •„ ด„˜˜ ฐดํ„“ค ‚ฌžŒ ํ”ณคํ•˜ฒŒ„ ํ•˜Š”ตฐ;

6 (ํ† ): ‹ฌฆฌธฐ.
ง‘—„œ€„ข…ํ•ฉšด™žฅŒ€ 25„ …Šคํ† ›ฐธฐ.
›ฐŠ” ค‘„ †„ œ €ํ•˜ธฐ œ„ํ•ด ˜ „Šทํ•œ †„กœ ‹ฌ ธ‹ค. ‹จ, ˜†— ‚  ถ”›”ํ•œ ‚ฌžŒ„ ณด‹ˆ ฒฝŸ˜‹ด ƒฒจ„œ ทธ‚ฌžŒ ถ”›”ํ•˜Šƒณ  •ฝ„ ˜ค„ํ•œณค ญ..;
  • ฐฐšด  : ค‘š”ํ•œด ํ˜ธํก˜ ฆฌ“ฌ. ˆ˜˜˜ ฒฝšฐ ฆฌ“ฌ ชปงžถ”ฉด ˆจ„ ชป‰ฌ€งŒ. †„ ‚•Œ˜ ํ˜ธํกฆฌ“ฌ ํœด‹„ œ„ํ•œ ฆฌ“ฌด ‹คฅด‹ค.
  •  „‚  ง‘— ชป“ค–ด€„œ ทธŸฐ€ (–ดํ‘, 64-1 •„„ŠคŠ” 1‹œ ด „— Šธด‹ค. ˜‚ฌํ•˜ฒŒ.. 916ฒˆ€ 2‹œ˜„ก 10Œ€„ „˜ฒŒ €‚˜‹ค‹ˆงŒ ฉ) ˜Œ•„˜ฌ•ŒŠ” …Šคํ†œกœ ›ฐ€ ชปํ–ˆ‹ค.
5 (ธˆ): Seminar:RenaissanceClub20020705 .
ด „— ‚˜—ฒŒ„œ ˆ žฆฌ “—„œ Java ธฐˆ ด –ดฉŒ„งˆ†Œ ธฐ‚ฌ€ –ด– „ค, MT €„œ IMT 2000 ด –ด– „ค ํ•˜Š” ด•ธฐ ํ•  ˆ˜ žˆ˜ ณณ€ ZP ฐ–— —†—ˆ‹ค. ดฒˆ— ํ•˜‚˜ ” ƒธธฒƒดŠ” ธฐŒ€ฐ.

4 (ชฉ): ScheduledWalk/„ฒœ ™„ฃŒž‘—….
ฒ˜Œ ณ  คํ• •Œ€„€“ฐธฐ ณ  คํ•˜ณ  ž‘„ํ•œ ฌธ„œŠ” •„‹ˆ—ฌ„œ; (ทธƒฅ †ŒŠคงŒ š €ํ™” •„ ณดด คณ  ํ–ˆ‹คŠ”.) ฐจฆฌ ฒ˜Œ€„ฐ ํ”„กœทธž˜ฐํ• •Œงˆ‹ค ฐ”€€„— Œ€ํ•ด„œงŒ  •„  –ด‚˜ฐ””ฉด.
  • œ„˜ — „ˆฌด ‹œ„„ งŽด Œ–ด„œ ‹คฅธ “ค„ ํ•  ‹œ„ด  –ด ธ„ ธ‹ค. ‹œ„€ฆฌ‹œ„€ฆฌ.
  • ˜คŠ˜”ฐ ชธด ํ”ณคํ•จ„ ดญžฅํžˆ งŽด Šˆ‹ค. ํŒŒ›Œํ”„กœทธžจด ํ•„š”ํ•˜‹ค;
3 (ˆ˜): ProjectPrometheus/Journey

1 (›”): ScheduledWalk/„ฒœ

StructuredProgramming „ '˜‹ œกœ', '—ด‹ฌํžˆ', 'Œ€' ํ•ดณธ ฒซฒˆงธ ˜ˆ œ€ •„‹Œ.  „— ˆ˜˜ํ•ด„ ˆ™ œํ• •Œ—” StepwiseRefinement Šคํƒ€ด œ šฉํ•˜ธด ํ–ˆ€งŒ, €ธˆฒ˜Ÿ ˜‹ œกœ ํ•˜„ •Š€ ฒƒœกœ ธฐ–ตํ•œ‹ค.
  • งŒ ˜–ดถŒ—„œ ‚ด•˜˜ ‚ฌžŒดฉด ” ฆฌ งŒ“ค—ˆ„ํ…ฐ. ƒ “ฐŠ” ‹จ–ด‚˜ ํ”„กœทธž˜ฐ•Œ˜ ํ•จˆ˜ ด„ด‚˜ ˜‘ฐ™ด €„ํ…Œ‹ˆ. ํŒ. ํžˆตฌ;

6›”

25 ~ 28 (ํ™”~ธˆ): ObjectOrientedProgramming „‚˜ €„ธฐ.

„‚˜ žฃŒ €„ „ ฐฝ€ดํ˜•œกœ€„—ฌŸฌ กฐ–ธ“ค„ “ค—ˆ—ˆ‹ค. 'Sub Type Sub Class — Œ€ํ•œ ตฌ„— Œ€ํ•ด„œ „ช…ํ–ˆœฉด ข‹ฒ ‹ค', 'OOP ํ•˜ฉด ™œ ข‹€€ Š‚„ ˆ˜ žˆ„ก „‚˜ „ํ–‰ํ•˜ฉด ข‹ฒ ‹ค', 'ฌธ œ ํ•ดฒฐ— Œ€ํ•œ ‚ฌณ   •„ ณด—ฌ„ ˆ˜ žˆœฉด ข‹ฒ ‹ค' ““. ตฌตฌ  ˆ ˆ ƒฐํ•ดณดฉด ฐธ ฆฌžˆŠ” ด•ธฐ“คด˜€‹ค. ฐœธ œกœ„ „‚˜ €„ํ•˜Š” €žฅ ณ ํ•™ฒˆด‹ˆ งŒํ ž˜ ํ•˜ณ  ‹ถ—ˆณ .
Sub Type Sub Class — Œ€ํ•ด žฃŒ ’ค€˜ค‘ ํฌƒด™€ ฉ”‹  €—„œ Œ€ํ™”ํ•˜ฉด„œ '•„..  €Ÿฐ  —„œ „ช…„ ํ•˜‹œž€ œปด˜€ตฌ‚˜' ํ•˜ฉฐ •ž˜ กฐ–ธ“ค— Œ€ํ•œ ค‘š”„„ ธ€ํ–ˆ‹ค.

"„‚˜‚  –ธ œ‹ˆ? ‚˜„ ฐธ„ํ•˜„ก ํ•˜€."

"ํ—‰; ํ•˜..ํ•˜.."

"™œ? ‹ซ‹ˆ?"

"•„.. •„‡จ. ํ•˜ํ•˜ํ•˜;"

"›ƒŠ”ฒƒ ณด‹ˆ ข‹€€ ณดตฌ‚˜. ^^"

"•„.. šฐ..›ƒŒ—” งŽ€ ˜€ žˆณค ํ•˜ฃ . ํ•˜..ํ•˜ํ•˜;"


ํ•˜..ํ•˜ํ•˜; ทธƒฅ ํ•˜˜Œ€กœ €„ํ–ˆ‹ค„ €ฒ ตฌ‚˜; •ฝ„˜ €‹ด„ €€ณ . ŒŒ. - -;

„‚˜ €„

Œ.. ทธŸฌณ  ณด‹ˆ ‚˜Š” ™œ OOP ํ•˜Š”€? ฐœธ œกœ ฒ˜Œ ํดž˜Šค ตฌํ˜„ํ•˜ฉด„œ ฐพ•„‚ธ žฅ € ‹คŒด˜€‹ค.
  1. Global €ˆ˜ “ฐธด ‹ซณ , •ˆ“ฐž‹ˆ ถˆํŽธํ•˜ณ , Global €ˆ˜ธ‰‹ ฐฒดํ•˜‚˜”ฉดฉด ํŽธํ•˜ฒ ‹ค. ํ•˜Š”, ํ…Œํฌ‹‰— ธฐฐ˜ํ•œ.
  2. Visual C++ —„œ ํดž˜Šคกœ งŒ“ค–ด“ฐฉด ธํ…”ฆฌ„Šค ธฐŠฅ €›„ ฐ›•„„œ ํ”„กœทธž˜ฐ ํ•˜ธฐ ํŽธํ•˜‹คŠ”.
ฆ‰, OOP ‹ ‚ฌณ —„œ˜ žฅ ด •„‹Œ, ธฐกด ฐœธŠคํƒ€˜ ํ”„กœทธž˜ฐค‘—„œ˜ žฅ ด˜€‹ค. ŠคŠคกœ ƒฐํ•˜ธฐ—” OOP ƒฐํ–ˆ˜ ฒƒ“ค„, •Œณ ณดฉด OO˜ –ธ–ด “ธ ฟ, OOP€ •„‹ˆ˜€—ˆ˜ ฒƒด‹ค. „‚˜ค‘ 'OOP กœ ํ•˜ฉด ญ€ ข‹•„š”?' ณ  งˆฌธํ• •Œ  € ‡ฒŒ ‹ตํ•  ˆ˜Š” —†ฒ €.

‹ค‹œ 'OOPŠ” ™œ ํ•˜Š”€' — Œ€ํ•œ งˆฌธ„ ํ•˜ฉด„œ ‚ด€ ํ”Œฐํ•˜Š” ฐฉฒ•— Œ€ํ•ด ƒฐํ•˜ฒŒ ˜—ˆณ , ‚ด€ ํ”„กœทธž˜ฐ„ ํ•˜ฉด„œ œ šฉํ•˜ฒŒ ดšฉํ–ˆ—ˆ˜ ‚ฌณ Šต€( จ€Š” ชจฅดฒ ‹ค  •ํ™•ํ•˜ฒŒŠ”;) — Œ€ํ•ด ƒฐํ•˜ฉฐ OOP „‚˜ Šค€„ 1ฐจ ดˆ•ˆ„ งŒ“ค–ดณดธฐ ‹œž‘ํ–ˆ‹ค.

  1. ฌด—‡„ ํ• ฒƒธ€ : –ด–ปฒŒ ํ•  ฒƒธ€˜ € . ‚˜Š” ดˆธฐ— ํ•™ต  „ณต ค‘ Science ™€ Engineeing ˜ ธฐ€„  €ฒƒœกœ ‚˜ˆ„—ˆ—ˆ‹ค. ‚ด€ 'ฌด—‡„ ณต€ํ• Œ?' ณ  งˆฌธ„ ํ• •ŒŠ” •ž˜ „ฅ˜, '–ด–ปฒŒ ํ• ฒƒธ€?' Š” งˆฌธ„ ํ• •ŒŠ” ’ค˜ „ฅ˜. ฐ”กœ  šฉ˜„ •Šฒ €งŒ, "OOP Š” 'ํ”„กœทธž˜ฐ„ –ด–ปฒŒ ํ• ฒƒธ€?' Š” „ฅ˜— †ํ•œ‹ค" ณ  งํ•ดฉด จธฆฟ†—„œ „ฅ˜ํ•˜ธฐ ํŽธํ• ฒƒดž€ ƒฐ„ ํ–ˆ‹ค.
  2. ฐฒด€ํ–ฅํ”„กœทธž˜ฐ  • - OOP ํ•˜ฉด„œ ‚˜Š” ธฐ„กœ งŒ“ค–ด„ —”„„ – ˜ฌฆฌณค ํ•œ‹ค. ํŠธ, „ˆํŠธ, ‹คฆฐ”, ํฌžญํฌ, ฐฐธฐฐธธŒ...  €ฒƒ“ค„ ‹ฆณ  กฐดณ  ธฐ„ณ€ฉฐ งŒ“ค–ด€ธฐ. ด €„„ –ด–ปฒŒ „ช…ํ• Œ ํ•˜ฉด„œ 'ฐจฆฌ ฒกํ„ทธž˜ํ”ฝ ํˆด„ งŒ ธณดฒŒ ํ• Œ' ํ•˜Š” ƒฐ„ ํ•ดดค—ˆ‹ค. ค‘„— Python Interpreter งŒ ธณดฒŒ ํ•˜Š”ฒƒด ข‹ฒ ‹คŠ” ƒฐ„ ํ–ˆ—ˆณ , ฐฝ€ดํ˜•˜  „ํ™”ค‘ ”š ” ํ™•‹ „ €€ฒŒ ˜—ˆ‹ค.
  3. ํ”„กœทธž˜ฐ— Œ€ํ•œ  „ฐ˜   ‘ - ฌธ œ Top Down œกœ ‚˜ˆˆ‹คŠ” € . 2ํ•™…„•Œ DirectX กœ ŠˆํŒ… ฒŒž„„ งŒ“ค•Œ €” ƒƒํ•˜˜ฒƒด „ณ กœ งŒ“  †„ กฐฐํ•˜Š”  •ด˜€‹ค. กฐฐ„ ํ• •Œ—” ฒ˜Œ—  „ฒด  † ชจ–‘„ งŒ“คธฐ œ„ํ•ด ํฌฒŒ ํฌฒŒ ‚˜„‹ค. ทธŸฌ‹ค€    „€ํ•˜ฒŒ กฐฐกœ ํŒŒ ‚˜€ฉด„œ ž‘ํ’ˆ„ งŒ“ค–ด‚˜„‹ค. ดŸฐ ‹œกœ „ช…ํ•  ˆ˜ žˆฒ ตฐ ํ•˜ฉฐ ถ”€.
  4. Stepwise Refinement - ดฒˆ—  „ํ•œ ‚ฌžŒค‘— ˆ˜ํ•™€ žˆ—ˆ˜ฒƒ ฐ™‹ค. ทธŸฐ ‚ฌžŒ“ค—ฒŒ ˆ˜ํ•™ฌธ œ— Œ€ํ•œ  „ฐœ •„ ฐ™•„ณดดŠ” ํ”„กœทธž˜ฐ ฐฉ‹„ ณด—ฌฉด ข‹ฒ € ํ•˜Š” ƒฐ— ํ•˜‚˜ ณจณด•˜‹ค. ฐœธ œกœ ˆ˜˜ํ•ด„ ˆ™ œ ํ• •Œ œ šฉํ•˜ฒŒ จ—ˆ˜ ฐฉฒ•ดธฐ„ ํ•ด„œ.
ทธฆฌณ  ค‘„ ‹คŠต. '•„.. ฌธ œ ณจ• ํ• ํ…ฐ...'  œ ฉ‹ ธณดด˜ฒƒ€  „— ธฐ •ดํ˜•ด ˜ˆกœ “ค—ˆ—ˆณ , „ šฐํ˜•ด ฌธ œกœ งŒ“ค—ˆ—ˆ˜ Šคํƒ€ํฌž˜ํ”„ํŠธ˜€‹ค. ‚ฌžŒ“ค—ฒŒ €žฅ œˆ™ํ•œ ฒŒž„ด‹ˆ —ฐ€„„ ฐพธฐ—” ข‹œฆฌ. ํ•˜€งŒ, ทธ „ธต„ ƒฐํ•ดณดฉด ํ›„ฐฐ“คด งŒ“ค ˆ˜ žˆ„ •„€ •„‹ˆ‹ค. ํญ„ „—ฌ•€ ํ–ˆ‹ค€ ฌธ“, ํŒŒดฌ ธํ„ฐํ”„ฆฌํ„กœ ฐฒด ‹จœ„ ž‘—…„ ํ•˜Š” ˜ˆกœ จœฉด ข‹ฒ ‹คŠ” ƒฐด “ค—ˆ‹ค. ˜ค.. šฐฆฌŠ” งค งค ฐฒด €€ณ  …ธŠ”ตฌ‚˜; ฌธ œํ’€ธฐ ํ•˜ คณ  ํ–ˆ‹ค€ ํŠœํ† ฆฌ–กœ ฐ”พธ—ˆ‹ค.

„‚˜•Œ ฆด ‹œ„„ Œ€ฐ• žก•„ณด‹ˆ, ‹คŒ‚  6‹œŒ€ ˜ Full กœ ›ฐ–ด• ํ–ˆ‹ค. šฐ.. ‚ด€ € „ˆฌดํ–ˆ‚˜ ํ•˜Š” ƒฐด “คธด ํ–ˆ€งŒ, ‹จ€ ค‘š”ํ•˜‹คณ  ƒฐํ•œ ฐœ…“ค„ ธฐŠ” ‹ซ—ˆ‹ค.

ทธฆฌณ  ดˆ•ˆ„ ฐฝ€ดํ˜•—ฒŒ ณด—ฌ“œฆฌณ  กฐ–ธ„ ตฌํ–ˆ‹ค.

23 ~ 29 : ฐธ”Šคบ ํ”„2002/„ํ–‰ƒํ™ฉ

3,4,5,7 : ProjectZephyrus/ClientJourney

1 (ํ† ):
  • DesignPatterns —ฐŠตฐจ „‹จํ•˜ฒŒ ทธํŒ„ ตฌํ˜„ํ•ด„. ฒ˜Œ „‹จํ•˜ฒŒ  „€ MainFrame class — ‹ค ตฌํ˜„ํ•˜ณ , ทธ ‹คŒ Delegation œกœ  ฐจ ‹คฅธ ํดž˜Šค“ค—ฒŒ —ญํ• „ ด–‘ํ•ดŠ” ฐฉฒ•„ จ ณด•˜‹ค. ทธŸฌ˜ ค‘ MFC—„œ˜ WinApp ฒ˜Ÿ Application class SingletonPattern Šคํƒ€กœ ฐ–œกœ บ—ˆŠ”ฐ, „† Stack Overflow —Ÿฌ€ ‚˜Š” ฒƒด˜€‹ค. '–ด? –ด”˜€ „† žฌ€ํ˜ธถœด ˜‚˜?..'
ฌธ œŠ” ‹คŒ ฐ™€ ฝ”“œ— žˆ—ˆ‹ค.
~cpp 
Application.java
    public static Application getInstance () {
        if (theApp == null) {
            theApp = new Application ();
            theApp.init ();
        }

        return theApp;
    }

    public Application () {
        toolManager = new ToolManager ();
        mainFrame = new MainFrame ();
        mainFrame.setSize (640,480);
        mainFrame.show ();
    }

MainFrame.java
    public JMenu _makeToolMenu () {
        JMenu menuTool = new JMenu ("Tool");
        toolActionListener = new ToolActionListener ();
        Enumeration toolList = Application.getInstance().getToolsList();
        String toolName;
        JMenuItem toolMenuItem;

        while (toolList.hasMoreElements()) {
            toolName = toolList.nextElement().toString();
            toolMenuItem = new JMenuItem (toolName);
            toolMenuItem.addActionListener(toolActionListener);
            menuTool.add(toolMenuItem);
        }

        return menuTool;
    }

ฆ‰, Application Class ˜ ธŠคํ„Šค€ งŒ“ค–ด€ธฐ œ„ํ•ด„  MainFrame ํดž˜Šค€ ™„„˜–ด• ํ•œ‹ค. ทธŸฐฐ, MainFrame —„œŠ” Application ˜ ธŠคํ„Šค š”ตฌํ•œ‹ค. ทธ ‡ธฐ •Œฌธ— Application˜ getInstance ํ˜ธถœํ•˜ณ , •„ง ธŠคํ„Šค€ งŒ“ค–ด€€ •Š•˜œ€กœ ˜ getInstance —„  Application ˜ Class ƒˆกœ ˜ งŒ“ค คณ  ํ•˜ณ  ‹ค‹œ MainFrame ํดž˜Šค ƒ„ํ•˜ ค ํ•˜ณ .. ด ฐ˜ณตํ•˜ฒŒ ˜Š” ฒƒด˜€‹ค.
ฒฐตญ ‹คŒ ฐ™€ ฝ”“œกœ ํ•ดฒฐ„ ํ–ˆ‹ค.
~cpp 
   public static Application getInstance () {
        if (theApp == null) {
            theApp = new Application ();
            theApp.init ();
        }

        return theApp;
    }

    public Application () {

    }

    public void init () {
        toolManager = new ToolManager ();
        mainFrame = new MainFrame ();
        mainFrame.setSize (640,480);
        mainFrame.show ();
    }

Class ˜ —ญํ• “ค„ Delegation œกœ ‹คฅธ ํดž˜Šค“ค—ฒŒ œ„ž„‹œœฉด„œ ˜ ํŒจํ„ด Œ€ฐ• ดžฌ˜ ฒƒ ฐ™‹ค.
  • SingletonPattern - Application Instance Global ฐฒดกœ. ฐ, ดŠ” žฅ‹จธฒƒ ฐ™‹ค. ž˜ชปํ•˜ฉด Application ค‘•™ง‘ค‘ฒด œ€ œ‹ค. Application ‚ด—„œ Delegationํ•˜Š” ฐฒด“คด งŽ€ฐ, ทธ •— Application ด „ˆฌด ค‘„ ฉ”„€  „‹ฌ—ญํ• กœงŒ ž‘šฉํ•˜Š”ฒƒ ฐ™‹ค. ญ, FacadePattern ธ–‘ œ‹คฉด ชจฅดฒ €งŒ. ดฝ”“œ ปค€ณ  ‚œ ’ค ‘ณ  ธฒƒ ฐ™‹ค.
  • StatePattern - Tool „ ํƒ—„œ ดšฉ. ํ˜„žฌ Tool„ ถ”€ํ•˜ คฉด 1. Tool ƒ†. 2. interface ตฌํ˜„. ด‹ค. ‹คงˆ ธ ธฐŠฅ„ ํ•˜ คฉด ํ˜„žฌ ฝ”“œ—„  CommandPattern ถ™–ด• ํ• “.
ž‘—…‹œ„€ ทธฆฌ กํ•˜ฒŒ ํ•˜€ •Š•„„œ 5‹œ„ ธ‹ค. ํ•˜€งŒ, ค‘„ ฌด—‡„ ํ•ด• ํ• € ชฐ„œ ง„ธ ‹œ„€ „กœ —†—ˆ˜ ฒƒ ฐ™‹ค. (กœ ค‘„ MP3 “ฃธฐ, ›„œํ•‘ “ ‹คฅธง““ค„ ํ•ด„œ ˜คž˜ ธ‹คŠ”;)

5›”

24 (ธˆ), 27 (›”):
19 ():
10 (ธˆ):
8 (ˆ˜):
  • SE ‹œ„— CBD (CBD & Business Š” ธกฉด. 3ฐ• —ฐ†) ฐฐšธ•Œงˆ‹ค ŠŠ”  ด žˆ‹คฉด, ‹คฅธ ณตํ•™ (ธฐ„,  „ž, ถ•) “ค˜ ฐœ…“ค„ ดšฉํ•˜—ฌ Software Hardware ํ™” ‹œํ‚จ‹คŠ” Š‚Œด “ ‹ค. Š˜ 'ํ‘œ€' „ ฐ•กฐํ•˜‹œŠ” ตˆ˜‹˜. ปดํฌ„ŒํŠธชฝ QAชฝ—„œ ทธ ด„ด  งˆ ˆ˜ —†Š” ตˆ˜‹˜ด‹œธฐ—, ทธฆฌณ  ํ‰†Œ ˆ˜—…•Œ ž‹ ˜ ‚˜ดงŒํ —ฐฅœžˆœ‹  ง”€„ ํ•˜‹œธฐ— งˆŒด ํ”“คฆฌ€ •Š„ ˆ˜ —†ณ , ฒฐตญ 'ํ†‹ˆฐ”ํ€“ค ค‘ ํ•˜‚˜'Š” ƒฐ„ ํ•˜ณ  ‚˜ฉด •ฝ„ ํ•œŠคŸฝ‹ค. ทธž˜„œ ตˆ˜‹˜ป˜„œŠ” Š˜ 'Domain Expert' & 'Speciality' ฐ•กฐํ•˜‹œ€งŒ.
    • ด•Œค ํ•ด• ํ•  งˆฌธด 'ทธ ‹คŒ— ํ• €?' ดงŒ. ž ‹œงŒ ณดฅ˜.
  • Wiki „ช…ํšŒ•Œ Š‚€ JuNe „ ฐฐ— Œ€ํ•œ „„ (NoSmok:AnalyzeMary) - –ด–ปฒŒ ํ•˜ฉด „ €‹ฌ—†–ดํ•ดณดดŠ” ‚ฌžŒ“คกœ€„งˆฌธ„ œ „ํ•ด‚ดณ  ฐ˜‘„ Œ–ด˜ฌ ˆ˜ žˆ„Œ?  •ง ‹ ธฐํ•œ ฒฝํ—˜ด˜€‹ค. ฒ˜Œ—Š” ทธƒฅ „ ƒฐ—†–ด ณดด˜ ‚ฌžŒ“ค„ „ช…˜ Turn („ช… ‚ดšฉ„กœ •ฝ„•ฝ„ ‹จฝด. ค‘„ Feedback „ ‚ดํ”ณ , ‹ค‹œ ƒˆกœšด „ช…„ ํ•˜Š” ชจŠต) ด ฆ€ํ•จ— ”ฐ ŠคŠคกœ 'งˆฌธ' „ ํ•˜ฒŒ ˜—ˆ„Œ.
    • ชฉ†Œฆฌ ํ†ค & †„ - ดŠ” ‚ฌžŒ“ค˜ ง‘ค‘„— –ดŠ •„ ˜ํ–ฅ„ œ‹คณ  ƒฐ. ˜ํ•œ ดฒƒ€ ž‹ ฐ˜ ฒ™„ธฒƒ ฐ™‹ค. ž‹ ฐ—†ดŠ”   ˆํ•œ †„กฐ ˆ„ ชปํ•˜ณ , ชฉ†Œฆฌ ํฌธฐ •ŒงžฒŒ กฐ ˆํ•  ˆ˜ —†‹ค.
    • ‚ดšฉ˜  ‘ฐฉฒ• - งˆฌธ„ ˜€ณ , ‚ดšฉ„ ด•ธฐํ•˜ณ , ˜ งˆฌธ„ ˜ ธณดณ ... XP˜ TDD ณดŠ” ฒƒ ฐ™€ฐ, ด ˜ํ•œ ฐฉฒ•ธ ฒƒ ฐ™‹ค. Feedback „ ‚ดํ•€‹คŠ”  —„œ.
    • ‹ค–‘ํ•œ ฒฝํ—˜ - ‚ดšฉ„ งŒ“ค–ด‚ด คฉด, ทธงŒํ ฒฝํ—˜ด ํ•„š”ํ•˜ธฐ—. „žฅ„‹จด˜€, ž‹ ด 'ฐฐšด' ‚ดšฉ„ ' šฉ' ํ•ด ˆ˜ žˆŠ” ํ„กœ„œ ดšฉํ•œ‹ค˜€, Refactoring ํ”„กœทธž˜ฐ ฐœฐœ˜ € —„œ „ช…ํ•œ‹ค˜€ ““ (ดฒƒฐ™€ ฒฝšฐ ‚ดšฉ„ •Œณ  žˆ–ด„, ‚ฌžŒ“ค˜  ˆฒจ— งžถฐ• ํ•˜ธฐ•Œฌธ—   ˆํ•˜ฒŒ ‚ ํƒ€ดฐ„ งžถฐ• ํ• ฒƒ ฐ™€ฐ. ด•ธฐ€ ํ˜Ÿฌ€ฉด„œ ํŽ˜ด€ ตฌกฐกฐ •, Refactoring œกœŒ€˜ ด•ธฐํ„ „ฐœ. –ด–ปฒŒ ํ˜Ÿฌ˜จŒ.)

4 (ํ† ):
  • ํ•™ต—„œ  ˆํฌํŠธ “ฐธฐ œ„ํ•ด (ProgrammingLanguageClass/Report2002_2) „„œ€— “ค ธ‹ค. HowToReadIt ˜ ฐฉฒ•ค‘ ‹ค…— €ํ•œ ฐฉฒ•„ – ˜ฌฆฌฉด„œ •ฝ„ „Šทํ•œ ‹œ„ ํ•ดดค‹ค. (˜ค. ฐฉฒ•“ค žฒด€ Extreme~ ํ•ดณดธ‹ค;) 1‹œ„ 30„ ™•ˆ Java … ธฐดˆ„œ 2ถŒ ›„œ 1ถŒ, VB… 3ถŒ •„ ํ›‘–ดฝ—ˆ‹ค. (10—ฌถŒŒ€Š” —„‘€ •ˆ‚˜„œ; „„œ€ด 3‹œŒ€ฐ–— •ˆํ•˜Š” €„กœ) ˜ˆ „— žฐ” ํ•˜ธด ํ–ˆ—ˆ€งŒ,  œŒ€กœ ํ•œ ธฐ–ต€ —†‹ค. ฒ˜Œ—Š” ›„œ™€ ณ ธ‰„œฒ˜Ÿ ณดดŠ” ฒƒ„ ฝœ ค‹ˆŒ จธฆฌ— ž˜ •ˆ“ค–ด™”‹ค. ทธž˜„œ €žฅ ‰ฌ›ŒณดดŠ” ธฐดˆ„œ (•Œธฐ‰ฌšด Java2, Java2 žฐ”ํ† ํ”•„ “ ‘ป˜ –‡€ ํ•œ„œ“ค) ฝณ „  ฝ–ด€‹ˆŒ €†ด ถ™–ด„œ ฝธฐ ‰ฌ› ‹ค. 3ฒˆงธฝ–ด‚˜€‹ˆŒ Event Listener ˜ Delegation ˜ ˜  œŒ€กœ ดํ•ดํ•œ ฒƒ ฐ™ณ  (˜ˆ „—Š” †ŒŠค ”ฐ˜ธฐงŒ ํ–ˆ—ˆ‹ค.) StatePatternœกœ˜ „ํ™” („ํ™”ณด‹จ 'ถ”ํ›„ ‘' ด ” งžœ ค‚˜) € šฉดํ•œ ตฌกฐ ˆ˜ žˆฒ ‹คŠ” ƒฐ„ ํ•˜ฒŒ ˜—ˆ‹ค. (Event Listener —„œ ž‘„ํ–ˆ˜ ฝ”“œ กฐธˆงŒ Refactoring ํ•˜ฉด ฐ”กœ StatePattern œกœ  šฉ„ ‹œํ‚ฌ ˆ˜ žˆ„ ฒƒ ฐ™‹คŠ” ƒฐด “ค—ˆ‹ค. •„ง ตฌํ˜„ํ•ดณด„ •Š•˜ธฐ •Œฌธ— ญ ํ• ง€ •„‹ˆ€งŒ.) ‹œ„ด žˆ—ˆ‹คฉด ํ•˜ฃจข… ‹œ„ํ•ดณดŠ”ฐ •„‰ฝฒŒ„ ํ•™ต— ŠฆฒŒ „ฐฉํ•ด„œ;
    • ˜ˆ „— ํ–ˆ—ˆ˜ ด MFC … ํ•œฒˆ— ฝธฐ˜€Š”ฐ, ทธ•Œ ดƒ—ฝ”จ … (bible, 2™„„, 5ํŒ ™„ฒฝ€ด“œ)ดž‘ Jeff Prosise ˜ … ฒˆ—ญํŒ„ ฐ™ด ฝœฉด„œ ดƒ—ฝ”จ…˜ žฅ  Jeff •„ €”จ (?) …˜ žฅ „ ถฆฌํ–ˆ—ˆ—ˆ‹ค. ํ•œํŽธ€ ‹ค œ –ดŠ •„ VC++ Programming „ ํ•˜ณ  ‚œ’ค—˜ Tip “คด ํ•œ‹คฉด, ํ•œํŽธ€ API Programming „ „ ตํ•˜ณ  ‚œ ‹คŒ MFC ฐจ ฐจ ดํ•ดํ•ด‚˜€Š”  •„ „ช…ํ•œ‹คณ  ํ•ด• ํ• Œ. MFC ฒ˜Œ ํ•˜ณ  ‚œ’ค 'ปดํ“จํ„€ํ–ˆ‹ค ˜ ‹ํ˜ฐ„ ™„ฒฝ€ด“œ •ž€„ MFC Framework „ช… Jeff ˜ …œกœ ํ•ดฒฐํ•  ˆ˜ žˆ—ˆ˜ ธฐ–ตด žˆ‹ค.

1 (ˆ˜):
  • SE - UML. ฆฌ  ‘ํ•œ ‚ดšฉด ƒฐ˜–ด„œธ€ ธดžฅฐด –จ–ดกŒ‹ค. 80-100 —ฌžฅ˜ PPT 1‹œ„ •„— ‹ค „ช…ํ•˜‹œŠ” ตˆ˜‹˜„ ณดฉด PL ‹œ„ ฒœ€ฐจด‹ค. (PLŠ” 1‹œ„— 6~12žฅ;)
  • Numerical Analysis Report ™€ OS Report ํ•˜Šƒณ  ˜ ฐค„ ƒœŠ”ฐ ('˜' ธ ดœ Š”, ค‘„— –ธ œ žคŠ”€ ชจฅดฒ ‹คŠ”  ; OS — Œ€ํ•œ Design ทธฆฐ ข…ด€ žˆธด ํ•œ ฒƒ ณดฉด „ช… OS Report ํ•˜Š” ค‘„ด˜€˜ฒƒ ฐ™€ฐ; ดถˆ„ ž˜ ฎณ  ž”ฒƒ ณดฉด ‹ ธฐํ•˜ธด ํ•˜‹ค;;) NA ˆ™ œ— Œ€ํ•œ Quality Management — Œ€ํ•œ ‹คํŒจณ  ํ•ด• ํ• Œ. ‹œ„ กฐ ˆ„ ํ•˜ณ  OS Report — ‹œ„„ ” ํˆฌžํ•  ฐฉฒ•ด žˆ—ˆŒ—„ ถˆตฌํ•˜ณ  กฐธˆ •„‰ฝ‹ค. ˜ฌํ•ด˜ ํ™”‘Š” ฐœธ  ‹œ„€ฆฌŠฅ ฅฐฐ–‘ด  ฒƒ ฐ™‹ค. (99ํ•™ฒˆ. 3ํ•™…„ด ˜„ก ดชจ–‘ด‹ˆ €„Ÿฝ‹ค;)
  • Simple Design — Œ€ํ•ด„œ ‚ด€ ž˜ชป ƒฐํ•œ ฒƒ ฐ™‹ค. Up-Front Design žฒด ตฌฒด œกœ “ค–ดฐ”„•Œ –งˆ‚˜ ณตžกํ•  ˆ˜ žˆŠ”€„ ชจฅดฉด„œ ฒ˜Œ€„ฐ Simple Design „ …ํ• ˆ˜ žˆ„Œ ํ•˜Š” ƒฐ„ ํ•ดณธ‹ค. ƒฐํ•ดณด‹ˆ, —ฌํƒœป ‚ด€ ทธฆฐ  „ฒด UML Class Design € ˜ ‹ค Simple Design ดฒ ตฐ. -_-; (Interface “ค Method ด„„ ฒฐ • •ˆํ–ˆœ‹ˆŒ.)
  • €ฆฌŠ” To Read Later ณดฉด„œ ‹ค‹œธˆ ‹คง„;

4›”

15 (›”):
  • ˆ˜ํ•™ณต€ žฌฐœค‘. ํ•œ & —ฐ† & „ ‹ค‹œ ณดŠ”ค‘. กฐธˆ ธ‰ํžˆ ณ  žˆ–ด„œ ฒดํ• Œด •ฝ„ •จ. ˆ˜ง„ ด Œ€ˆ˜ํ•™ ธฐํ•˜ํ•™˜ ตฐจ ดŠ” งด ธƒŠ—ˆ‹ค. (ด งด ‚˜˜คธฐ  „— ‹คฅธ ‚ฌžŒ“ค˜  •ฆฌ€ —ฌŸฌฐœ ‚˜™”‹ค. ‹คˆ˜„™€ ˆ˜ง„ ด ทธ ˆœ„œ— งžฒŒ 1:1งคด œ‹คŠ” ฒƒ€„ฐ. •„. „„™€ „„€ —ฐฒฐ˜ธฐž€ ‰ฝ€ •Š„‹ค.)
  • ‚ด€ ‹œ„ „‚ฐ— ทธ ‡ฒŒ ํˆฌฒ ํ•˜€ ชปํ•˜‹คŠ”   ฐœฒฌ. ‹คฅธ ‚ฌžŒ Pair ํ• •ŒŠ” ฆฐ ‹œ„ฒดํฌ —ด‹ฌํžˆ ํ–ˆงŒ,  •ž‘ ‚ด€ “ฐณ  žˆŠ” ‹œ„„  œŒ€กœ ธฐกํ•˜€ ชปํ•˜˜€‹ค. (€ธˆ 1‹œ„ •„ „ํš— —†Š” กœ ˜ค„ค‘;;)
  • ด„˜ ธฐŠฅ„ ‹ค‹œ ฝŒ.
  • SWEBOK Software Construction €„ ํ•œฒˆ •ฆฌ. Software Design PartŠ” ทธž˜„ งˆŒ— “ค—ˆ—ˆŠ”ฐ, Construction € „ฅ˜ €„ด ง˜— •ˆ“ค–ดํ•˜Š”ค‘. SWEBOK ด žˆŠ” ดœ € ํ•ด‹ Knowledge Area — Œ€ํ•ด„œ ข…˜ ดํ•ด˜ ํ‹€„  œณตํ•˜Š” ฒƒธฐ, ดฒˆ •ํ„Š” ทธ —ญํ• „  œŒ€กœ ํ•˜€ ชปํ–ˆ‹คŠ” ƒฐด “ ‹ค. ‹คฅธ …„ ฐพ•„ณด˜€ ‹จ „ˆ›ฐ˜€ ํ•ด•ฒ ‹ค. ทธž˜„ ‹จ ‚ด„ œ„ํ•ด ํ•œฒˆ”;
16 (ํ™”):
  • Operating System Concepts. Process € จ  „ฐ˜ œกœ ํ›‘–ด„. ™ธฐํ™” ฌธ œ‚˜ ฐ“œฝ ฐ™€ šฉ–ด“ค€ ด „— Client / Server Programming ํ• •Œ Šค ˆ“œ ™ธฐํ™” €„„ ํ•˜ฉด„œ  ‘ํ•ดณธ€ „ต  œˆ™ํ•˜ฒŒ ‹ค€™”‹ค. (Process ‚˜ Thread ‚˜ ™ธฐํ™” €„— Œ€ํ•ด„œŠ” ˜ ‹คฐ” —†–ดณดธ‹ค.)
    • € ” ฒด„ œกœ ณต€ํ•  ˜ˆƒ „ํ–‰ Chapter  Š” ฒƒด ” ชฉํ‘œ€ ช…‹œ œกœ ณดฒƒ ฐ™‹ค. (ดฒƒ€ 'ชฐž…˜ ฆ›€' —„œ˜ ชฐž…ํ•˜ธฐ ‰ฌšด ํ˜•ํƒœ งŒ“ค–ด „ฒƒด ƒฐํ•œ‹ค. ฐ, ดดŸฐ‹ค „‚ฐํ•˜ณ  žˆ‹คณ  •Œณ žˆŠ” ƒํƒœ—„œ„ ชฐž…ด ˜ ค‚˜;)
    • SWEBOK —„œŠ” MindMap ด ž˜  šฉ˜—ˆ—ˆŠ”ฐ, OSC —„œŠ” ˜คํžˆ ค ConceptMap ‹  ‘ด ” šฉดํ•ดณด˜€‹ค. ดฒƒ„ …˜ Šคํƒ€— ˜ํ–ฅ„ ฐ›„“. (ธฐกด˜ SWEBOK ‹ ํƒ€„—  –€ Index-Hierarchy Šคํƒ€ด ฌธ œ€ žˆธด ํ•˜‹ค.)
  • SWEBOK Construction €„ ํ•œฒˆ ” „. ํ•˜€งŒ —ฌ „ํžˆ งˆŒ— •ˆ“ค–ดํ•˜Š”ค‘; (ƒ“ฐ งฒ˜Ÿ '˜–ดกœ œ ™ํ™”… ฝณ  „ตŠคํ”–ด ˜ฌธํŒ ฝ–ด•' ดํ•ดํ•˜Š” ‚ดšฉด—ฌ„œ ทธŸฐ€;) Code Construction € •„ฌดž˜„ Design ˜—ญด‚˜ Test ˜—ญ— „ํ•ด„œ art (˜ˆˆ  ˜Š” ธฐˆ )  ธ ธกฉดด ปค„œ ทธŸฌ ค‚˜. ด‹คฅธ  ˆํŸฐŠค ณดŠ” ฒƒด ‚˜„ ฒƒ ฐ™‹ค. ํ•œ„ ƒฐํ•˜ž.
17 (ˆ˜):
  • ‹ค˜ฐ”‚˜ ‹ค‹œ˜ … ฝŒ. „Šค •ˆ—„œ  ˆฐ˜ (ฐ˜ ธ …‚ฌดฆˆ ธฐ€ €šด ‚ดšฉธฐ€œกœ ‹œ„‹ 100ํŽ˜ด€Š” ฝŠ” ฒƒ ฐ™‹ค.)ฝณ , ง‘—„œ 1‹œ„ 10„ •„ จ„œ ‚˜จธ€ ‹ค ฝ—ˆ‹ค. (ดฒˆ‚ดกœ  •ฆฌ & € ˜ฌฆฌธฐ)
    • ธƒ Š—ˆ˜ ‚ดšฉ Œ€ฐ•: 'ƒ,‚ฌ, ‹ „ ฒดํ—˜' —„œ ˜ํ•™šฉ–ดค‘ 'ๆ‰€ๅœจ่ญ˜' ดŠ” ฒƒด žˆ‹คณ  ํ•œ‹ค. ณ‘›—„œ ํ™˜ž˜ ˜‹ˆ˜€ด    ‚ฎ•„€ณ  žˆ„ •Œ ทธ ˆ˜€„ €‚ฌํ•˜ธฐœ„ํ•ด ‹คŒ ฐ™€ งˆฌธ„ ํ•œ‹ค.
  • '—ฌธฐŠ” –ด””ž…‹ˆŒ?'

    '‹‹ € ˆ„ตฌž…‹ˆŒ?'

    '€ธˆ€ –ธ œž…‹ˆŒ?'

ณต„ , ‹œ„ , ทธฆฌณ  žธฐž‹ — Œ€ํ•œ ณธงˆ  งˆฌธ“ค. ํ™˜ž '„‹จ' ํ•˜“ด ‚˜ '„‹จ' ํ•˜Š”  € งˆฌธ— Œ€ํ•ด ‚˜Š” –ด–ค ‹ต„ ‚ดฆดŒ? –ธ œ‚˜ ‚˜Š” งˆฌธ— Œ€ํ•ด ฒฐก „ ‚ดฆฌ€ •ŠŠ”, ํ‘œํ˜„ํ•˜€ •ŠŠ” Read-Only User˜ œ„˜— žˆŠ” ฒฝšฐ€ งŽ•˜‹ค. —ฐ ‚˜Š” –ด–ค ‹ต„ ‚ดฆดŒ? ( € €—„œ˜ '‚˜'™€ €ธˆ ด €„ “ฐŠ” '‚˜'€ ฐ™€ ‚ฌžŒด •„‹ˆŠ” Š‚Œด “œŠ” ดœ Š” ญ˜Œ.)
  • OSC  „ฒด œกœ ํ›‘–ดณดธฐ 2ฐจ (ํ›‘–ดณดธฐกœ Œ€žต 2‹œ„ ดšฉ). … žฒด€ ž˜ งŒ“ค–ดกŒ‹คŠ” ƒฐด “ ‹ค. 'Concept' — ถฉ‹คํ•˜‹ค. …— Œ€ํ•œ  „ฐ˜ ธ ‹œ•Š” žกํžŒ ฒƒ ฐ™‹ค.
    •  „ฐ˜ ธ OS ž‘™›ฆฌ€ 1,2žฅ— ณ.
    • Process Management € 3,4,5,6,7— ณ. ‹œํ—˜ฒ”œ„Š” Process Synchronization Œ€.
    • Memory Management
    • I/O Management
  • ฌธ œ : ˜คํ›„ ํ™ฉธˆ‹œ„— 4‹œ„ด‚˜
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:05
Processing time 0.2904 sec