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

Ruby講義 第12回

Ruby講義 第12回

Gem

Kuniaki IGARASHI

June 30, 2012
Tweet

More Decks by Kuniaki IGARASHI

Other Decks in Technology

Transcript

  1. ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JF BUUS@BDDFTTPSUJUMF QSJDF OVNCFS FOE

    ͨͱ͑͹#PPLΫϥεͱ.BHB[JOFΫϥε ࡶࢽ Λ࡞Δͱ͠·͢ɻ ผʑʹఆٛΛॻ͍ͯ΋͍͍ͷͰ͕͢ɺڞ௨߲ ΋ͨ͘͞Μ͋Γ·͢ɻ
  2. ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JF BUUS@BDDFTTPSUJUMF QSJDF OVNCFS FOE

    ͨͱ͑͹#PPLΫϥεͱ.BHB[JOFΫϥε ࡶࢽ Λ࡞Δͱ͠·͢ɻ ผʑʹఆٛΛॻ͍ͯ΋͍͍ͷͰ͕͢ɺڞ௨߲ ΋ͨ͘͞Μ͋Γ·͢ɻ
  3. ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JOF#PPL BUUS@BDDFTTPSOVNCFS FOE ͦΜͳͱ͖͸ɺܧঝΛ࢖͏ͱศརͰ͢ɻ DMBTT.BHB[JOF#PPLͱॻ͘͜ͱͰɺ#PPLΫϥεΛܧঝͨ͠

    .BHB[JOFΫϥεΛఆٛͰ͖·͢ɻ.BHB[JOFΫϥε͸#PPLΫϥε ͷੑ࣭Λड͚ܧ͗·͢ɻԿΛड͚ܧ͙͔Λ࣍ͷϖʔδͰղઆ͠·͢ɻ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JOF BUUS@BDDFTTPSUJUMF QSJDF OVNCFS FOE ಉ͡ಈ࡞ ܧঝΛ࢖ͬͨॻ͖ํ ܧঝΛ࢖Θͳ͍ॻ͖ํ
  4. ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JF#PPL BUUS@BDDFTTPSOVNCFS FOE ྫ͑͹#PPLΫϥεΛܧঝͨ͠ .BHB[JOFΫϥε͸ɺUJUMFͱQSJDFΛ

    ड͚ܧ͍Ͱ͍·͢ɻྫ͑͹ɺˣͷΑ͏ͳ ίʔυΛॻ͘͜ͱ͕Ͱ͖·͢ɻ DMBTTΫϥε໊εʔύʔΫϥε໊ Ϋϥεͷఆٛ FOE ܧঝ͢Δ৔߹ͷॻࣜ εʔύʔΫϥεͱ͸ɺܧঝݩͷ Ϋϥε ਌Ϋϥε Ͱ͢ɻ ܧঝͨ͠Ϋϥε͸ɺ਌ΫϥεͷશͯͷΠϯελϯεม਺ɺϝιο υͳͲΛड͚ܧ͗·͢ɻ NBHB[JOF.BHB[JOFOFX NBHB[JOFUJUMF$BO$BN QNBHB[JOFUJUMF$BO$BN
  5. .PEVMF ΫϥεͰϞδϡʔϧΛJODMVEF͢ΔͱɺNPEVMFʹఆٛ͠ ͯ͋ΔϝιουΛΫϥε΁௥Ճ͢Δ͜ͱ͕Ͱ͖·͢ɻ NPEVMF(SFFUJOH EFGIFMMP QVUT)FMMP FOE FOE DMBTT"MJDF JODMVEF(SFFUJOH

    FOE BMJDF"MJDFOFX BMJDFIFMMPIFMMP JODMVEFͨ͠"MJDFΫϥεʹ ͸IFMMPϝιου͕௥Ճ͞Ε ·͢ɻ ϞδϡʔϧΛఆٛ͠·͢ɻ Ϟδϡʔϧʹ͸ϝιουΛ ఆٛ͠·͢ɻ
  6. .PEVMF NPEVMF(SFFUJOH EFGIFMMP QVUT)FMMP FOE FOE DMBTT"MJDF JODMVEF(SFFUJOH FOE DMBTT"MJDF

    EFGIFMMP QVUT)FMMP FOE FOE JODMVEFͨ͠"MJDFΫϥε͸ӈͷΑ͏ʹॻ͍ͨ͜ͱͱಉ͡ʹ ͳΓ·͢ɻ ಉ͡
  7. .PEVMF ෳ਺ͷΫϥεͰಉ͡ϝιουΛར༻͍ͨ͠ͱ͖ʹNPEVMF Λ࢖͏ͱॏෳΛͳͤ͘ΔͷͰศརͰ͢ɻ NPEVMF(SFFUJOH EFGIFMMP QVUT)FMMP FOE FOE DMBTT"MJDF JODMVEF(SFFUJOH

    FOE BMJDF"MJDFOFX BMJDFIFMMPIFMMP DMBTT#PC JODMVEF(SFFUJOH FOE CPC#PCOFX CPCIFMMPIFMMP ΋͠΋IFMMPϝιουͰදࣔ͢ Δ)FMMPΛ͜Μʹͪ͸ʹม͍͑ͨ৔ ߹͸͜ͷϞδϡʔϧ͚ͩมߋ͢Ε͹ྑ͍
  8. TQSFBETIFFUHFNԋश &YDFMϑΝΠϧΛ৽ن࡞੒ SFRVJSFTQSFBETIFFU CPPL4QSFBETIFFU8PSLCPPLOFX TIFFUCPPLDSFBUF@XPSLTIFFU TIFFU< >UFTUJOH CPPLXSJUF FYBNQMFYMT طଘͷ&YDFMϑΝΠϧΛ։͍ͯผ໊Ͱอଘ

    SFRVJSFTQSFBETIFFU CPPL4QSFBETIFFUPQFO FYBNQMFYMT TIFFUCPPLXPSLTIFFU  QTUSTIFFU< > TIFFU< >IFMMP CPPLXSJUF FYBNQMFYMT HFNJOTUBMMTQSFBETIFFU TQFSFBETIFFUHFNΛΠϯετʔϧ ˞4QSFBETIFFU8PSLCPPL ͸ɺ4QSFBETIFFUϞδϡʔϧͷதͷ 8PSLCPPLΫϥεͷҙຯͰ͢ɻઌि આ໌ͨ͠Ϟδϡʔϧʹ͸͜ͷΑ͏ʹछ ྨΛ෼໊͚ͯલΛ͚ͭΔ࢖͍ํ΋͋Γ ·͢ɻ·ͨ࣍ճҎ߱ͷߨٛͰग़͖ͯͨ ࡍʹઆ໌͠·͢ɻ
  9. UXJUUFSHFNԋश UXJUUFSͰϢʔβʔ͕ͭͿ΍͍͍ͯΔʮ࠷ۙฉ͍͍ͯΔۂʯΛௐ΂Δ SFRVJSFUXJUUFS 5XJUUFSTFBSDI OPXQMBZJOH SQQ  SFTVMU@UZQFSFDFOU FBDIEPcTUBUVTc QVUT\TUBUVTGSPN@VTFS^\TUBUVTUFYU^

    FOE HFNJOTUBMMUXJUUFS UXJUUFSHFNΛΠϯετʔϧ OPXQMBZJOHͱ͍͏ݴ༿ೖΓͷUXFFUΛ࠷৽݅ݕࡧ͢Δ ݅਺ ͜ͷݴ༿ΛؚΉ ͭͿ΍͍ͨϢʔβʔ ͭͿ΍͖಺༰
  10. ԋशղઆҾ਺ͷ)BTIͷলུܗ 5XJUUFSTFBSDI OPXQMBZJOH SQQ SFTVMU@UZQFSFDFOU ͜ͷ෦෼ɺݟ׳Εͳ͍ॻ͖ํΛ͍ͯ͠·͢ɻ 5XJUUFSTFBSDI OPXQMBZJOH \SQQ SFTVMU@UZQFSFDFOU^

    লུ͠ͳ͍Ͱॻ͘ͱҎԼͷΑ͏ʹͳΓ·͢ɻ ൪໨ͷҾ਺͸จࣈྻ ൪໨ͷҾ਺͸)BTIͰ\^Λলུ 3VCZͰΑ͘࢖ΘΕΔςΫχοΫͰɺͨͱ͑͹ෳ਺ͷΦϓγϣϯΛҾ ਺ͱͯ͠౉͍ͨ͠ͱ͖ʹ)BTIΛ౉͢͜ͱ͕͋Γ·͢ɻΩʔ͕આ໌จ ͷ໾໨Λͯ͘͠ΕͯಡΈ΍͍͔͢ΒͰ͢ɻ ͦͷࡍʹᐆດʹͳΒͳ͚Ε͹)BTIͷ\^Λলུͯ͠ॻ͚·͢ɻ