Ruby Is Nice so We Are Nice

34fcd5f1deeb25b1138e9845137feb6e?s=47 Shintaro Kakutani
November 02, 2017
2.6k

Ruby Is Nice so We Are Nice

Keynote on RubyWorld conference 2017

34fcd5f1deeb25b1138e9845137feb6e?s=128

Shintaro Kakutani

November 02, 2017
Tweet

Transcript

  1. RUBY IS NICE SO WE ARE NICE ֯୩৴ଠ࿠ !LBLVUBOJ 


    3VCZ8PSME$POGFSFODFجௐߨԋ
  2. .BU[JTOJDFTPXFBSFOJDF

  3. XF3VCZJTUɻ3VCZJTU ͱ͸ɺl3VCZʹରͯ͠ ୯ͳΔ͓٬͞ΜҎ্ͷ ؾ࣋Λ͍࣋ͬͯΔਓz

  4. ࣗ෼Ҏ֎Ͱ3VCZΛ࢖͍ͬͯΔ ਓͷ͜ͱ͕ؾʹͳͬͯߦಈͯ͠ ͍Δ͋ͳͨ͸͔ͳΓ3VCZJTUͷ ૉཆ͕͋Γ·͢ɻ͍·ͷٕज़Ϩ ϕϧ΍஌ࣝ͸ؔ܎ͳ͍ΜͰ͢ɻ

  5. Α͏ͦ͜

  6. .BU[JTOJDFTPXFBSFOJDF

  7. 3VCZJTOJDFTPXFBSFOJDF

  8. None
  9. .BU[͕φΠεͳͷ͸Θ͔ Δ .BU[ౕ͍͍ ɻ͔͠͠ 3VCZ͕φΠεͱ͸ʜ ࡢ ೔ͷجௐߨԋΛώϯτʹ ߟ͑ͯΈ·͠ΐ͏ʜ

  10. l3VCZz͸ϓϩάϥϛϯάݴޠͩ ͚ʹݶΒͳ͍ɻϥΠϒϥϦ΍ϑ ϨʔϜϫʔΫɺπʔϧ΍ΞϓϦ έʔγϣϯʜΈΜͳͷ࣋ͪدͬ ͨl࢖͏ਓʹͱͬͯͷྑ͍ײ͡z ͷશମɺͦΕ͕3VCZͷφΠεɻ

  11. ΈΜͳ͕3VCZʹ࣋ͪدͬͨ੒Ռ͕φ Πε͔ͩΒࢲͨͪ3VCZJTU΋φΠεͰ ͍Α͏ʜ͋Ε ੒ՌΛ࣋ͪد͍ͬͯ Δͷ͸3VCZJTUͰ͸ 3VCZJTUͷ੒Ռ ͕φΠε͔ͩΒ3VCZJTU͸φΠε  3VCZJTU͕φΠε͔ͩΒ3VCZ͕φΠ εʹͳΔ

    ແݶϧʔϓ͔ͳ
  12. 3VCZͷφΠε͞͸ɺ3VCZJTU ͷ࣋ͪدͬͨl͍͍ײ͡zͷશ ମͱͯ͠ɺ3VCZJTU͕ҭ͍ͯͯ ͘ɺͱ͍͏ಈతͰࣗݾݴٴత ͳऴΘΓͷఆ·Βͳ͍׆ಈʹɻ

  13. 3VCZ,BJHJͷ.BU[ͷ جௐߨԋ͸l.BU[JTOJDFz͔ Βl3VCZJTOJDFz΁ͱ͍͏ ͷ͕࣮ࡍʹ͸ͲΜͳ෩ܠͳͷ ͔Λ঺հͯ͘͠Ε͍ͯ·͢ɻ

  14. ʜͱ͸͍͑ɺͦΕ͸͜ͷ࿭੕Ͱ ࠷ڧΫϥεͷ΢σϚΤͷεΰΠ ڃϋοΧʔͷ࿩͡ΌΜͶʜͱ͍ ͏ؾ࣋ͪ͸Θ͔Δɻ3VCZJTUʹ ٕज़ͷϨϕϧ͸ؔ܎ͳ͍ɺͱ͍ͬ ͯ΋ٕज़ͷ෼໺ͷ࿩ͩ͠Ͷʜɻ

  15. 3VCZJTOJDFTPXFBSFOJDF

  16. ೥Ҏ߱ ͜ͷ೥ؒ ʹɺ 3VCZΛۀ຿Ͱ࢖͍࢝Ίͨɺlී ௨ͷzϓϩάϥϚʔͷΈͳ͞Μ ʹ΍ͬͯ΋Β͑Δͱ͍͍Μ͡Ό ͳ͍͔ͳͱࢥ͍ͬͯΔ͜ͱ

  17. ೔தʹɺ͓ޓ͍ʹܟҙΛ ΋ͬͯ཰௚ʹɺ࢓ࣄʹؔ Θ͍ͬͯΔlؾ࣋ͪzΛ࿩ ͢ػձΛܧଓతʹ࣋ͱ͏

  18. lඇެࣜzͰ͍͍ɻ΍Γํ΋ͲͷΑ͏ͳ ΋ͷͰ΋ߏΘͳ͍ɻ·ͣ͸෼͔Β Ͱ΋ɻl;Γ͔͑ΓzɺPOɺࡶஊɺ ໘ஊɺϥϯνʜɻϓϩάϥϚʔಉ࢜Ͱ ࢝Ίͯ΋͍͍͠ɺ ࣗ෼ͨͪͰखԠ͑ Λײͨ͡Γɺඞཁͦ͏ͳΒ ϓϩάϥ ϚʔͰดͣ͡ʹ΍ΕͨΒ͍͍͘͢͝ɻ

  19. 3VCZ͸ίϯϐϡʔλʔʹ࢓ࣄ Λͤ͞ΔͨΊͷϓϩάϥϛϯά ݴޠͰ͋Δͱಉ࣌ʹɺϓϩάϥ Ϛʔʹϓϩάϥϛϯά͕lͨͷ ͍͠zͱ͍͏ؾ࣋ͪΛ఻͑Δlݴ ޠzͰ΋͋Δ ͍͢͝

  20. ૹΓख͕ײ͍ͯ͡Δؾ࣋ ͪΛड͚खͷ৺ʹ࠶ݱ͞ ͤΔͨΊͷݴޠͷ࢖͍ํ ͸lࢻzͱݺ΂ΔͷͰ͸ 
 ϙΤϜ

  21. 3VCZ͕ϓϩάϥϛϯάݴޠΛ ϝσΟΞͱͯ͠ײ৘Λಧ͚͍ͯ ΔΑ͏ʹɺl࢓ࣄzΛϝσΟΞͱ ͯ͠ײ৘Λಧ͚ΒΕ͍ͯΔ͔ 
 ϙΤϜͱͯ͠ͷ࢓ࣄ

  22. Ͱ͖͍ͯΔͰ͖͍ͯ ͳ͍ɺڧ͍ऑ͍ɺࣗ ৴͕͋Δෆ҆ͩɺ೰Μ Ͱ͍Δ΋΍΋΍͢Δ

  23. 3VCZΛ࢖ͬͯۀ຿΍ࣄۀΛ͓͜ ͳ͏ػձ͸ͱͯ΋ͱͯ΋૿͑·͠ ͨ Α͍͜ͱ ɻ͔͠͠ɺ3VCZͷ Α͏ʹφΠεͳײ৘Λ࢓ࣄΛ௨͡ ͯಧ͚͍ͯΔ৬৔͸ಉ͚ͩ͡͸૿ ͑ͯ͸͍ͳ͍ɺͱײ͍ͯ͡Δɻ

  24. ͩͬͯ·͋೉͍͠ ͔ΒͶ

  25. 3VCZ͸ίϯϐϡʔςΟϯάύϫʔ ͷ૿େͱΠϯλʔωοτͷීٴ ͷաఔͰੜ·Εҭͬͨɺࣗ༝ͳɺ ࣗવͷɺ໺ੜͷιϑτ΢ΣΞ
 3VCZ͸ϋοΧʔୡ͕ͭͬͨ͘

  26. lϏδωεzͱͯ͠ͷιϑτ ΢ΣΞͮ͘Γ͸Ͳ͏ͯ͠΋ ਓ޻తͳ؀ڥʹͳΓ͕ͪɻ ๻ΒϋοΧʔ͡Όͳ͍͠ʜ ળѱͷ໰୊Ͱ͸ͳ͍ ɻ

  27. ໺ੜͷιϑτ΢ΣΞͰ͋ Δ3VCZͷφΠε͞Λਓ޻ తͳ؀ڥͰ͋ΔϏδωε ͷੈքͰϋοΧʔͳΒ͵ զʑ͕l࠶ݱz͢Δํ๏

  28. ͦ͜ͰΞδϟΠϧ ϦʔϯͰ͢Α

  29. “ ” ϋοΧʔͱΞδϟΠϧ  "What!?! That's obvious!" closely followed by

    "But Fowler explains it better than Unix traditions do..." ,$#)   *%'+ )BDLJOHBOE3FGBDUPSJOHCZ&SJD43BZNPOE IUUQXXXBSUJNBDPNXFCMPHTWJFXQPTUKTQ UISFBE
  30. The New Methodology
 ৽͍͠ํ๏࿦ • Adaptive > Predictive ࣄલͷਫ਼౓ΑΓ΋ݱ࣮΁ͷదԠΛ •

    People > Process “ਓؒ”͸ιϑτ΢ΣΞ։ൃͷ࠷ॏཁίϯϙʔωϯτ • Self-Adaptive Process ϓϩηε͸ϑΟʔυόοΫΛ௨ͯ͡ҭͭ https://www.martinfowler.com/articles/newMethodology.html
  31. ྫ͑͹4DSVNͱ͍͏ΞδϟΠ ϧͳ࢓ࣄͷਐΊํͷϑϨʔϜϫʔ Ϋ͕͋Δɻ͜ΕΛφΠεΛಧ͚ ΔϝσΟΞͱͯ͠ϙΤϜԽ͢Δ
 ಁ໌ੑ ݕࠪ దԠ

  32. ྫ͑͹-&"/ΤϯλʔϓϥΠζͱ͍͏૖ େͳߏ૝͕͋ΔɻlϛογϣϯίϚϯυz ͱlվળͷܕzΛφΠεΛಧ͚ΔϝσΟ Ξͱͯ͠ϙΤϜԽ͢Δ
 λʔήοτঢ়ଶɺ໨తɺ࠷খݶͷ੍໿

  33. 3VCZΛ࢖ͬͯlͨͷ͍͠zͱײ ͡ΒΕͨͱ͖ͷड͚खͱͯ͠ͷ ؾ࣋ͪΛɺࣗ෼͕࢓ࣄͷૹΓख ͱͳͬͨͱ͖ʹɺͦΕΛड͚ख ͷ৺ʹl࠶ݱz͢Δ͜ͱʹ͚ۙͮ ͍ͯΔͩΖ͏͔

  34. 3VCZͷφΠεΛಧ͚Δ ϝσΟΞͱͯ͠ϙΤϜԽ ͢Δͱ͍͏؍఺͔Βઌୡ ͷݴ༿ΛோΊͯΈΑ͏

  35. lࣃंͷͭʹͳͬͨਓؒ͸ɺ ࢓ࣄΛָ͘͠Ͱ͖ͳ͍ɻ࢓ࣄ ָ͕͘͠ͳΔͷ͸ɺ࢓ࣄͷશ ମ૾͕೺ѲͰ͖ɺ࢓ࣄશମͷ ࣭ʹ੹೚Λ࣋ͭ৔߹Ͱ͋Δɻ ΫϦετϑΝʔɾΞϨάβϯμʔʰύλϯɾϥϯήʔδʱ

  36. lʮָ͠͞ʯʹ΋ϏδωεՁ ஋͕͋Γ·͢ŠŠ݁ہɺϞν ϕʔγϣϯ͕ͦ͜ϓϩάϥϚ ͷੜ࢈ੑΛࠨӈ͢ΔͷͰ͢ɻ ϚʔςΟϯɾϑΝ΢ϥʔʮμΠφϛοΫλΠϐϯάʯ http://bliki-ja.github.io/DynamicTyping/

  37. http://modernagile.org/

  38. !LBLVUBOJ

  39. None
  40. 3VCZJTUJTUɻ 3VCZJTU͕޷͖ɻ

  41. Ұൠࣾஂ๏ਓ೔ຊ3VCZͷձͷཧࣄɻ ૲ͷࠜͷ೔ຊͷ3VCZJTUͷ׆ಈʹ๏ਓ ֨Λ༩͍͑ͯΔɻ3VCZϦϑΝϨϯε ϚχϡΞϧ 3VCZJTU.BHB[JOF  3VCZ,BJHJ ஍Ҭ3VCZձٞ  3BJMT(JSMT+BQBOͳͲͷ׆ಈΛࢧԉ

    ͢ΔࣄۀΛ͓͜ͳ͍ͬͯ·͢ɻ
  42. 3VCZΞιγΤʔγϣϯ͸Ұൠ ࡒஂ๏ਓɻࡒʹ๏ਓ֨Λ༩͑ͯɺ ͓ۚʹ͍͍ײ͡ʹಇ͍ͯ΋Βͬ ͯ3VCZͷීٴͱൃలͷͨΊͷ ࣄۀΛ΍͍ͬͯͯ͢͝
 ݸਓͷݟղͰ͢ ɻ

  43. None
  44. 3VCZͷφΠε͞͸ɺ3VCZJTU ͷ࣋ͪدͬͨl͍͍ײ͡zͷશ ମͱͯ͠ɺ3VCZJTU͕ҭ͍ͯͯ ͘ɺͱ͍͏ಈతͰࣗݾݴٴత ͳऴΘΓͷఆ·Βͳ͍׆ಈʹɻ

  45. 3VCZ͕ϓϩάϥϛϯάݴޠΛ ϝσΟΞͱͯ͠ײ৘Λಧ͚͍ͯ ΔΑ͏ʹɺl࢓ࣄzΛϝσΟΞͱ ͯ͠ײ৘Λಧ͚ΒΕ͍ͯΔ͔ 
 ϙΤϜͱͯ͠ͷ࢓ࣄ

  46. ೔தʹɺ͓ޓ͍ʹܟҙΛ ΋ͬͯ཰௚ʹɺ࢓ࣄʹؔ Θ͍ͬͯΔlؾ࣋ͪzΛ࿩ ͢ػձΛܧଓతʹ࣋ͱ͏

  47. ͍·ɺͰ͖ΔΞδϟΠϧ ֯੐య  https://www.slideshare.net/kdmsnr/20130808agilesapporo Further Reading https://www.slideshare.net/takahashim/how-to-become-a-rubyist 3VCZJTUೖ໳೥൛ ߴڮ੐ٛ 

    http://rubyonrails.org/doctrine/ 5IF3BJMT%PDUSJOF %)) 
  48. RUBY IS NICE SO WE ARE NICE ֯୩৴ଠ࿠ !LBLVUBOJ 


    3VCZ8PSME$POGFSFODFجௐߨԋ