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

メドレー開発部TechLunch メタプログラミングRuby入門

メドレー開発部TechLunch メタプログラミングRuby入門

メドレー開発部TechLunchで発表した内容を掲載しました。

メドレーで開発部では、隔週で社内勉強会が開かれています。
今回は、「メタプログラミングRuby入門」というタイトルで発表し、社内のエンジニアのRubyに対する知見を深めることを目指しました。

発表者:後藤 拓馬

参考図書:
メタプログラミングRuby
https://www.oreilly.co.jp/books/9784873117430/

Medley Inc.

March 14, 2017
Tweet

More Decks by Medley Inc.

Other Decks in Technology

Transcript

  1.  ࠓճͷλʔήοτɾΰʔϧ cλʔήοτ cΰʔϧ ✓ 3P3͸ීஈ৮͍ͬͯͯ͋Δఔ౓3VCZ͸͔͚Δ ✓ पΓͷίʔυݟͯͦΕͬΆ͘ಈ͘ίʔυ͸͔͚Δ ✓ 3VCZͰͷϝλϓϩάϥϛϯά͸͋·ΓΑ͘஌Βͳ͍

    ✓ 3VCZͷΦϒδΣΫτϞσϧʹ͍ͭͯཧղ͢Δ ✓ #BTJD0CKFDUNFUIPE@NJTTJOHʹ͍ͭͯཧղ͢Δ ✓ ීஈ࢖͍ͬͯΔHFNΛਂ͘ཧղͯ͠࢖͍͜ͳͤΔΑ͏ʹͳΔʢ͸ͣʣ ✓ ΑΓ3VCZͷݴޠಛੑΛੜ͔ͨ͠ίʔυΛॻ͚ΔΑ͏ʹͳΔʢ͸ͣʣ ✓ ϝλϓϩάϥϛϯά3VCZຊΛಡΈͨ͘ͳΔʢ͸ͣʣ
  2.  ࠓճ࿩͢͜ͱɾ࿩͞ͳ͍͜ͱ c࿩͢͜ͱ c࿩͞ͳ͍͜ͱ ✓ 3VCZͷΦϒδΣΫτϞσϧʹ͍ͭͯ ✓ ΫϥεɺϞδϡʔϧɺΠϯελϯεม਺ɺʢಛҟΫϥεʣ ✓ ϝιου୳ࡧ

    ✓ #BTJD0CKFDUNFUIPE@NJTTJOHΛ༻͍࣮ͨྫ ✓ HIFFHFN ✓ ϝλϓϩάϥϛϯάͦͷ΋ͷʹ͍ͭͯ ✓ FWBM଒ ✓ ,FSOFMFWBM #BTJD0CKFDUJOTUBODF@FWBM ౳ʑ ✓ ϑοΫϝιου ✓ $MBTTJOIFSJUFE .PEVMFJODMVEFE ౳ʑ
  3.  ϝλϓϩάϥϛϯάͱ͸ʜ cίʔυΛهड़͢Δίʔυ l.FUBQSPHSBNNJOHJTBQSPHSBNNJOHUFDIOJRVFJOXIJDIDPNQVUFS QSPHSBNTIBWFUIFBCJMJUZUPUSFBUQSPHSBNTBTUIFJSEBUB*UNFBOTUIBUB QSPHSBNDPVMECFEFTJHOFEUPSFBE HFOFSBUF BOBMZTFPSUSBOTGPSNPUIFS QSPHSBNT BOEFWFONPEJGZJUTFMGXIJMFSVOOJOHz8JLJQFEJB

    FO ΑΓ c੩తϝλϓϩάϥϛϯά ίʔυδΣωϨʔλʔ΍ίϯύΠϥΛ࢖ͬͨ΋ͷ cಈతϝλϓϩάϥϛϯά ࣮ߦ࣌ʹࣗ෼ࣗ਎Λૢ࡞͢Δɻ+BWBͰ+7.ͷόΠτίʔυΛૢ࡞͢Δ౳ ˞ϝλϓϩάϥϛϯά3VCZͷݴ༿ͷఆٛΛ༻͍͍ͯ·͢
  4.  ʢิ଍ʣେ౷Ұཧ࿦ c3VCZΦϒδΣΫτͷͭͷϧʔϧ ✓ ΦϒδΣΫτ͸छྨ͔͠ͳ͍ɻͦΕ͕௨ৗͷΦϒδΣΫτ͔ϞδϡʔϧʹͳΔɻ ✓ Ϟδϡʔϧ͸छྨ͔͠ͳ͍ɻͦΕ͕௨ৗͷϞδϡʔϧɺΫϥεɺಛҟΫϥεͷ͍ͣ Ε͔ʹͳΔɻ ✓ ϝιου͸छྨ͔͠ͳ͍ɻϝιου͸Ϟδϡʔϧʢେ൒͸ΫϥεʣʹॅΜͰ͍Δɻ

    ✓ ͢΂ͯͷΦϒδΣΫτ͸ʢΫϥε΋ؚΊͯʣʮຊ෺ͷΫϥεʯΛ͍࣋ͬͯΔɻ ✓ ͢΂ͯͷΫϥε͸ʢ#BTJD0CKFDUΛআ͍ͯʣͻͱͭ૆ઌʢεʔύʔΫϥε͔Ϟδϡʔ ϧʣΛ͍࣋ͬͯΔɻͭ·Γɺ͋ΒΏΔΫϥε͕#BTJD0CKFDUʹ޲͔ͬͯຊͷܧঝν ΣʔϯΛ͍࣋ͬͯΔɻ ✓ ΦϒδΣΫτͷಛҟΫϥεͷεʔύʔΫϥε͸ΦϒδΣΫτͷΫϥεͰ͋ΔɻΫϥ εͷಛҟΫϥεͷεʔύʔΫϥε͸ΫϥεͷεʔύʔΫϥεͷಛҟΫϥεͰ͋Δ ✓ ϝιουΛݺͼग़͢ͱ͖͸ɺ3VCZ͸Ϩγʔόͷຊ෺ͷΫϥεʹ޲͔ͬͯʮӈ΁ʯਐ ΈɺܧঝνΣʔϯΛʮ্΁ʯਐΉɻ ˞ϝλϓϩάϥϛϯά3VCZΑΓҾ༻
  5.  (IFFHFN 㾎 ֤"1*ຖʹ1SPYZΫϥεΛఆٛͦ͠ ΕͧΕͷΠϯελϯεͰ QBUI@QSFpYΛ࣋ͭ 㾎 3FTPVSDF1SPYZTVCKFDUͰ QBUI@QSFpYʹԠͨ͡"1*QBUIͷ +40/SFTQPOTFΛ࣋ͭ

    㾎 ͜ͷ+40/SFTQPOTFΛಛघͳ)BTI ʢ)BTIJF.BTIʣͰอ࣋ͯ͠Ξτ ϦϏϡʔτΞΫηεͰ͖Α͏ʹ͢Δ 㾎 ֎෦"1*ͷ+40/SFTQPOTFͷ݁Ռ औಘϝιουΛಈతʹϝιου VSM ͱ͔ Ͱఆٛ