Upgrade to Pro — share decks privately, control downloads, hide ads and more …

kanazawa.rb #15

460146ee3ce2dbfc33838080ac9e73ba?s=47 shiget 84
November 23, 2013

kanazawa.rb #15

kanazawa.rb #15 飛び入り LT 資料

直前に松江で開催された、RubyWorld Conference 2013 の参加報告です。
本資料は私の主観のもと作成されており、登壇者の主張と異なる場合がありますのでご注意ください。

460146ee3ce2dbfc33838080ac9e73ba?s=128

shiget 84

November 23, 2013
Tweet

Transcript

  1. L[SCNFFUVQ 38$ࢀՃใࠂ TIJHFU 13೥11݄23೔౔༵೔

  2. TIJHFU  ߴઐ‎ߴઐઐ߈Պ‎+"*45 ‎෋ࢁͷ4*FSԣ඿ۈ຿೥໨ +BWB &YDFM 13೥11݄23೔౔༵೔

  3. L[SCNFFUVQ 38$ࢀՃใࠂ 4IJHFU 13೥11݄23೔౔༵೔

  4. ˙஫ҙࣄ߲ ࢲ͕ࢀՃͯ͠ײͨ͜͡ͱɾཧղ ͨ͠಺༰Λத৺ʹ࿩Λ͠·͢ɻ ߨԋऀͷओு΍ࣄ࣮ͳͲͱҟͳ ΔՄೳੑ͕͋ΔͷͰ͝஫ҙͩ͘ ͍͞ɻ 13೥11݄23೔౔༵೔

  5. 13೥11݄23೔౔༵೔

  6. 3VCZ8PSME $POGFSFODF  13೥11݄23೔౔༵೔

  7. ˙ظؒ ɹʙ ˙ձ৔ ɹౡࠜݝཱ࢈ۀަྲྀձؗ ɹʮ͘ʹͼ͖ϝοηʯ ˙ςʔϚ ɹ3VCZͷʮΤίγεςϜʯ ɹʙ3VCZͷ࣋ଓՄೳͳੜଶܥʙ 13೥11݄23೔౔༵೔

  8. ˙جௐߨԋ ·ͭ΋ͱΏ͖ͻΖ ʰ"JNJOHUIF.PWJOH 5BSHFUʱ 13೥11݄23೔౔༵೔

  9. ೥લͷ ΤϯλʔϓϥΠζ ιϑτ΢ΣΞ։ൃ 13೥11݄23೔౔༵೔

  10. ˙ৄࡉͳυΩϡϝϯτ ˙΢ΥʔλʔϑΥʔϧ ˙อकతͳબ୒ ɾɾɾԿ͔ؒҧͬͯͳ͍ʁ 13೥11݄23೔౔༵೔

  11. ˙ޡͬͨલఏ ɹԿΛ࡞͍ͬͯΔ͔೺Ѳ͍ͯ͠Δ ɹԿΛ࡞Γ͍͔ͨ೺Ѳ͍ͯ͠Δ ɹঢ়گ͸มΘΒͳ͍ 13೥11݄23೔౔༵೔

  12. ˙ޡͬͨલఏ ɹԿΛ࡞͍ͬͯΔ͔೺Ѳ͍ͯ͠Δ ɹɹιϑτ΢ΣΞ͸ෳࡶ ɹɹυΩϡϝϯτͰे෼ΧόʔͰ͖ͳ͍ ɹԿΛ࡞Γ͍͔ͨ೺Ѳ͍ͯ͠Δ ɹঢ়گ͸มΘΒͳ͍ ɹɹ 13೥11݄23೔౔༵೔

  13. ˙ޡͬͨલఏ ɹԿΛ࡞͍ͬͯΔ͔೺Ѳ͍ͯ͠Δ ɹɹιϑτ΢ΣΞ͸ෳࡶ ɹɹυΩϡϝϯτͰे෼ΧόʔͰ͖ͳ͍ ɹԿΛ࡞Γ͍͔ͨ೺Ѳ͍ͯ͠Δ ɹɹ૝૾͢Δͷ͸೉͍͠ ɹɹԿΛ࡞Ε͹Ϗδωεߩݙ͢Δ͔Θ͔Βͳ͍ ɹঢ়گ͸มΘΒͳ͍ ɹɹ 13೥11݄23೔౔༵೔

  14. ˙ޡͬͨલఏ ɹԿΛ࡞͍ͬͯΔ͔೺Ѳ͍ͯ͠Δ ɹɹιϑτ΢ΣΞ͸ෳࡶ ɹɹυΩϡϝϯτͰे෼ΧόʔͰ͖ͳ͍ ɹԿΛ࡞Γ͍͔ͨ೺Ѳ͍ͯ͠Δ ɹɹ૝૾͢Δͷ͸೉͍͠ ɹɹԿΛ࡞Ε͹Ϗδωεߩݙ͢Δ͔Θ͔Βͳ͍ ɹঢ়گ͸มΘΒͳ͍ ɹɹະདྷ͸Θ͔Βͳ͍ 13೥11݄23೔౔༵೔

  15. ˙೥લ ɹແ஌ͩͬͨ ɹ ɹແ஌ͷͱ͖ʹͱΕΔઓུ ɹɹ  อकతબ୒ ɹɹ  μνϣ΢ΞϧΰϦζϜ

    13೥11݄23೔౔༵೔
  16. ˙ઓུ ɹɹ  อकతબ୒ ɹɹ  μνϣ΢ΞϧΰϦζϜ 13೥11݄23೔౔༵೔

  17. ˙อकతબ୒ ɹաڈ͔ΒֶͿ ɹঢ়گ͕มԽ͠ͳ͚Ε͹ྑ͍બ୒ ɹ*5ۀքʹ͸౰ͯ͸·Βͳ͍ ɹ ͍͢͝εϐʔυͰਐԽ͢Δ 13೥11݄23೔౔༵೔

  18. ˙੺ͷঁԦ ϧΠεɾΩϟϩϧʰڸͷࠃͷΞϦεʱ ʮಉ͡ͱ͜ΖʹͱͲ·͍͔ͬͯͨ ͬͨΒɺશྗͰ૸Βͳ͍ͱ͍͚ͳ ͍ɻઌʹਐΈ͔ͨͬͨΒɺͦͷ̎ ഒͰ૸Βͳ͍ͱ͍͚ͳ͍ʯņ 13೥11݄23೔౔༵೔

  19. ˙ઓུ ɹɹ  อकతબ୒ ɹɹ  μνϣ΢ΞϧΰϦζϜ 13೥11݄23೔౔༵೔

  20. ˙μνϣ΢ΞϧΰϦζϜ ɹʢ಄Λ࠭ͷதʹಥͬࠐΈʣ ɹ໰୊͕ͳ͍Α͏ͳ;ΓΛ͢Δ ɹԿ΋͔΋౤͛ग़ͯͨͩ͠଴ͭ 13೥11݄23೔౔༵೔

  21. ˙μνϣ΢ΞϧΰϦζϜ ɹ͍ͣΕঢ়گ͕ճ෮͢ΔͳΒ ɹྑ͍બ୒ ɹঢ়گ͕มΘΒͳ͍ͱ࠷ѱͷબ୒ 13೥11݄23೔౔༵೔

  22. ˙ઓུ ɹɹ  อकతબ୒ ɹɹ  μνϣ΢ΞϧΰϦζϜ ͲͪΒ΋Α͘ͳ͍ 13೥11݄23೔౔༵೔

  23. ˙࣌͸೥ ɹίϯϐϡʔλ͸҆͘ͳͬͨ ɹɹΫϥ΢υ͸΋ͬͱ͍҆ ɹωοτϫʔΫ΋҆͘ͳͬͨ ɹιϑτ΢ΣΞ։ൃ΋҆͘ͳͬͨ 13೥11݄23೔౔༵೔

  24. ΠϯλʔωοτίϥϘϨʔγϣϯ 4PDJBM$PEJOH 13೥11݄23೔౔༵೔

  25. զʑ͸ ΑΓΑ͍ઓུΛ ͱΔ͜ͱ͕Ͱ͖Δ 13೥11݄23೔౔༵೔

  26. ˙ઓུ ɹɹ  อकతબ୒ ɹɹ  μνϣ΢ΞϧΰϦζϜ ɹɹ  ࢼߦࡨޡ

    13೥11݄23೔౔༵೔
  27. ˙ࢼߦࡨޡ ɹԿ౓΋௅ઓ͢Δ͜ͱ੒ޭͷൿ݃ ɹԿ౓Ͱ΋௅ઓͰ͖Δ؀ڥ ɹɹ଎͘ɾ҆͘ɾԿ౓Ͱ΋ ɹ"HJMFมԽʹରԠ͢Δ 13೥11݄23೔౔༵೔

  28. ɹ͜ΕͰ͏·͍͔͘͘ʁ ɹɹΘ͔Βͳ͍ ɹ੒ޭ֬཰͸্͛ΒΕΔ 13೥11݄23೔౔༵೔

  29. ˙ࢲ͕ͨͪͰ͖Δ͜ͱ ɹ೤৺ʹίʔυΛॻ͔ͳ͍ ɹɹͲΜͲΜෳࡶʹͳΔ ɹɹࣦഊͨ͠ͱ͖ͷӨڹ͕େ͖͍ ɹίʔυΛॻ͔ͳ͍ͨΊʹ೤৺ʹ ɹಇ͘ 13೥11݄23೔౔༵೔

  30. ˙ࢲ͕ͨͪͰ͖Δ͜ͱ ɹڝ૪ྗҡ࣋ʹඞཁͳ΋ͷҎ֎ ɹશͯΛ044ͱͯ͠ެ։͢Δ ɹίϛϡχςΟΛͭ͘Δ 13೥11݄23೔౔༵೔

  31. શͯͷιϑτ΢ΣΞ ։ൃ͸લʹਐΈଓ͚Δ ඞཁ͕͋Δ 13೥11݄23೔౔༵೔

  32. Ͱ͖Δ͚ͩ଎͘૸Δ Կ౓΋ࢼ͠ૣΊʹఫୀ 13೥11݄23೔౔༵೔

  33. ࣦഊͨ͠ΒऴΘΓ ˰ࣦഊͯ͠΋͍͍ΑͶ 13೥11݄23೔౔༵೔

  34. ࣦഊΛ ʮφΠετϥΠʯ ͱݴ͍׵͑Δ 13೥11݄23೔౔༵೔

  35. ʮφΠετϥΠʯ 13೥11݄23೔౔༵೔

  36. 13೥11݄23೔౔༵೔

  37. ˙" ɹ"BSPO1BUUFSTPO "55 ʰ4QFFEJOHVQ3BJMT JOUFSOBMTVTJOHVOJRVF 3VCZUFDIOJRVFTʱ 13೥11݄23೔౔༵೔

  38. ʮͲ͏΍ͬͯಈ͍͍ͯΔ͔Λௐ΂Δʯ ɹɾόά͕ݟ͔ͭΔ ɹɾόάΛ௚ͨ͢Ίʹਂ͘ௐ΂Δ ɹ଎౓΍ϝϞϦফඅྔʹ͍ͭͯ ɹɹϕϯνϚʔΫΛॻ͖֬ೝ ɹɹίʔυ͔ΒͲ͏࣮ݱ͍ͯ͠Δ͔֬ೝ 13೥11݄23೔౔༵೔

  39. ɾͳͥͳͷ͔ཧղ͢Δ ɾղܾ͢Δํ๏ΛֶͿ 13೥11݄23೔౔༵೔

  40. 13೥11݄23೔౔༵೔

  41. ˙" ߴҪ௚ਓ ΫοΫύουגࣜձࣾ ʰΫοΫύουͷ ɹܧଓతσϦόϦʔʱ 13೥11݄23೔౔༵೔

  42. ˙ৄࡉ͸ ɹIUUQTTQFBLFSEFDLDPNUBLBJDPOUJOVPVT EFMJWFSZJODPPLQBE 13೥11݄23೔౔༵೔

  43. ˙ҹ৅తͩͬͨͱ͜Ζ ɾ։ൃ؀ڥͷσʔλϕʔε͸ຊ൪؀ڥͱ΄΅ಉ͡ ɹʢݸਓ৘ใ౳͸আ͍ͯ͋Δʣ ɹɹɹ˰։ൃதͰ΋ར༻ऀͱಉ͡Ϣʔβମݧ ɹɹɹɹʢ42-ͷύϑΥʔϚϯε֬ೝ౳ʣ ɾσβΠφʔ΋1VMM3FRVFTU ɾಛʹ͍͢͜͝ͱ͸΍͍ͬͯͳ͍ ɹ#VJMEBEFQMPZNFOUQJQFMJOF ɹՄೳͳݶΓͷࣗಈԽ 13೥11݄23೔౔༵೔

  44. 13೥11݄23೔౔༵೔

  45. ˙" ࡾ޷लಙ  גࣜձࣾ೔ཱιϦϡʔγϣϯζ ʰ+3VCZΛ༻͍ͨ ɹ3BJMTΞϓϦ։ൃͷ࣮৘ʱ 13೥11݄23೔౔༵೔

  46. ˙֓ཁ ɾ+3VCZ ɹ+BWBͰ࣮૷͞Εͨ3VCZॲཧܥ ɹ+BWBͷࢿ࢈Λ׆༻Մೳ ɹɹطଘͷ+BWB࣮ߦ؀ڥʢ5PNDBUʣ্Ͱಈ͔ͨ͠Γ ɾ+3VCZ׆༻ࣄྫ ɹ಺੡"DDFTTΞϓϦέʔγϣϯͷ8FCԽ ɹɹཁ݅ ɹɹɹɹɾύεϫʔυ෇͖;*1ϑΝΠϧग़ྗ ɹɹɹɹɾ&YDFMϑΝΠϧͷग़ྗ

    13೥11݄23೔౔༵೔
  47. ˙+3VCZΛར༻͢Δࡍͷ໰୊ ೥౰࣌ ɹ(FNͷޓ׵ੑ ɹɹ$࣮૷ͷ(FN͸ಈ͔ͳ͍ ɹཁ݅ ɹɾύεϫʔυ෇͖;*1ϑΝΠϧग़ྗ ɹɹ[JQSVCZ͕࢖͑ͳ͍ ɹɾ&YDFMϑΝΠϧͷग़ྗ ɹɹTQSFETIFFU W

    ɹɹBYMTY W ɹɹɹͲͪΒ΋ཁ݅Λຬͨ͞ͳ͔ͬͨ 13೥11݄23೔౔༵೔
  48. ˙ཁ݅ͷ࣮ݱ ɾύεϫʔυ෇͖;*1ϑΝΠϧग़ྗ ɹ;JQKͱ͍͏+BWBϥΠϒϥϦͰ࣮ݱ ɾ&YDFMϑΝΠϧͷग़ྗ ɹ"QBDIF10*ͱ͍͏+BWBϥΠϒϥϦͰ࣮ݱ 13೥11݄23೔౔༵೔

  49. ˙౰࣌ͷ໰୊ʹର͢Δݱࡏͷঢ়گ ɹɾ3VCZ(FNTͷޓ׵ੑ ɹɹ+3VCZޓ׵ੑ͕޲্ ɹ ˙·ͱΊ ɹ+3VCZ+BWB"1*͕ݺ΂Δ3VCZॲཧܥ ɹͷೝࣝͰ3BJMTΞϓϦ։ൃΛ΍Δͷ͸ةݥ 13೥11݄23೔౔༵೔

  50. 13೥11݄23೔౔༵೔

  51. ˙"҆઒ཁฏ :BTV-BC ɺീాণࡾ ϏϤϯυɾύʔεϖ ΫςΟϒɾιϦϡʔγϣϯζגࣜձࣾ ʰ4PDJBM5SBOTMBUJOH3BJMT5VUPSJBMͱ 3VCZ)BDLJOH(VJEFͷ຋༁Λࢧ͑Δ࢓૊ Έʱ 13೥11݄23೔౔༵೔

  52. ˙ৄࡉ͸ ɹIUUQTTQFBLFSEFDLDPNZBTVMBCTPDJBM USBOTMBUJOHUIFXBZPGUSBOTMBUJOHSBJMT UVUPSJBMBOESVCZIBDLJOHHVJEF 13೥11݄23೔౔༵೔

  53. ˙3VCZ)BDLJOH(VJEFͷӳ༁ ɹHJUIVC ɹEFQMPZ +FLZMM ɹ͍ͭ΋ͷπʔϧͰ ɹ͍ͭ΋ͷΑ͏ʹ຋༁ ɹ̓೥൒ (JU)VCҠߦޙ೥ 13೥11݄23೔౔༵೔

  54. ˙3BJMT5VUPSJBMͷ࿨༁ ɹɹHJUʹෆ׳Ε ɹɹϓϩ຋༁ऀͱͷग़ձ͍ ɹɹɹ຋༁ͷ࢓૊ΈΛ࠶ߟ ୭Ͱ΋ࢀՃͰ͖Δ4PDJBM $PEJOHͷΑ͏ͳ຋༁؀ڥ 13೥11݄23೔౔༵೔

  55. ˙3BJMT5VUPSJBMͷ࿨༁ ɹGBDFCPPLHSPVQ ɹ(PPHMF5SBOTMBUPS5PPMLJU 13೥11݄23೔౔༵೔

  56. ˙3BJMT5VUPSJBMͷ࿨༁ ɹɹਓͰ̍ϲ݄ ɹ ɹ3BJMT͔Β΁ͷߋ৽ ɹɹਓͰिؒ 13೥11݄23೔౔༵೔

  57. &OKPZ 4PDJBM5SBOTMBUJOH 13೥11݄23೔౔༵೔

  58. 13೥11݄23೔౔༵೔

  59. ˙" ޒेཛྷ๜໌  גࣜձࣾTQJDFMJGFɾҰڮେֶ ʰͻΖ͕Δ3VCZͷֶͼͷ৔ʱ 13೥11݄23೔౔༵೔

  60. ˙ৄࡉ͸ ɹIUUQTTQFBLFSEFDLDPNJHBJHBSXD 13೥11݄23೔౔༵೔

  61. ˙֓ཁ ɹ3VCZͷ৽ֶ͍͠ͼ৔ ɹɹɾҰڮେֶߨٛ ɹɹɾ3BJMT(JSMT ɹɹɾ3BJMTࣉࢠ԰ 13೥11݄23೔౔༵೔

  62. ˙ҹ৅ʹ࢒ͬͨͱ͜Ζ ɹʮΰʔϧ͸ະདྷʹઃఆʯ ɹܧଓ͢Δɾ͍͔ͭࢥ͍ग़͢ ɹͨͷ͠͞ɾ੒ޭମݧ ɹܧଓͰ͖Δ؀ڥ ɹɹ࣭໰Ͱ͖Δਓɾ஥ؒ 13೥11݄23೔౔༵೔

  63. ৔ॴ͕͋Δ͜ͱͷ ॏཁੑ 13೥11݄23೔౔༵೔

  64. LBOB[BXBSC ͱ͍͏৔ॴ 13೥11݄23೔౔༵೔

  65. ࠓޙͱ΋ ͓ٓ͘͠ئ͍ ͍ͨ͠·͢ 13೥11݄23೔౔༵೔

  66. L[SCNFFUVQ 38$ࢀՃใࠂ 4IJHFU 13೥11݄23೔౔༵೔

  67. ͓·͚ 13೥11݄23೔౔༵೔

  68. ೔໨ʢ೔ʣͷ಺༰ʹ͍ͭͯ͸ εϥΠυΛ४උͯ͠Δ͕࣌ؒ ͋Γ·ͤΜͰͨ͠ɻɻɻ 13೥11݄23೔౔༵೔

  69. 13೥11݄23೔౔༵೔

  70. L[SCNFFUVQ 38$ࢀՃใࠂ 4IJHFU 13೥11݄23೔౔༵೔