YAPC::Asia 2012
1FSMϋοΧʔଉΛ͢ΔΑ͏ʹ$1"/ϞδϡʔϧΛॻ͘!UZQFTUFS,":"$*OD
View Slide
ࠓͿΓʹࣄͰ1FSMΛΓΓ͔͓ͭͬͯΓɺ
ຊʹଉΛ͢ΔΑ͏ʹ1FSMϞδϡʔϧΛॻ͍͍ͯͨͳʔɺͱ͍͏͜ͱͰɺ
·ͣɺࠓॻ͍ͨϞδϡʔϧΛհ͠·͢
%BUB"QQMF1SJDF5JFS
%BUB"QQMF1SJDF5JFSw"QQ4UPSFͷQSJDFUJFSUJFS͕ຊͩͱˇɺͱ͍͏ͷΛม͢ΔϞδϡʔϧ
%BUB"QQMF1SJDF5JFSw"QQ4UPSFͷQSJDFUJFSUJFS͕ຊͩͱˇɺͱ͍͏ͷΛม͢ΔϞδϡʔϧwಈػwඞཁʹഭΒΕͯwIUUQTQBCFSJTINF
%BUB.FTTBHF1BDL4USFBN
%BUB.FTTBHF1BDL4USFBNw.FTTBHF1BDLͷετϦʔϛϯάύʔαʔ
%BUB.FTTBHF1BDL4USFBNw.FTTBHF1BDLͷετϦʔϛϯάύʔαʔwಈػw%BUB.FTTBHF1BDLͷιʔείʔυ͕͗ͨ͢͠w͙͢ʹཉ͔ͬͨ͠
%BUB9-491BSTFS
%BUB9-491BSTFSwߴͳYMTYϑΝΠϧύʔαʔ
%BUB9-491BSTFSwߴͳYMTYϑΝΠϧύʔαʔwಈػw4QSFBETIFFU9-49͕ϝϞϦΛ৯͍ա͗ͯཁ݅ΛΫϦΞͰ͖ͳ͔ͬͨw1ZUIPOʹྑ͍࣮͕͋ͬͨͷͰͦΕΛҠ২
4VC3BUF
4VC3BUFw͕͔֬ΒΉॲཧΛྑ͍ײ͡ʹ͍ͨ͠ͱ͖ʹ͏Ϟδϡʔϧ
4VC3BUFw͕͔֬ΒΉॲཧΛྑ͍ײ͡ʹ͍ͨ͠ͱ͖ʹ͏Ϟδϡʔϧwಈػw͜͏͍͏ͷ͕ཉ͔ͬͨ͠
4VC&YDFQUJPO
4VC&YDFQUJPOwྫ֎ॲཧΛมΘͬͨײ͡Ͱॻ͚ΔϞδϡʔϧ
4VC&YDFQUJPOwྫ֎ॲཧΛมΘͬͨײ͡Ͱॻ͚ΔϞδϡʔϧwಈػw͜͏͍͏ͷ͕ཉ͔ͬͨ͠ɺ͍ͬͯ͏Θ͚Ͱͳͯ͘ͳΜͱͳ͘ࢥ͍͍͔ͭͨΒ
5FTU3FEJT4FSWFS
5FTU3FEJT4FSWFSw5FTUNZTRMEͷSFEJTόʔδϣϯ
5FTU3FEJT4FSWFSw5FTUNZTRMEͷSFEJTόʔδϣϯwಈػwඞཁʹഭΒΕͯ
+40/5ZQFT
+40/5ZQFTw+40/Λ࡞Δͱ͖ʹԽͨ͠Γ͢Δͱ͖ʹOVNCFSΈ͍ͨͳṖͷϋοΫ͢Δͷ͍ͩͳʔ͍ͬͯ͏ͷΛͳΜͱ͔͢ΔͨΊ͚ͩͷϞδϡʔϧ
$PDPB#BUUFSZ*OGP
$PDPB#BUUFSZ*OGPw.BDͰόοςϦʔใΛऔಘͨ͠ΓɺόοςϦʔؔͷΠϕϯτΛίʔϧόοΫͰऔಘͰ͖ΔϞδϡʔϧ
$PDPB#BUUFSZ*OGPw.BDͰόοςϦʔใΛऔಘͨ͠ΓɺόοςϦʔؔͷΠϕϯτΛίʔϧόοΫͰऔಘͰ͖ΔϞδϡʔϧwಈػwόοςϦʔܥϥΠϑϋοΫʹඞཁͩͬͨ
w$PDPB$PSF#MVFUPPUI
w$PDPB$PSF#MVFUPPUIw$PDPB"QQMF4DSJQU
w$PDPB$PSF#MVFUPPUIw$PDPB"QQMF4DSJQUwಈػw:"1$"TJB
Ҏ্ݸ
όʔδϣϯΞοϓطଘϞδϡʔϧͷϝϯςφϯε͋ΔͷͰTIJQJUճ͑Εͳ͍
ଉΛٵ͏Α͏ʹϞδϡʔϧΛॻ͖ɺ
ଉΛ͘Α͏ʹTIJQJU͢Δ
ͦΕ1FSMϋοΧʔʹࣗવͳ͜ͱ
$1"/ʹΞοϓ͢Δͱ͍ΖΜͳϝϦοτ͕͋Δ
Πϯετʔϧ͕؆୯DQBON.Z.PEVMF
DQBOUFTUFST
QBUDIFT DPOUSJCVUJPOTGSPNPUIFSQFPQMF
࠶ར༻ͦ͠͏ͳͷશ෦$1"/ʹ͋͛ͪΌ͏wDQBONͰ؆୯ʹೖΔ͔Βɺࣗࣗଞͷͱ͜ΖͰ͏ͷָ͕ʹw$1"/ίϛϡχςΟʔʹΑͬͯΫΦϦςΟ্͕͕Δ
ͰͳΜ͔มͳͷΞοϓ͢ΔͱUPLV˓JSPNͱ͔ʹ%*4ΒΕΔ͠ʜ
/0ͦΜͳ͜ͱͳ͍ʂ
5IFSFJTNPSFUIBOPOFXBZUPEPJU
ͨͩ͠ʂ
υΩϡϝϯτΛॻ͜͏
ͦͷϞδϡʔϧΛ࡞͍͍ͬͨΛυΩϡϝϯτʹॻ͜͏ʂ
υΩϡϝϯτͬͯͷϞδϡʔϧͷ͍ํΛॻ͚ͩ͘ͷ͡Όͳ͍
ͦͷϞδϡʔϧʹ͍ͨ͢Δ͍Λશ෦Ϳ͚ͭΔͱ͜ΖͳΜͩʂ
˞%*4ΒΕϙΠϯτΛ͋Β͔͡Ί͓͑ͯ͘͜ͱϞώΧϯରࡦͱͯ͠ඇৗʹ༗ޮͰ͢
υΩϡϝϯτ࡞ͷͭ͜wQPEܗࣜ׳Εͳ͍ͱࢥ͍·͚͢Ͳɺ͜Ε͚֮ͩ͑Δ͔͠ͳ͍w׳Εͳ͍͏ͪਓͷΛਅࣅͨ͠Βྑ͍wॻ͖·͍ͬͯͨ͘Βͦͷ͏ͪͳʹݟͳ͍Ͱී௨ʹ͔͚ΔΑ͏ʹͳΓ·͢
υΩϡϝϯτ࡞ͷͭ͜wॻ͖͘༰
υΩϡϝϯτ࡞ͷͭ͜wॻ͖͘༰w4:/014*4ͬ͘͞Γ͍ͨ͠ํͷίʔυ
υΩϡϝϯτ࡞ͷͭ͜wॻ͖͘༰w4:/014*4ͬ͘͞Γ͍ͨ͠ํͷίʔυw%&4$3*15*0/͍͍
υΩϡϝϯτ࡞ͷͭ͜wॻ͖͘༰w4:/014*4ͬ͘͞Γ͍ͨ͠ํͷίʔυw%&4$3*15*0/͍͍w.&5)0%4'6/$5*0/4֤ϝιουɺؔΛઆ໌
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτ
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτwΧδϡΞϧʹ࡞ͬͯྑ͍͚ͲɺυΩϡϝϯτ͔ͬ͠Γॻ͜͏
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτwΧδϡΞϧʹ࡞ͬͯྑ͍͚ͲɺυΩϡϝϯτ͔ͬ͠Γॻ͜͏w্͛ͨҎ্ϝϯςφϯεΛܧଓ͠·͠ΐ͏
$1"/Ϟδϡʔϧ࡞ͷϙΠϯτwΧδϡΞϧʹ࡞ͬͯྑ͍͚ͲɺυΩϡϝϯτ͔ͬ͠Γॻ͜͏w্͛ͨҎ্ϝϯςφϯεΛܧଓ͠·͠ΐ͏w%*4༑ୡͰ͢ʂ
HJUIVCʹͬͯΔϞδϡʔϧ͋ͬͨΓ͠·ͤΜ͔ʁ
ා͘ͳ͍͔ΒΞοϓͯ͠ΈΑ͏ʂ
5IBOLZPV