2008”N08ŒŽ08“ú

‚È‚º‚¤‚¿‚̉ïŽÐ‚ł̓eƒXƒg‹ì“®ŠJ”­‚ª“�}“ü‚Å‚«‚Ȃ��‚Ì‚©l‚¦‚Ä‚Ý‚½B

uRuby on Rails‚ðˆµ‚í‚¹‚½‚çï¿½ï¿½ŠEƒgƒbƒvƒŒƒxƒ‹v‚ÆŽ©•‰‚·‚éƒ`[ƒ€‚ƍŋߎdŽ–‚ʼn‹@‰ï‚ª‚ ‚èA‚©‚È‚è‚̉e‹¿‚ðŽó‚¯‚½‰½–^‚Å‚·B‚�}‚ñ‚΂ñ‚íB

‰pŒê‚ªo—ˆ‚½‚çA‚à‚Á‚Ƃ‚Á‚�}‚ñ‚¾‰ï˜b‚ªo—ˆ‚½‚Ì‚É‚ÆŒã‰ï¿½ï¿½‚µ‚�N‚è‚Ü‚·B

‚Ƃ��‚¤‚©Ž©•ª‚Ì‹Zp—Í‚Ì‚È‚³‚É‚©‚È‚è—Ž‚¿ž‚ñ‚¾‚킯‚Å‚·‚ªA‹t‚É’†‹‰ŽÒ‚É‚ ‚ª‚éƒXƒeƒbƒv‚Æ‘OŒü‚«‚ɍl‚¦‚Ä‚Ý‚½ŽŸ‘æB

”Þ‚ç‚́A
uTDD‚ðŠJ”­Žè–@‚Æ‚µ‚č̗p‚µ‚Ȃ��——R‚͂Ȃ��‚µAÅ‚àŒø—¦‚̂��‚��ŠJ”­Žè–@‚¾‚ƍl‚¦‚��‚éB‚»‚µ‚āA‚»‚ê‚ðˆê”ÔŒø—¦‚æ‚­‚�}‚È‚¹‚é‚Ì‚ªrails‚¾‚©‚ç–l’B‚Írails‚ðŽg‚¤‚ñ‚¾Bv
‚ÆŒê‚Á‚�N‚è‚Ü‚µ‚½B

w‚¤‚ñB‚í‚©‚é‚æ[Bx

‚ƁAŒ©‰h‚ð‚Í‚Á‚Ä‚Ý‚½B

ŽdŽ–—‚݂��‚á‚È‚¯‚ê‚Αf’¼‚É‹³‚¦‚Ä‚­‚¾‚³‚��‚ÆŒ¾‚¦‚é‚̂ɁBBB

‚Æ‚É‚à‚©‚­‚É‚àA¡Œã‚ðl‚¦‚é‚Æ‚ ‚é’ö“x’m‚ç‚È‚¯‚ê‚΂Ȃç‚Ȃ��‚̂ŁArspec‚ðÅ‹ß•KŽ€‚É‚â‚Á‚�N‚è‚Ü‚·B
‚»‚�}‚ŁArspec‚ð—˜—p‚µ‚½‚È‚ñ‚¿‚á‚Á‚ÄTDD‚ð‚â‚Á‚Ä‚Ý‚½B

15`30•ª’ö“x‚ÌŠJ”­ƒTƒCƒNƒ‹‚ðŒJ‚è•Ô‚·‚½‚߁AƒŠƒYƒ~ƒJƒ‹‚Å‹CŽ‚¿‚��‚��‚Ƃ��‚¤‚ªA‚��‚«‚È‚è‚Í–³—B
‚Ü‚¸ƒeƒXƒg‚̏‘‚«•û‚ª‚í‚©‚ç‚Ȃ��‚½‚߁A1H’ö‚ð‚�}‚È‚·‚Ì‚É2`3ŽžŠÔˆÈã—]—T‚Å‚©‚©‚éB
«
ƒeƒXƒg‚ð‘‚­‚Ì‚ª–Ê“|‚É‚È‚èA‚��‚‚à’Ê‚è‚��‚«‚È‚èƒR[ƒfƒBƒ“ƒO‚µ‚½‚Ù‚¤‚ª‘‚��‚�}‚Æ‚É‹C‚­B
«
‚�}‚¤‘‚¯‚΂�}‚¤“®‚­‚Æ‚í‚©‚Á‚��‚é‚Ƃ�}‚ë‚Í‘½­•¡ŽG‚Å‚àƒeƒXƒg‚ð‘‚©‚È‚­‚È‚éB
«
‚ ‚é’ö“x‚Ì‹@”\‚ªŠ®ï¿½ï¿½B“®‚©‚µ‚Ä‚Ý‚é‚Æ–â‘è‚È‚­“®‚­B
«
•Ê‚È‹@”\‚ðŽÀ‘•’†AˆÈ‘OŽÀ‘•‚µ‚��‚éŠÖ˜A‹@”\‚ÉŽè‚ð‚��‚ê‚é‚�}‚Æ‚É‚È‚éB
«
‰üC‚µ‚½ŠÖ˜A‹@”\‚ŃfƒOƒŒ[ƒVƒ‡ƒ“‚ª”­ï¿½ï¿½B
‰ü‚ß‚Ä’·X‚Æ‚µ‚½ƒeƒXƒgƒP[ƒX‚ð‘‚ï¿½ï¿½‚ăoƒO‚ðÄŒ»‚³‚¹‚Ä‚Ý‚éB
«
ƒeƒXƒgƒP[ƒX‚ð‘‚«‚â‚·‚��ƒR[ƒh‚ð‘‚¯‚΂��‚��‚�}‚Æ‚É‹C‚«A‚P‚©‚çì‚è’¼‚·‚�}‚Æ‚É‚·‚éB
«
Ž©‘R‚ƃVƒ“ƒvƒ‹‚ȃƒ\ƒbƒh‚ª‘‚¦A‰Â“ǐ«‚ƕێ琫‚ª‚ ‚ª‚Á‚½‹C‚ª‚·‚éB
‚Ü‚½AŽd—l‚ðƒeƒXƒgƒP[ƒX‚ÅŠm”F‚·‚é‚悤‚É‚È‚Á‚Ä‚«‚½B
‚Å‚àA‘¼l‚ª‘‚��‚½ƒeƒXƒgƒP[ƒX‚ð—‰ð‚·‚é‚Ì‚É‚Í‚Ü‚¾ŽžŠÔ‚ª‚©‚©‚éB
«
ƒfƒOƒŒ‚̓eƒXƒgƒP[ƒX‚ð‚«‚¿‚ñ‚Ə‘‚��‚�N‚¯‚΁A”äŠr“I—eˆÕ‚É”­Œ©o—ˆ‚é‚�}‚Æ‚É‹C‚­B©¡‚�}‚�}

‚È‚ñ‚ō¡‚Ü‚Å‚¿‚á‚ñ‚Æ‚â‚ç‚È‚©‚Á‚½‚Ì‚©‚ÆŒã‰ï¿½ï¿½‚µ‚Ä‚Ü‚·B”ñí‚É•Ö—˜B
‚�}‚ê‚̓uƒ‰ƒEƒU‚Å“®‚©‚·‘O‚É‚©‚È‚è‚̃oƒOŒ¸‚点‚é‚æ‚Ë‚Á‚ĘbB
ŽÀÛ‚Ɉӎ¯‚µ‚Ä‚â‚Á‚Ä‚Ý‚é‚܂ł́A‚Ç‚ñ‚È‚É—LŒø‚©‚Á‚Ä‚Ì‚Í‚í‚©‚ç‚Ȃ��‚à‚Ì‚Å‚·B

’p‚¸‚©‚µ‚È‚ª‚çAPHP‚ŃvƒƒOƒ‰ƒ~ƒ“ƒO‚ðŠo‚¦‚½‹ZpŽÒ‚ª‘½‚��‚¤‚¿‚̉ïŽÐ‚ł́Aƒ†ƒjƒbƒgƒeƒXƒg‚Ȃǂ̑��Ý‚·‚ç’m‚ç‚Ȃ��l‚ª‚Ù‚Æ‚ñ‚Ç‚¾B
ŽÀÛA”ނ炪“Ç‚ñ‚¾–{‚ðŒ©‚Ä‚àAƒeƒXƒgŽè–@‚È‚Ç‚Ù‚Æ‚ñ‚Ǐ‘‚��‚��‚Ȃ��B
‚ ‚Á‚Ä‚àu“o˜^ƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½‚çDB‚Ƀf[ƒ^‚ª“ü‚Á‚��‚é‚©Šm”F‚µ‚Ü‚µ‚傤Bv‚­‚ç‚��‚Ì‚à‚́B
Ž„‚àPHP‚©‚ç“ü‚Á‚½‚̂ŁA‚��‚ë‚ñ‚ÈPHPŠÖŒW‚̏‘Ð‚ð“Ç‚ñ‚¾‚ªAŠm‚©‚ÉPHP‚Í‚»‚ÌŽè‚̂�}‚Æ‚Í‚Ù‚Æ‚ñ‚Ǐ‘‚��‚��‚Ȃ��‘Ð‚ª‘½‚��B
‚Å‚àA‚�}‚ñ‚È‚É•Ö—˜‚ÈŠJ”­Žè–@‚ª‚ ‚é‚Ì‚É‚â‚ç‚Ȃ��‚Ì‚Í‚à‚Á‚½‚��‚Ȃ��B

‚Ƃ��‚¤‚킯‚ŁA‚¤‚¿‚̉ïŽÐ‚ÅTDD‚ð‚â‚Á‚Ă݂悤‚ÆŒ¾‚Á‚Ä‚Ý‚½B
‚Ù‚Æ‚ñ‚ÇPHP‚ÌŠJ”­‚Ȃ̂ŁA‚¹‚ß‚ÄPHPUnit‚¾‚¯‚Å‚àÌ—p‚µ‚悤‚ƁB
java‚â.Net‚ð‚â‚Á‚Ä‚«‚½l‚ÍŽÀÛ‚â‚Á‚½‚�}‚Æ‚ª‚ ‚é‚炵‚­A•K—v‚Æ‚¤‚È‚¸‚��‚½B
‚Ƃ�}‚낪‚»‚¤‚��‚¤Žè–@‚ª‚ ‚é‚Ƃ��‚¤‚�}‚Æ‚ð’m‚ç‚È‚©‚Á‚½APHPer‚Ì”½‰ž‚ª‚·‚�}‚Ԃ鈫‚��B

uƒeƒXƒg‚È‚ñ‚ÄWebƒAƒvƒŠ‚È‚ñ‚¾‚©‚çƒuƒ‰ƒEƒU‚Å‚â‚é‚à‚Ì‚Å‚µ‚åBv
uƒvƒƒOƒ‰ƒ€‚̃eƒXƒg‚ð‚â‚邽‚߂ɃvƒƒOƒ‰ƒ€‘‚­‚È‚ñ‚ă_ƒ‹‚��Bv
u‘‚­‘O‚©‚ç“®‚­‚Æ‚í‚©‚Á‚��‚éƒR[ƒh‚ð‚í‚�L‚í‚�LƒeƒXƒg‚·‚é‹C‚É‚È‚ç‚Ȃ��Bv

‚Ü‚Ÿ‘å‘̂�}‚ñ‚Ȋ�L‚��B

ˆÈ‘OAPHP‚̃tƒŒ[ƒ€ƒ[ƒN‚ð“�}“ü‚µ‚悤‚Æ’ñˆÄ‚µ‚½Žž‚́A
uƒtƒŒ[ƒ€ƒ[ƒN‚ðŽg‚í‚Ȃ��‚Ì‚ªPHP‚¾Bv
u‰ï¿½L‚ÌOOP‚̓tƒŒ[ƒ€ƒ[ƒN‚É‚Í•‰‚¯‚Ȃ��Bv
‚Ƃ킯‚Ì‚í‚©‚ç‚Ȃ��——R‚ňêR‚³‚ꌃ˜_‚µ‚½‚ªA¡‰ñ‚Ì——R‚ÍŽ©•ª‚ÅŽÀÛŽv‚Á‚½‚�}‚Æ‚ª‚ ‚邾‚¯‚É‚í‚©‚ç‚ñ‚Å‚à‚Ȃ��B

ŠÔˆá‚Á‚Ä‚àAPHP‚ðdis‚Á‚��‚é‚킯‚ł͂Ȃ��‚ªAæ‚ɏ‘‚��‚½’Ê‚èAPHP‚ɂ́u‚�}‚¤‚��‚Á‚½ƒeƒXƒg•û–@‚ª‚ ‚è‚Ü‚·AŽÀÛ‚â‚Á‚Ä‚Ý‚Ü‚µ‚傤v‚Ƃ��‚¤‘Ð‚ª“ü–发‚ɏ‘‚��‚Ä‚ ‚é‚�}‚Æ‚ª‚Ù‚Æ‚ñ‚ǂȂ��‚̂ŁA‚�}‚ÌŽè‚̘b‘è‚Í—‰ð‚µ“ï‚��l‚ª‚¤‚¿‚̉ïŽÐ‚Å‚Í‘½‚��B
java‚ð‚©‚ï¿½ï¿½‚Á‚½‚�}‚Æ‚ª‚ ‚él‚́uEclipse‚ðŽg‚Á‚½ƒeƒXƒg•û–@v‚Ȃǂ̉ðà‚ª“ü–发‚ÌŽž“_‚©‚ç‚ ‚Á‚½‚肵‚āAŽ–‘O‚É’mŽ¯‚ª‚ ‚é‚Ì‚Å“Á‚ɂ�}‚¤‚��‚¤˜b‘è‚̈á˜aŠï¿½L‚͂Ȃ��‚悤‚¾B

Šm‚©‚É’Pƒ‚ÈŠJ”­‘��“x‚ÅŒ¾‚¦‚΁A‚Ђ½‚·‚珑‚��‚½‚Ù‚¤‚ª‘‚��B
ƒeƒXƒgƒP[ƒX‚ð‘‚©‚Ȃ��•ª‘‚��‚Ì‚Í“–‚½‚è‘O‚¾B

–â‘è‚Í•ÛŽç‚ÌŽž‚É‚©‚È‚è‚̍·‚ªo‚é‚Í‚¸B
‚�}‚ê‚ÍŽÀÛ‚ÉŽ©•ª‚Å‚â‚Á‚Ä‚Ý‚½Šï¿½L‘zB

æ‚É‚à‘‚��‚½‚ªAÝŒv=ƒeƒXƒgƒP[ƒX‚Æ‚·‚é‚ƁA‘‚«•û‚̗ǂ��ˆ«‚��‚Í‚Æ‚à‚©‚­AŽ©‘R‚ƃR[ƒh‚ªƒVƒ“ƒvƒ‹‚É‚È‚éB
•¡ŽG‚ȃR[ƒh‚ł̓eƒXƒgƒP[ƒX‚ð‘‚­Ž–Ž©‘Ì–Ê“|‚É‚È‚é‚©‚çB
‚à‚¿‚ë‚ñAƒXƒLƒ‹‚ɍ��‰E‚Í‚³‚ê‚é‚ÆŽv‚¤‚µAŽ„‚̏‘‚��‚½ƒR[ƒh‚ðŽ©M–žX‚ɐl‚ÉŒ©‚¹‚ê‚é‹C‚É‚Í‚È‚ç‚Ȃ��‚¯‚ê‚Ç‚àA‚»‚ê‚Å‚àAuƒeƒXƒg‚ðŠy‚É‚·‚év‚Ƃ��‚¤ˆÓŽ¯‚ðŽ‚Â‚¾‚¯‚Å–³‘ʂȃR[ƒh‚Í‚©‚Ȃ茸‚点‚éB

¡‚܂ł́A‚Æ‚è‚ ‚¦‚¸“®‚­‚à‚Ì‚ðÅ‘��‚ŏo‚µ‚Ä‚«‚½‚ªA‰üC‚ª“ü‚Á‚½Žž‚É•¡ŽG‚ȃR[ƒh‚ð’Ç‚í‚È‚¯‚ê‚΂��‚¯‚Ȃ��AƒfƒOƒŒ‚ª”­ï¿½ï¿½‚µ‚ĂȂ��‚©‚ðŽèì‹Æ‚Å‘S•”Œ©‚È‚¯‚ê‚΂��‚¯‚Ȃ��‚ȂǁA‚Æ‚É‚©‚­‰üCì‹Æ‚ª‘å•Ï‚¾‚Á‚½B
‹t‚ɁAƒVƒ“ƒvƒ‹‚ȃR[ƒh‚ÍŒ©‚â‚·‚��A‰üC‚µ‚â‚·‚��‚ł��‚��‚Ƃ�}‚낵‚©‚Ȃ��B

‚Å‚àATDD‚ª“�}“üo—ˆ‚Ȃ��B

u‚Æ‚è‚ ‚¦‚¸¡‚Ü‚Å’Ê‚èAl‚ÉŒ©‚¹‚ç‚ê‚Ȃ��‚悤‚ȃvƒƒOƒ‰ƒ€‚ðˆê‹C‚ɏ‘‚��‚āA‚Æ‚è‚ ‚¦‚¸“®‚­‚à‚Ì‚ðo‚µ‚āA‹q‚É“{‚ç‚ê‚È‚ª‚çI“d‚Ü‚ÅŽc‹Æ‚µA•KŽ€‚ŃoƒO‚𒼂µ‘�}‚¯A’¼‚Á‚½‚ÆŽv‚Á‚½‚çƒfƒOƒŒ‚Á‚ÄŽ€‚É‚»‚¤Bv

‚ƁA

u¡‚Ü‚ÅExcel‚ÅŠÇ—‚µ‚Ä‚½lŽè‚̃eƒXƒgƒP[ƒX‚ðŽÌ‚āAƒeƒXƒgƒP[ƒX‚𒀈ꑖ‚点‚È‚ª‚çƒvƒƒOƒ‰ƒ€‚Ì“®ì‚ðŠm”F‚µA“s“xƒoƒO‚𒼂µA•iŽ¿‚ð‚©‚È‚è‚ ‚��‚½ó‘ԂŃŠƒŠ[ƒX‚µ‚āA‹q‚ª“{‚ç‚Ȃ��‚­‚ç‚��‚̃oƒO‰üC‚ōςމ”\«‚ª¡‚Ü‚Å‚æ‚è‚à‚‚��ŠJ”­Bv

‚ł́A‰z‚¦‚ç‚ê‚Ȃ��•Ç‚ª‚ ‚éB

‚»‚ê‚́Au”[•i‚܂ł̍H”vB

H”‚ðŒ¸‚ç‚·‚Ì‚Í‚³‚·‚ª‚ɍŏ‰‚͓‚��B
Šµ‚ê‚é‚܂ł̓ŠƒŠ[ƒX‚܂ł̍ì‹Æ‚ªŠi’i‚É‘‚¦‚Ä‚µ‚Ü‚¤A‚Ƃ��‚¤‚Ì‚ªƒ{ƒgƒ‹ƒlƒbƒN‚É‚È‚é‚悤‚¾B
‚Ü‚½AƒoƒO‚ªo‚Ä‚à”[•iŒã‚È‚çA‚à‚¤‚·‚Å‚É”[•i‚µ‚¿‚á‚Á‚½‚ñ‚¾‚©‚ç‹CŠy‚Ƃ��‚¤l‚¦‚à‚ ‚é‚悤‚¾B
Ž„‚́A”[•i‘O‚È‚ç‚��‚­‚çƒoƒO‚ªo‚Ä‚à“{‚ç‚ê‚Ȃ��‚ªA”[•iŒã‚��‚á‹q‚É“{‚ç‚ê‚é‚��‚á‚ñ‚ƍl‚¦‚é‚̂ŁA‚��‚܂��‚¿—‰ð‚͏o—ˆ‚Ȃ��‚ªA‚»‚¤‚��‚¤l‚¦‚ÅŠJ”­‚µ‚��‚él’B‚É‚Æ‚Á‚ẮATDD‚Ƃ��‚¤‚Ì‚Í•K—v‚Ȃ��‚ƍl‚¦‚é‚Ì‚¾‚낤B
‚à‚¿‚ë‚ñAƒoƒO‚ªo‚½‚Æ‚È‚Á‚½‚çA‘Ήž‚µ‚Ȃ��‚킯‚ł͂Ȃ��‚µA‚«‚Á‚¿‚è‰üC‚͍s‚¤‚ªA‚»‚�}‚É‚ ‚é‚Ì‚Í’n–‚Å‚·B
‚à‚¤‚»‚ñ‚È“úX‚ÍŒ™‚�L‚ñ‚·B

‚Ü‚Ÿ–â‘è‚È‚­ŠJ”­o—ˆ‚Ä‚ê‚΍¡‚Ü‚Å’Ê‚è‚â‚é‚ñ‚¾‚¯‚ǂˁB
o—ˆ‚Ȃ��‚ñ‚¾‚©‚牽‚©‘Ήžôl‚¦‚Ȃ��‚ƂˁB

ŠJ”­Žè–@‚æ‚èà“¾Žè–@‚ðŠo‚¦‚é‚�~‚«‚ÆŽv‚Á‚½¡“ú‚�}‚̍ B

ƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO\ƒvƒƒOƒ‰ƒ€‚Ì‘ÌŽ¿‰ü‘PƒeƒNƒjƒbƒN (Object Technology Series)
ƒ}[ƒ`ƒ“ ƒtƒ@ƒEƒ‰[ Martin Fowler Ž™‹Ê ŒöM •½àV Í —F–ì »•v ”~‘ò ^Žj
ƒsƒAƒ\ƒ“ƒGƒfƒ…ƒP[ƒVƒ‡ƒ“
”„‚èã‚��ƒ‰ƒ“ƒLƒ“ƒO: 8673
‚�N‚·‚·‚ß“x‚Ì•½‹Ï: 5.0
4 ƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO‚̕�~‹­‚·‚é‚È‚ç
5 ƒIƒuƒWƒFƒNƒgŽwŒü‚ª‚È‚ñ‚ł��‚��‚́B‚»‚̉ñ“š‚ª‚�}‚�}‚É‚ ‚éB
5 ‘ÌŽ¿‰ü‘P‚̏ˆ•ûâ³
5 ‰Â“ǐ«Œüã‚Ì“ÁŒø–ò
5 ƒR[ƒfƒBƒ“ƒO‚ª•Ï‚í‚Á‚½
ƒ‰ƒxƒ‹Fdevelop TDD
posted by ‰½–^B at 01:34| Comment(0) | TrackBack(0) | ŽG‹L | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é
‚�}‚Ì‹LŽ–‚ւ̃Rƒƒ“ƒg
ƒRƒƒ“ƒg‚ð‘‚­
‚�N–¼‘O:

ƒ[ƒ‹ƒAƒhƒŒƒX:

ƒz[ƒ€ƒy[ƒWƒAƒhƒŒƒX:

ƒRƒƒ“ƒg:

”FØƒR[ƒh: [•K{“ü—Í]


¦‰æ‘œ‚Ì’†‚̕��Žš‚𔼊p‚Å“ü—Í‚µ‚Ä‚­‚¾‚³‚��B

‚�}‚Ì‹LŽ–‚ւ̃gƒ‰ƒbƒNƒoƒbƒN