E D R , A S I H C RSS

Seminar How To Program It

• ๋“ค๋Ÿฌ˜ How to Read a Bookณผ ด๋ฆฌ•˜ How to Solve it˜  „†ต„ ปด“จ„”„๋กœธ๋ž˜๋ฐ ชฝ—„œ ž‡๋Š” „ธ๋ฏธ๋‚˜ฐ€ 2002๋…„ 4›” 11‘•™๋Œ€•™ต—„œ žˆ—ˆ๋‹ค.


”„๋กœธ๋ž˜๋ฐด๋ž€ ฒƒ„ –ด๋–ปฒŒ •˜๋Š”ฐ€? –ด๋–ค ‚ฌ ˜ ณผ •„ ฑฐ˜๋Š”ฐ€? –ด๋–ค ง€  ๋ณดกฐ๋ฌผ˜ ๋„›€„ ๋ฐ›„ ˆ˜ žˆ๋Š”ฐ€? –ด๋–ปฒŒ •˜๋ฉด ”„๋กœธ๋ž˜๋ฐ„ ๋” ž˜•  ˆ˜ žˆ„นŒ?

  • CrcCard (Index Card -- The finalist of Jolt Award for "design tools" along with Rational Rose Enterprise Edition)
  • Paper Shell Programming -- Becoming a Pseudo-Turing Machine Yourself
  • TestDrivenDevelopment -- ”„๋กœธ๋ž˜๋ฐ˜ ฝ”Ž˜๋ฅด๋‹ˆ Šค   „™˜
  • Stepwise Refinement -- „๋ถ€•œ ๋ฏธ๋ž˜, ‹ „ •œ ณผฑฐ (see also NoSmok:ProgrammingOnPurpose )
  • White Board -- Communicate with the Board
  • PairProgramming -- 1+1 > 2
  • Refactoring -- ›„ฐ œ๋ฐœ๋ฒ•
  • DesignPatterns -- ๋””žŒจ„ ณต๋ถ€  ˆ๋Œ€๋กœ •˜ง€ ๋งˆ๋
  • Coding Style -- esp. How to Name it (”„๋กœธ๋ž˜๋จธ๋ฅผ œ„•œ  •๋ช…•™. "ๅญๆ›ฐ ๅฟ…ไนŸๆญฃๅไนŽ...ๅ๏ฅงๆญฃๅ‰‡่จ€๏ฅง้ † ่จ€๏ฅง้ †ๅ‰‡ไบ‹๏ฅงๆˆ" <๋…ผ–ด> ž๋กœŽธ)
  • Managing To Do List -- How to Become More Productive Only With a To-do List While Programming
  • Programmer's Journal -- Keeping a Diary (see also NoSmok:KeepaJournalToLiveBetter )
  • Lifelong Learning as a Programmer -- Teach Yourself Programming in Ten Years (http://www.norvig.com/21-days.html )
  • What to Read -- Programmer's Reading List

œ„˜ ฒƒ„‘‹œ„ ๋™•ˆ ๋‹•œ‹ค๋Š” ฒƒ€ -- „ธ๋ฏธ๋‚˜  „ณผ ›„— ‚ฌ๋žŒด ๋‹ฌ๋ง€๋Š” ˆ˜ค€—„œ -- ๋ถˆฐ€๋Šฅ•˜ , TDD™€ PP, ธ๋ฆฌ  DP(RF)๋ฅผ ‘‘ œผ๋กœ‹ค๋ฃจ Šต๋‹ˆ๋‹ค. ฐ€๋Šฅ•˜๋ฉด  œ ตฌ๋‘„ค๋ช…€ งงฒŒ „  ๋‚˜๋จธง€ ‹œ„€ „ฐ€ง€๋ฅผ ง ‘ ‹Šต, † ๋ก •˜๋Š” ‹œ„ด ๋˜๋„๋ก •˜ Šต๋‹ˆ๋‹ค. •  ฒƒ€ ๋งŽ  ‹œ„€ งงŠต๋‹ˆ๋‹ค. š”˜  €˜ "„ธ๋ฏธ๋‚˜ ™”๋‘"๋Š” –ด๋–ปฒŒ •˜๋ฉด " ฒŒ  „‹ฌ"•˜  นŠนจ๋‹ฒŒ •˜ฑฐ๋‚˜ ˜€ ๋ฐ˜„•˜ ˜ ๋‹–‘•˜ฒŒ ‹—˜•ด ๋ณผ —ฌง€๋ฅผ ๋งŽ œณต•  ˆ˜ žˆ„นŒ •˜๋Š” ฒƒž…๋‹ˆ๋‹ค.

๋Œ€ƒ€ ”„๋กœธ๋ž˜๋ฐ ฒฝ—˜ด ๋ถ€กฑ•œ ๋ถ„, ˜€ ๋„ˆ๋ฌด ๋งŽ€ ๋ถ„.

„ธ๋ฏธ๋‚˜๋Š” ‹Šต/† ๋ก  ‘‹˜ •ธ๋“œ˜„ธ๋ฏธ๋‚˜ฐ€ ๋  ฒƒด๋ฉฐ, ๋”ฐ๋„œ › œ•œžˆ–ด••  ฒƒž„. •ฝ 20๋ช… ๋‚ด™ธฐ€  ๋‹•  ๋“ฏ. ("Tell me and I forget, teach me, and I may remember, involve me and I learn." -- Benjamin Franklin)

˜‘๋™  •™Šต„ ๋ชฉ‘œ๋กœ •จ --  €๋Š” „œ๋กœ –ผ๋งˆ๋‚˜ ๋งŽ€ ฒƒ„ ๋ฐฐšธ ˆ˜ žˆ๋Š”ง€ ๋งค๋ฒˆ ๋†€๋ž๋‹ˆ๋‹ค.

--น€ฐฝค€


‹œ„ณผ žฅ†Œ

  • žฅ†Œ: ‘•™๋Œ€•™ต ณต๋Œ€(๋ด…ŠคŠธ™€) 7ธต PC‹ (4744)
  • (ณต‹ ) ‹œ„:4›” 11ผ 7‹œ 30๋ถ„~9‹œ 30๋ถ„ († ๋ก € 9‹œ 30๋ถ„—„œ 10‹œนŒง€ „–‰๋  ˜ˆ •)
  • ๋Œ€ƒ: ‘•™๋Œ€•™ต ปด“จ„ณต•™ณผ  œ๋กœŽ˜ง€ šŒ› ๋ฐ ๋น„šŒ›, ˜€ ƒ€ณผ, ƒ€•™ต •™ƒ/ตˆ˜/ผ๋ฐ˜
  • ต†ตŽธ : 212, 21๋ฒˆ ‘„๋™ ‘๋Œ€ž…ตฌ. ง€•˜  7˜„  ƒ๋„—ญ •˜ฐจ (ƒ๋„—ญ—„œ 20๋ถ„ ฑฐ๋ฆฌ)

”„๋กœธ๋žจ (pun intended)

ค€๋น„
  • 7:00-7:30 „ธ๋ฏธ๋‚˜ ค€๋น„, ™˜ฒฝ „˜, ž๋ฆฌ „ ƒ, ฐ –ธ–ด ธ๋ฃน๋ณ„ xUnit(or assert) ‚ฌšฉ๋ฒ•  •๋ฆฌ/Šค„ฐ๋””

๋ณธ „ธ๋ฏธ๋‚˜
  • 7:30-7:50 •‚ฌ ๋„ฐฉ. TDD ๋ฐ RF ‹œ—ฐ(Python). ๋Œ€˜• ™”๋ฉด„ ๋ณด  ›•˜๋Š” ปค”Œ€ ๋”ฐ๋•  ˆ˜ žˆŒ.
  • 7:50-8:00 PP— ๋Œ€•œ „๋žต•œ †Œœ, ฃผ˜  ๋“ฑ.
  • 8:00-8:10 ปค”Œ๋ณ„๋กœ TDD ‹Šต
  • 8:10-8:30 ธ๋ฃน ๋‚˜๋ˆ„ธฐ, Crc Card †Œœ, ”„๋กœ Šธ š”ตฌ‚ฌ•†Œœ ๋ฐ ธ๋ฃน๋ณ„ † ˜
  • 8:30-9:30 ธ๋ฃน๋ณ„ œ๋ฐœ „–‰ (œ๋ฐœ ‘  ˜ š”ตฌ‚ฌ•ˆ˜ •)

† ๋ก 
  • 9:30-9:35 ธ๋ฃน๋ณ„ (๋‚ด๋ถ€) † ๋ก , ‰ฐ€
  • 9:35-10:00 ”„๋กœธ๋žจ ‹œ—ฐ, „ค๋ช…,  „ฒด † ๋ก 

ค€๋น„ ‚ฌ•

  • PC ๋ฏธ๋ฆฌ …‹Œ… - ”„๋กœ …˜ •  ปด“จ„ฐ : Idle Fork + Python 2.2
  • ธฐƒ€ ๋‹ค๋ฅธ ปด“จ„ฐ๋“ค€ –ด๋–ปฒŒ • นŒš”? ธฐ๋ณธœผ๋กœ Visual Studio ๋Š” น”๋ žˆ„ ฒƒด๋ฏ€๋กœ C, C++ ๋Š” ๋˜ ง€๋งŒ, Java “ฐ‹œ๋Š” ๋ถ„๋“ค€?
    • ธฐ๋ณธ œผ๋กœ Idle Fork™€ Python 2.2๋Š” ๋ชจ๋‘ น”•„••จ. (•‚ฌฐ€ Pythonœผ๋กœ ‹œ๋ฒ”„ ๋ณดฒƒ , ฑธ ๋ณด๋ฉด„œ ธ๋Œ€๋กœ ๋”ฐ๋•˜  ‹€ ปค”Œ€ ธ๋ ‡ฒŒ •  ˆ˜ žˆ๋„๋ก)
    • Java 3๋Œ€ : JDK 1.3.1_02, eclipse 2.0 SDK(pre-release), Editplus „˜ ๋ฐ „Œ…
    • C++ 3๋Œ€ : VC++ 6.0 („˜ ๋˜–ด žˆ๋Š” ƒƒœ ™•ฐจ›)
    • python 4๋Œ€ : Python 2.2, Idle Fork


~cpp 
7‹œ ~ 7‹œ 30๋ถ„ ‘๋น„ ณผ • (ค€๋น„ ›€ 3~4๋ช… ๋‹• ๋“ฏ •ฉ๋‹ˆ๋‹ค.)

0. ฒญ†Œ,  •๋ฆฌ
1. user  œ™ธ ณตœ   ฒ€ & ๋ฐ”ด๋ŸฌŠค ฒดฌ(v3 ๋””Šคผ“)
2. ž๋ฆฌ ๋ฐฐ˜
    Java 3๋Œ€ : JDK 1.3.1_02,   eclipse 2.0 SDK(pre-release),   Editplus „˜ ๋ฐ „Œ…
    C++ 3๋Œ€ : VC++ 6.0 („˜ ๋˜–ด žˆ๋Š” ƒƒœ ™•ธ)
     python 4๋Œ€ : Python 2.2, Idle Fork
     ”„๋กœ …˜ •  ปด“จ„ฐ : Idle Fork + Python 2.2
3. ”„๋กœ Šธ „˜

0,1,2 ๋ฒˆ ›ด ๋ ฒฝšฐ ๋™‹œ „–‰, 2๋ฒˆ ณผ • ๋ณ‘ ˆ˜–‰ 3๋ฒˆ ๋‹
ธฐƒ€ ‚ฌ•ญ :
•ด๋‹น ๋‚ œ— 7ธต˜ PC‹— „ธ๋ฏธ๋‚˜ ณต ๋ฅผ ๋ถ™—ฌ๋„ ๋œ‹  —ˆ๋ฝ ๋ฐ›•˜Šต๋‹ˆ๋‹ค.  €๋ณด๋‹ค ๋จผ € pc‹— ๋„ฐฉ•‹œ„žˆœ‹ ๋ถ„๋“ค€  ๋‹•œ ณต ๋ฅผ 7ธต PC‹ค ๋ฌธ— ๋ถ™—ฌ ฃผ„š”. PC˜ ™•๋ณด—ญ‹œ žœ ง€๋งŒ, ๋งˆฐฌฐ€ง€ ž…๋‹ˆ๋‹ค. --ƒ๋ฏผ

Thread

žฅ†Œ ด€๋ —ฌ๋‹ด : ๋•ค€™€, „œฐ€ 2ธต„ ๋Œ€—ฌ๋ฅผ œ„••Œ•„ ๋ณด•˜ง€๋งŒ, •™ƒ˜ ถŒ•œœผ๋กœ๋Š” ๋นŒ๋ฆดˆ˜ —†๋‹  –ˆŠต๋‹ˆ๋‹ค. ˆ˜  •˜…จŠต๋‹ˆ๋‹ค. ๋งŒ•ฝ ๋‹Œ— •„𔕠•Œ๋Š” •™ณผžฅ๋‹˜˜ •ด๋‹–‰‚ฌ˜ ๋ฌธ„œ  œœ›„— žฅ†Œ ™•๋ณดฐ€ ฐ€๋Šฅ• ๋“ฏ •ฉ๋‹ˆ๋‹ค. ณผ‚ฌ—„œ ๋ฌธ„œ— ๋Œ€•œ ผ๋ฐ˜ –‘‹€ กดžฌ•˜ง€ •Š๋Š”๋‹  •ฉ๋‹ˆ๋‹ค.(ณผฑฐ PC ๋นŒ๋ „•Œ ˜๋Ÿผ) --ƒ๋ฏผ

4›” 12€ MT™€ ฒน˜ , ๋‚˜๋จธง€, 9ด๋‚˜ 11‹„ฑฐ ฐ™€๋ฐš”.. „ธ๋ฏธ๋‚˜ ธฐ๋Œ€๋˜๋Š”๋ฐš”..^^ - ƒ˜‘

‘..  •๋ง •˜  ‹€๋ฐ.. 9€ šŒ˜ฐ€(ธฐ๋ถ€) •„•„•….. –ด..–ดฉŒ๋ฉด ‹ง€š”..  €๋Š”..?? ใ… .ใ…  --„ ˜

šŒ˜ งธ  ™€~ ๋‚œ ธฐˆ™‚ฌ ๋™ธฐšŒ งธ  ฐ€๋Š”ตฌ๋งŒ.. šŒ˜๋ž‘ ๋™ธฐšŒ๋ž‘ ๋น„ต•ด๋ณด๋ฉด.. ๋™ธฐšŒฐ€ ›จ”ฌ๋” ƒ€ฒฉปค. -ƒ˜‘

˜˜ˆ~~~  œ ธฐˆ™‚ฌ ๋™ธฐšŒ •ˆ๋น  ธ๋„ ๋˜„š”... 9ผ๋‚  ๋™ธฐšŒ ˜€๋Š”๋ฐ.. -ƒ˜‘


 •๋ง žฌ๋ฐŒ„ ฒƒ ฐ™Šต๋‹ˆ๋‹ค. ๋‚˜๋„ ฐˆ ˆ˜ žˆœผ๋ฉด ‹„…๋ฐ... ฐธ„•˜ง€ ๋ชป•˜๋Š” ‚ฌ๋žŒ๋“ค„ œ„•†Œ‘•œ „ธ๋ฏธ๋‚˜ ž๋ฃŒ๋ฅผ ณตœ •ฃผ‹œ๋ฉด ฐ‚ฌ•˜ Šต๋‹ˆ๋‹ค. ฐฝค€ตฐ„ ๋งŒ๋‚œ ฑด —ฌ๋Ÿฌ๋ถ„ด๋‚˜  €๋‚˜ ฐธ –‰šดž…๋‹ˆ๋‹ค. 24‹œ„ ฐ€๋ฅดณ๋‹ฌ๋  •˜„š”. ^^ ด๋Ÿฐ •˜๋Š” •™ตกธ—…•˜๋ฉด ๋‹‹œ๋Š”  ‘•˜ง€ ๋ชป•  ฒƒž…๋‹ˆ๋‹ค. ^^ (ธ๋‚˜ €๋‚˜  œ๋กœŽ˜ €๋„ •„‹Œ๋ฐ ธ€„ ˜ฌ๋ ค๋„ ๋˜๋Š” ฑดง€ ๋ชจ๋ฅด ตฐš”.) - ๋ฐ•ง€›ˆ
neocoin:œ„‚ค— Šน • ๋กœกดžฌ •˜ง€ •Š ,—ด–ด๋…ผ œ ฐ€ ธ€„ “ฐ  ˜ฒฌ„ ฃผ‹‚ฌ •„œ ž…๋‹ˆ๋‹ค.  €๋ฒˆ๋‹ฌ ๋ˆ„ตฐฐ€ •จ๋ถ€๋กœ ง€šฐ๋Š” ‚ฌƒœฐ€ ๋ฐœƒ•„œ ผ๋‹ง€šฐ๋Š” ถŒ•œ— ๋Œ€•˜—ฌ HGC(Human Garbage Collector- •„‹ˆ๋ผ KHGCฐ€.--a)ฒด œ๋กœ ๋ฐ”พธ—ˆง€๋งŒš”. --ƒ๋ฏผ

ƒ€•™ต •™ƒ˜ ฐธ„„ ฐ€๋Šฅผ€•ฃผ…”„œ ๋ˆˆ๋ฌผ๋‚˜ฒŒ ฐ‚ฌ••˜  žˆŠต๋‹ˆ๋‹ค. ^^; --„ƒ
DeleteMe) •—! ƒ”จ๋‹; ๋ถ€ง€๋Ÿฐ๋„ •˜…”๋ผ; -- „œ

•˜๋ฅผ ๋…น™”•„œ‹ค๋ฅธ ‚ฌ๋žŒ๋„ ๋ณผ ˆ˜ žˆฒŒ •˜ ž •ฉ๋‹ˆ๋‹ค. œฐฎ Šต๋‹ˆนŒ? -- •ฌ๋ก
•—.. ใ…ก.ใ…ก๋…น™”.. ข€. ๋นผž…  ฐ€••˜๋‚˜.. --„ ˜

‚ฌ๋žŒด ๋งŽ•„ ง€๋‹ˆ ฐธฐ€— ๋Œ€•˜—ฌ ๋ถˆ•ˆ•œ ฐด ๋“œ„š”. zpšŒ›— •œ•˜—ฌ ๋ŠฆฒŒ ˜ค๋Š” ‚ฌ๋žŒ Œ๋ฃŒˆ˜ ‚ฌธฐ!!! --ƒ๋ฏผ

 €๋„ ƒ€•™ตƒฑฐ๋“ š”.. ƒ˜• ›„๋ฐฐ๋ž๋‹ˆ๋‹ค. ‹ค๋ •ˆ๋˜„œ ง ‘ ฐธฐ€๋Š” ๋ชป•˜  ฐธด€•ด๋ณด  ‹ถ๋„š”. ž˜๋ถ€ƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ()(__)() -- œœ ™˜

vim “ฐ‹œ๋Š” ๋ถ„๋“ค€ —ฌธฐ๋ฅผ.

ˆœ๋ฒˆ ฐธฐ€ ‹ ฒญž
1 „ šฐ
2 œ‘‹
3 ๋ฐ•˜œ˜
4 •„œ
5 ๋‚จƒ˜‘
6 •ˆ˜
7 ๋ฅ˜ƒ๋ฏผ
8 ž„ตฌ
9  •„ 
10 ด๋ด๋
11 น€๋‚จ›ˆ
12  •ง
13 ‹ žฌ๋™
14 ฐฝ„
15 „ ˜
16 „ƒ
17 ด๋•ค€
18 ž„ฐจ„
19 น€˜•šฉ
20 น€Šน๋ฒ”
21 „œง€›
22 ™„ฑ๋‘


ˆœ๋ฒˆฐธด€ ‹ ฒญž
1 œƒœ˜
2  •ฌ๋ก
3 ๋ฐ•ง€™˜
4 œœ ™˜
5 •œฃผ
6 น€ •ค€
7 น€šฉธฐ

  • ฐธฐ€ž(aka Player) : ง ‘ •™Šต— ๋™ฐธ•˜  •˜ † ๋ก •˜  •œ๋ฐ”ƒ• žฌ๋ฏธžˆฒŒ ๋†€•„๋ณผ ‚ฌ๋žŒ.
  • ฐธด€ž(aka Spectator) : ธ๋“ค„ ตฌฒฝ•  ‚ฌ๋žŒ. (ด ๋ถ„๋“ค€ Œ€ณผ  € Œ€€ –ด๋–ปฒŒ ๋‹ค๋ฅดฒŒ •˜๋”๋ผ, Œ€€ ๋ญ๋ฅผ •˜ , Œ€€ ๋ญ๋ฅผ •ˆ•˜๋”๋ผ, ธ๋žฌ๋”๋‹ˆ ๋‚˜‘— š”๋ ‡ฒŒ  €๋ ‡ฒŒ  ƒ„ •˜๋”๋ผ ๋“ฑ˜ ด€ฐฐ„ •˜ , † ๋ก ‹œ— –ธธ‰•ฃผ‹œ๋ฉด ๋ชจ๋‘—ฒŒ ๋„›€ด ๋˜ Šต๋‹ˆ๋‹ค)

๋ฌด—‡„ ข€ ๋” ‘‘ œผ๋กœ ฆธฐ  ‹Šต๋‹ˆนŒ? 2ฐ€ง€๋งŒ  ๋ฅธ๋‹ค๋ฉด? (๋ฌดธฐ๋ช… ˆฌ‘œ; n++ )
Crc Card & Index Card & White Board1
Paper Shell Programming 1
TestDrivenDevelopment 5
Stepwise Refinement 1
PairProgramming 6
Refactoring 3
DesignPatterns 4
Coding Style 2
Managing To Do List 3
Programmer's Journal, Lifelong Learning & What to Read2

ง“ธฐ


C
  • น€๋‚จ›ˆ,  •ง

C++
  • •ˆ˜, ‹ žฌ๋™
  • „ ˜ธ, ๋‚จƒ˜‘
  • ฐฝ„ญ, ๋ฐ•˜œ˜

Java
  • „ šฐ, ž„ฐจ„
  • ด๋•ค€, ž„ตฌ
  • œ‘‹,  •„ 

Python
  • „ƒ, น€Šน๋ฒ”
  • •„œ, ด๋ด๋
  • น€˜•šฉ, ๋ฅ˜ƒ๋ฏผ
  • ™„ฑ๋‘, „œง€›

Œ€ „  •

•ด๋‹Œ€€ œ๋ฐœ ™˜ฒฝ, –ธ–ด „  •๋ถ€„ฐ, ”„๋กœธ๋žจ ๋””žธ, ฝ”๋”ฉนŒง€ ๋ชจ๋‘ •˜ •˜ฒŒ ๋ฉ๋‹ˆ๋‹ค. •œฐ€ง€ ๋ฌธ œ ƒ™ฉฃผ–ดงˆ ฒƒ ,  œฐ€  —ญ• „ •ฉ๋‹ˆ๋‹ค. œ๋ฐœ „–‰ ‘— ๋ช‡๋ฒˆ˜ š”ตฌ‚ฌ•ˆ˜ •žˆ„ ฒƒด๋ฏ€๋กœ, " ‘๋„"— ๋Œ€•œ …ŒŠคŠธฐ€ ž๋™œผ๋กœ ด๋ฃจ–ด งˆ ฒƒž…๋‹ˆ๋‹ค. œ๋ฐœ ™„๋ฃŒ ›„—๋Š” ฐฐ ๋‹ค๋ฅธ –ธ–ด๋กœ ตฌ˜„๋œ ”„๋กœธ๋žจ๋“ค„ ‚ดŽด๋ณด๋ฉฐ ๋น„ต † ๋ก „ •  ฒƒž…๋‹ˆ๋‹ค.

Lemon Team น€๋‚จ›ˆ, ‹ žฌ๋™, ๋‚จƒ˜‘, „ šฐ, ฐฝ„

Orange Team  •ง, •ˆ˜, „ ˜ธ, ด๋•ค€

Cocoa Team œ‘‹,  •„ , ž„ตฌผ, ž„ฐจ„ญ, ๋ฐ•˜œ˜

Pipe Team „ƒ, •„œ, ๋ฅ˜ƒ๋ฏผ, น€˜•šฉ

Snake Team น€Šน๋ฒ”, ด๋ด๋ผ, „œง€›, ™„ฑ๋‘


˜Œ—๋Š” ‹ ž…ƒ ๋Œ€ƒœผ๋กœ Python •˜ฐ€ žˆ๋‹  •„œ, ฑฐธฐ— ๋ณดƒฌด ๋ นŒ •˜๋Š” ๋งˆŒœผ๋กœ „ธ๋ฏธ๋‚˜๋ฅผ •ด๋“œ๋ฆฌ ‹  –ˆ๋Š”๋ฐ, –ด๋–ปฒŒ ‘„—„œ "”„๋กœธ๋ž˜๋ฐ  „๋ฐ˜"— ๋Œ€•œ „ธ๋ฏธ๋‚˜๋กœ „ฒฉด ๋ณ€•œ ฒƒ ฐ™Šต๋‹ˆ๋‹ค. ‹Šต ‘‹œผ๋กœ •˜ฒŒ ๋  ฒƒ , •„๋ฌด๋ฆฌ Pythonด ๋ฐฐšฐธฐ ‰ฌšด –ธ–ด๋  •ด๋„ Python— ˆ™•œ ‚ฌ๋žŒ•˜๋‚˜๋„ —†๋Š” Ž˜–ดฐ€ ๋‘‹œ„ •ˆ— ๋ญ”ฐ€ ๋‹ค๋ฅธ ฒƒ„ (Python„ †ต•ด) žŒ๋‹ค๋Š” ฒƒ€ –ด๋  , ๋˜ šจœ ง€ ๋ชป•˜ธฐ ๋•Œ๋ฌธ—, —ฌ๋Ÿฌ๋ถ„๋“ค ž‹ ฐ€žฅ "ž‹ žˆ๋Š”" –ธ–ด๋ฅผ ‚ฌšฉ•˜๋„๋ก •˜๋Š” ฒŒ ‹ ‹ค๋Š” ƒฐ„ •ฉ๋‹ˆ๋‹ค.

ด ๋•Œ, OOPฐ€ ฐ€๋Šฅ•œ –ธ–ด๋ฅผ ถ”œ•˜ , •ด๋‹–ธ–ด˜ xUnit ‚ฌšฉ๋ฒ•„ ๋ฏธ๋ฆฌ ˜€˜ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. (๋ฐ˜๋‚˜ ˆ  •๋„ฐ€ •„𔕠 ฒ๋‹ˆ๋‹ค) http://www.xprogramming.com/software.htm —„œ‹šด ๋ฐ›„ ˆ˜ žˆŠต๋‹ˆ๋‹ค.
(See Also PyUnit, UnitTest, JUnit, CppUnit. C –ธ–ด๋ฅผ ‚ฌšฉ•˜‹œ๋Š” ๋ถ„๋“ค€ ASSERT ๋ฌธœผ๋กœ UnitTest ๋ถ€๋ถ„„ –ด๋А •๋„ ๋Œ€‹ •  ˆ˜ žˆŠต๋‹ˆ๋‹ค.)

•˜ง€๋งŒ ๋™  ž๋ฃŒ˜• –ธ–ด๋ฅผ  ‘•˜๋Š” ฒƒ žฒดฐ€ ฐ žฅ ˆ˜ฐ€ žˆŠต๋‹ˆ๋‹ค. Šนžˆ TDD™€ Refactoring€ ๋™  ž๋ฃŒ˜• –ธ–ด—„œ ๋น›„ ๋ฐœ•˜ , ๋Œ€๋‹ˆ˜˜ DP๋Š” –ธ–ด ˆ˜ค€—„œ ง€›ด ๋˜ฑฐ๋‚˜ •„ฃผ „‹•ฉ๋‹ˆ๋‹ค. 20๋ถ„  •๋„๋ฉด Python„ „๋žต•˜ฒŒ ›‘„ ˆ˜๋Š” žˆŠต๋‹ˆ๋‹ค.

—ฌ๋Ÿฌ๋ถ„˜ ƒฐ€ –ด๋–ปŠต๋‹ˆนŒ?

00•™๋ฒˆ น€๋‚จ›ˆž…๋‹ˆ๋‹ค. C ๋กœ๋„ ƒด€—†„นŒš”?
œฐฎŠต๋‹ˆ๋‹ค๋งŒ, ฐ€๋Šฅ•˜‹ค๋ฉด OOP–ธ–ด๋ฅผ ถŒ•ฉ๋‹ˆ๋‹ค. ธ๋ฆฌ  ž‹ „ ƒ•œ –ธ–ด™€ ๋™•œ –ธ–ด๋ฅผ „ ƒ•œ ‚ฌ๋žŒœ†Œ•œ •œ๋ช…€ ๋” žˆ–ด••ฉ๋‹ˆ๋‹ค.

„ธ๋ฏธ๋‚˜  „— Ž˜–ด๋ฅผ œ๋Š”ฒŒ ‹ ตฐš”.. -๋‚จ›ˆ
Ž˜ง€๋ฅผ †ต•œ๋Š” ฒŒ ‹ Šต๋‹ˆ๋‹ค. ฐ€๋Šฅ•˜๋ฉด „œ๋กœ ž˜ ๋ชจ๋ฅด๋Š” ‚ฌ๋žŒ๋ผ๋ฆฌฐ€ ‹Šต๋‹ˆ๋‹ค. ๋ฐฐšธ ฒƒด ๋” ๋งŽŠต๋‹ˆ๋‹ค.

ฐธด€ž œƒœ˜œ •ˆ˜ †ŒŠคฝ”๋“œ: VendingMachine_ฐธด€ž


see also 02_Python

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:00
Processing time 0.0593 sec