Keynote on RubyWorld conference 2017
Video: 📺1: https://youtu.be/NctyqVznddg 📺2: https://youtu.be/P7AunfXSOTQ
RUBY IS NICESO WE ARE NICE֯୩৴ଠ !LBLVUBOJ 3VCZ8PSME$POGFSFODFجௐߨԋ
View Slide
.BU[JTOJDFTPXFBSFOJDF
XF3VCZJTUɻ3VCZJTUͱɺl3VCZʹରͯ͠୯ͳΔ͓٬͞ΜҎ্ͷؾ࣋Λ͍࣋ͬͯΔਓz
ࣗҎ֎Ͱ3VCZΛ͍ͬͯΔਓͷ͜ͱ͕ؾʹͳͬͯߦಈ͍ͯ͠Δ͋ͳ͔ͨͳΓ3VCZJTUͷૉཆ͕͋Γ·͢ɻ͍·ͷٕज़Ϩϕϧࣝؔͳ͍ΜͰ͢ɻ
Α͏ͦ͜
3VCZJTOJDFTPXFBSFOJDF
.BU[͕φΠεͳͷΘ͔Δ .BU[ౕ͍͍ɻ͔͠͠3VCZ͕φΠεͱʜ ࡢͷجௐߨԋΛώϯτʹߟ͑ͯΈ·͠ΐ͏ʜ
l3VCZzϓϩάϥϛϯάݴޠ͚ͩʹݶΒͳ͍ɻϥΠϒϥϦϑϨʔϜϫʔΫɺπʔϧΞϓϦέʔγϣϯʜΈΜͳͷ࣋ͪدͬͨl͏ਓʹͱͬͯͷྑ͍ײ͡zͷશମɺͦΕ͕3VCZͷφΠεɻ
ΈΜͳ͕3VCZʹ࣋ͪدͬͨՌ͕φΠε͔ͩΒࢲͨͪ3VCZJTUφΠεͰ͍Α͏ʜ͋Ε ՌΛ࣋ͪد͍ͬͯΔͷ3VCZJTUͰ 3VCZJTUͷՌ͕φΠε͔ͩΒ3VCZJTUφΠε 3VCZJTU͕φΠε͔ͩΒ3VCZ͕φΠεʹͳΔ ແݶϧʔϓ͔ͳ
3VCZͷφΠε͞ɺ3VCZJTUͷ࣋ͪدͬͨl͍͍ײ͡zͷશମͱͯ͠ɺ3VCZJTU͕ҭ͍ͯͯ͘ɺͱ͍͏ಈతͰࣗݾݴٴతͳऴΘΓͷఆ·Βͳ͍׆ಈʹɻ
3VCZ,BJHJͷ.BU[ͷجௐߨԋl.BU[JTOJDFz͔Βl3VCZJTOJDFzͱ͍͏ͷ͕࣮ࡍʹͲΜͳ෩ܠͳͷ͔Λհͯ͘͠Ε͍ͯ·͢ɻ
ʜͱ͍͑ɺͦΕ͜ͷͰ࠷ڧΫϥεͷσϚΤͷεΰΠڃϋοΧʔͷ͡ΌΜͶʜͱ͍͏ؾ࣋ͪΘ͔Δɻ3VCZJTUʹٕज़ͷϨϕϧؔͳ͍ɺͱ͍ٕͬͯज़ͷͷͩ͠Ͷʜɻ
Ҏ߱ ͜ͷؒʹɺ3VCZΛۀͰ͍࢝Ίͨɺlී௨ͷzϓϩάϥϚʔͷΈͳ͞ΜʹͬͯΒ͑Δͱ͍͍Μ͡Όͳ͍͔ͳͱࢥ͍ͬͯΔ͜ͱ
தʹɺ͓ޓ͍ʹܟҙΛͬͯʹɺࣄʹؔΘ͍ͬͯΔlؾ࣋ͪzΛ͢ػձΛܧଓతʹ࣋ͱ͏
lඇެࣜzͰ͍͍ɻΓํͲͷΑ͏ͳͷͰߏΘͳ͍ɻ·͔ͣΒͰɻl;Γ͔͑ΓzɺPOɺࡶஊɺ໘ஊɺϥϯνʜɻϓϩάϥϚʔಉ࢜Ͱ࢝Ί͍͍ͯ͠ɺ ࣗͨͪͰखԠ͑Λײͨ͡Γɺඞཁͦ͏ͳΒϓϩάϥϚʔͰดͣ͡ʹΕͨΒ͍͍͘͢͝ɻ
3VCZίϯϐϡʔλʔʹࣄΛͤ͞ΔͨΊͷϓϩάϥϛϯάݴޠͰ͋Δͱಉ࣌ʹɺϓϩάϥϚʔʹϓϩάϥϛϯά͕lͨͷ͍͠zͱ͍͏ؾ࣋ͪΛ͑ΔlݴޠzͰ͋Δ ͍͢͝
ૹΓख͕ײ͍ͯ͡Δؾ࣋ͪΛड͚खͷ৺ʹ࠶ݱͤ͞ΔͨΊͷݴޠͷ͍ํlࢻzͱݺΔͷͰ ϙΤϜ
3VCZ͕ϓϩάϥϛϯάݴޠΛϝσΟΞͱͯ͠ײΛಧ͚͍ͯΔΑ͏ʹɺlࣄzΛϝσΟΞͱͯ͠ײΛಧ͚ΒΕ͍ͯΔ͔ ϙΤϜͱͯ͠ͷࣄ
Ͱ͖͍ͯΔͰ͖͍ͯͳ͍ɺڧ͍ऑ͍ɺࣗ৴͕͋Δෆ҆ͩɺΜͰ͍Δ͢Δ
3VCZΛͬͯۀࣄۀΛ͓͜ͳ͏ػձͱͯͱͯ૿͑·ͨ͠ Α͍͜ͱɻ͔͠͠ɺ3VCZͷΑ͏ʹφΠεͳײΛࣄΛ௨ͯ͡ಧ͚͍ͯΔ৬ಉ͚ͩ͡૿͍͑ͯͳ͍ɺͱײ͍ͯ͡Δɻ
ͩͬͯ·͍͔͋͠ΒͶ
3VCZίϯϐϡʔςΟϯάύϫʔͷ૿େͱΠϯλʔωοτͷීٴͷաఔͰੜ·Εҭͬͨɺࣗ༝ͳɺࣗવͷɺੜͷιϑτΣΞ 3VCZϋοΧʔୡ͕ͭͬͨ͘
lϏδωεzͱͯ͠ͷιϑτΣΞͮ͘ΓͲ͏ͯ͠ਓతͳڥʹͳΓ͕ͪɻΒϋοΧʔ͡Όͳ͍͠ʜળѱͷͰͳ͍ɻ
ੜͷιϑτΣΞͰ͋Δ3VCZͷφΠε͞ΛਓతͳڥͰ͋ΔϏδωεͷੈքͰϋοΧʔͳΒ͵զʑ͕l࠶ݱz͢Δํ๏
ͦ͜ͰΞδϟΠϧϦʔϯͰ͢Α
“”ϋοΧʔͱΞδϟΠϧ"What!?! That's obvious!" closelyfollowed by "But Fowler explains it betterthan Unix traditions do...",$#) *%'+)BDLJOHBOE3FGBDUPSJOHCZ&SJD43BZNPOEIUUQXXXBSUJNBDPNXFCMPHTWJFXQPTUKTQ UISFBE
The New Methodology ৽͍͠ํ๏• Adaptive > Predictiveࣄલͷਫ਼ΑΓݱ࣮ͷదԠΛ• People > Process“ਓؒ”ιϑτΣΞ։ൃͷ࠷ॏཁίϯϙʔωϯτ• Self-Adaptive ProcessϓϩηεϑΟʔυόοΫΛ௨ͯ͡ҭͭhttps://www.martinfowler.com/articles/newMethodology.html
ྫ͑4DSVNͱ͍͏ΞδϟΠϧͳࣄͷਐΊํͷϑϨʔϜϫʔΫ͕͋Δɻ͜ΕΛφΠεΛಧ͚ΔϝσΟΞͱͯ͠ϙΤϜԽ͢Δ ಁ໌ੑ ݕࠪ దԠ
ྫ͑-&"/ΤϯλʔϓϥΠζͱ͍͏େͳߏ͕͋ΔɻlϛογϣϯίϚϯυzͱlվળͷܕzΛφΠεΛಧ͚ΔϝσΟΞͱͯ͠ϙΤϜԽ͢Δ λʔήοτঢ়ଶɺతɺ࠷খݶͷ੍
3VCZΛͬͯlͨͷ͍͠zͱײ͡ΒΕͨͱ͖ͷड͚खͱͯ͠ͷؾ࣋ͪΛɺ͕ࣗࣄͷૹΓखͱͳͬͨͱ͖ʹɺͦΕΛड͚खͷ৺ʹl࠶ݱz͢Δ͜ͱʹ͚͍ۙͮͯΔͩΖ͏͔
3VCZͷφΠεΛಧ͚ΔϝσΟΞͱͯ͠ϙΤϜԽ͢Δͱ͍͏؍͔Βઌୡͷݴ༿ΛோΊͯΈΑ͏
lࣃंͷͭʹͳͬͨਓؒɺࣄΛָ͘͠Ͱ͖ͳ͍ɻࣄָ͕͘͠ͳΔͷɺࣄͷશମ૾͕ѲͰ͖ɺࣄશମͷ࣭ʹΛ࣋ͭ߹Ͱ͋ΔɻΫϦετϑΝʔɾΞϨάβϯμʔʰύλϯɾϥϯήʔδʱ
lʮָ͠͞ʯʹϏδωεՁ͕͋Γ·݁͢ہɺϞνϕʔγϣϯ͕ͦ͜ϓϩάϥϚͷੜ࢈ੑΛࠨӈ͢ΔͷͰ͢ɻϚʔςΟϯɾϑΝϥʔʮμΠφϛοΫλΠϐϯάʯhttp://bliki-ja.github.io/DynamicTyping/
http://modernagile.org/
!LBLVUBOJ
3VCZJTUJTUɻ3VCZJTU͕͖ɻ
Ұൠࣾஂ๏ਓຊ3VCZͷձͷཧࣄɻͷࠜͷຊͷ3VCZJTUͷ׆ಈʹ๏ਓ֨Λ༩͍͑ͯΔɻ3VCZϦϑΝϨϯεϚχϡΞϧ 3VCZJTU.BHB[JOF 3VCZ,BJHJ Ҭ3VCZձٞ 3BJMT(JSMT+BQBOͳͲͷ׆ಈΛࢧԉ͢ΔࣄۀΛ͓͜ͳ͍ͬͯ·͢ɻ
3VCZΞιγΤʔγϣϯҰൠࡒஂ๏ਓɻࡒʹ๏ਓ֨Λ༩͑ͯɺ͓ۚʹ͍͍ײ͡ʹಇ͍ͯΒͬͯ3VCZͷීٴͱൃలͷͨΊͷࣄۀΛ͍ͬͯͯ͢͝ ݸਓͷݟղͰ͢ɻ
͍·ɺͰ͖ΔΞδϟΠϧ ֯యhttps://www.slideshare.net/kdmsnr/20130808agilesapporoFurther Readinghttps://www.slideshare.net/takahashim/how-to-become-a-rubyist3VCZJTUೖ൛ ߴڮٛhttp://rubyonrails.org/doctrine/5IF3BJMT%PDUSJOF %))