Talk of RubyPrize 2014
!Ruby with My Life!Hiroshi SHIBATA@hsbtRubyWorld Conference 2014
View Slide
ࣗݾհ
SHIBATA!Hiroshi!@hsbt
ֶੜ࣌ւಓখۀߴઐֶߍใֶՊಉڃੜʹ3VCZίϛολͷ!NSLOੜͷzใֶzͷߨࢣ͕!HPUPLFO৽ׁԬٕज़ՊֶେֶܦӦใγεςϜઐ߈CMBEFͷαʔόʔ͕͋Δͱ͜ΖU%JBSZ)JLJͷίϛολʹͳΔ
ࣾձਓ࣌ͱ͋Δ4*FSͷࡳຈࢧࣾ3VCZͱແԑͷੜ׆ʮࣄͰ3VCZ͑ͨΒͳ͋ʯͱࢥ͏ʑӬγεςϜϚωδϝϯτ3VCZͱ3BJMTͰडୗ։ൃ"TBLVTBSCʹຖिࢀՃ
ʮ༏लͳϓϩάϥϚͱσβΠφΛἧ͑ͨͧʯʮϓϥϯφʔͷΞΠσΞΛ؆୯ʹ࣮ݱͰ͖Δʯʮ͜ΕͰ࠷ߴͷαʔϏε͕Ͱ͖Δʯ
ʮ༏लͳϓϩάϥϚͱσβΠφΛἧ͑ͨͧʯʮϓϥϯφʔͷΞΠσΞΛ؆୯ʹ࣮ݱͰ͖Δʯʮ͜ΕͰ࠷ߴͷαʔϏε͕Ͱ͖ΔʯʮԿނ͔։ൃͷεϐʔυ͕͘ͳ͍ͬͯ͘ʜʯʮ͍ͭ·ͰܦͬͯϦϦʔεग़དྷͳ͍ʜʯ
ϛυϧΣΞͷΞοϓάϨʔυࣾ։ൃج൫ͷߏங౷ܭج൫ͷߏங+409ͷӡ༻උHJUIVCηΩϡϦςΟࠪίʔυϨϏϡʔςετج൫ͷߏஙΞΫηεղੳج൫ͷߏங։ൃϓϩηε৽ਓڭҭݪߘࣥචΧϯϑΝϨϯεൃද044։ൃ αʔόʔߏཧͷ৽ϦʔϯελʔτΞοϓ+FOLJOT3VCZ3BJMT3%#.4ٕज़ج൫νʔϜ
044͍͍ͩͨಉ͡
Ruby Committer
Continuous IntegrationϓϩάϥϜͷมߋΛzܧଓzͯ͠z౷߹z͢ΔΈ3VCZͷ߹ɺ౷߹ͱςετΛ࣮ߦͯ͠ύοέʔδϯά͢Δ͜ͱ3VCZ$*༷ʑͳϓϥοτϑΥʔϜͰ3VCZͷมߋΛՄೳͳݶΓখ͍͞୯ҐͰϏϧυɺςετύοέʔδϯά͢ΔΈ
3VCZ$*ͷΈςετΛ࣮ߦ͢ΔΠϯελϯε λʔήοτϚγϯ͕ϘϥϯςΟΞϕʔεͰूΊΒΕ͍ͯΔ࣌ؒͷܦաʹͭΕͯɺ࠷৽ͷ04͕ෆ͖ͯͨ͠ɺ714 %JHJUBM0DFBO*BB4 "84ͳͲͷ׆༻ʹΑΓΠϯελϯεͷߏங༰қͷͣ
Ռ༷ʑͳϓϥοτϑΥʔϜ04Ͱൃੜ͢Δෆ۩߹Λ༰қʹݕͰ͖ΔΑ͏ʹͳͬͨඅ༻ͷग़ࢿઌͰ͋Δ3VCZΞιγΤʔγϣϯͱަবΠϯελϯεͷ࡞ͱηοτΞοϓ
049ͷڥ.BD0498FCαʔϏε։ൃͰ͘ΘΕ͍ͯΔҰํͰ3VCZίϛολͰ049Λৗ༻͍ͯ͠Δਓগͳ͍ϥΠηϯεͷͰ3VCZ$*ʹ714*BB4Λ༻͍ͯΠϯελϯεΛՃ͢Δ͜ͱࠔ
Ռ$*͕ࠔͳ049Ͱςετ͕ՄೳͱͳΓɺෆ۩߹ͷݕग़͕༰қʹͳͬͨ5SBWJT$*ͷ!IJSP@BTBSJͱަব-JOVYͱ049ͷ྆ํͷςετ࣮ߦͷઃఆ
ଞʹͬͨ͜ͱ
ϗεςΟϯάIFSPLVͷࢧԉΛಘͯ1BB4ʹ։ൃϦιʔεΛҠߦ͢Δ͜ͱͰࠔ͞Λղܾ͜Ε·Ͱ/B$Mॴ༗ͷαʔόʔʹ։ൃϦιʔεΛߏங͍ͯͨͨ͠Ίɺαʔόʔͷอक֤छιϑτΣΞͷόʔδϣϯΞοϓ͕ࠔ
44-ূ໌ॻ(MPCBM4JHOͷ044ࢧԉϓϩάϥϜΛར༻͠ɺϫΠϧυΧʔυূ໌ॻΛSVCZMBOHPSHʹద༻ͨ͠αΠτͷ৴པੑ֬อͷͨΊͷূ໌ॻ͜Ε·Ͱ୭͔͕༻ҙ͠ଓ͚͍ͯͨ
$%/GBTUMZͷ044ࢧԉϓϥϯΛར༻ͯ͠$%/ܦ༝Ͱ͢Δ͜ͱʹΑΓɺશੈքͰιʔείʔυΛߴʹೖखՄೳʹͳͬͨւ֎͔Βͷ3VCZͷιʔείʔυͷμϯϩʔυ͕ඇৗʹ͍
αʔόʔࢹ)BUFOB͕ఏڙ͢ΔNBDLFSFMͷ044ϓϥϯΛར༻͢Δ͜ͱͰαʔόʔࢹΛߦ͍ɺ҆ఆͨ͠Ϧιʔεͷఏڙ͕Մೳͱͳͬͨ3VCZ$*SVCZMBOHPSHͷαʔόʔࢹͱΞϥʔτͷΈ͕͜Ε·Ͱଘࡏ͠ͳ͔ͬͨ
·ͱΊڥΛ༻ҙ͢Δ͜ͱͰ3VCZͷ։ൃεϐʔυίʔυͷ࣭Λ্Λ࣮ݱ͠·ͨ͠։ൃऀʹྑ͍ࣄΛͯ͠Β͏ʹ։ൃऀ͕ྑ͍ࣄΛग़དྷΔΑ͏ʹڥΛ༻ҙ͢Δ͜ͱ͕ॏཁϓϩάϥϚडୗɾαʔϏε։ൃͰ044Ͱྑ͍ࣄΛ͍ͨ͠
Thank you