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

rubyconftaiwan2015

 rubyconftaiwan2015

RubyConf台湾
at 2015.9.12

Kuniaki IGARASHI

September 12, 2015
Tweet

More Decks by Kuniaki IGARASHI

Other Decks in Technology

Transcript

  1. %FCVHHJOHCBTJDT GPS3BJMTBQQMJDBUJPOT ,VOJBLJ*("3"4)* UI4FQ3VCZ$POG୆ᖯ

  2. ޒेཛྷ๜໌ ,VOJBLJ*("3"4)* TQJDFMJGF *OD$50 'SPN+BQBO 5PLZP 3BJMTFOHJOFFS 1BSUUJNFUFBDIFS 3VCZ 3BJMT

     JO)JUPUTVCBTIJ6OJW 3BJMT(JSMTDPBDIJO+BQBO 3BJMTࣉࢠ԰XPSLTIPQGPVOEFS HJUIVCJHBJHB UXJUUFSJHBJHB GBDFCPPLLVOJBLJJHBSBTIJ
  3. ޒेཛྷʁ

  4. ໡ቋḨݿ⎊đᆇ֥ӑݺݿEFSݺ਩

  5. "CPVUUIJTUBML 5BMLBCPVU3BJMTEFCVHCBTJDT 5BSHFU wCFHJOOFST wGPSEFWFMPQNFOU %PO`UUBMLBCPVU wGPSQSPEVDUJPO wTFDVSJUZ wQFSGPSNBODF

  6. NFOV w8FCDPOTPMF w$ISPNF%FWFMPQFSUPPMT wCZFCVH wGPPUOPUFT wH wQSZSBJMT wBXFTPNFQSJOU wUPOOFMT wMFUUFSPQFOFS

    TBNQMFBQQVTFEJOUIJTQSFTFOUBUJPO IUUQTHJUIVCDPNJHBJHB[email protected]@BQQ
  7. QVUTBCD 'PSNBU $PEFT TIFMMDPNNBOET MT IUUQMPDBMIPTU 63-

  8. )PXUPHFOFSBUFUIFUFTUBQQGPSUIJTUBML SBJMTOFX[email protected] .BLFBTBNQMFBQQ DE[email protected] SBJMTHTDBGGPMECPPLTUJUMFNFNPUFYU CJOSBLFECNJHSBUF SBJMTT IUUQTHJUIVCDPNJHBJHB[email protected]@BQQ 3BJMTWFSTJPO

  9. 8FCDPOTPMF

  10. 8FCDPOTPMFSVOT*/4*%&ZPVSCSPXTFS /PUJOUFSNJOBM 8FCDPOTPMF 8FDBOSVOBOZ3BJMTDPEFTJOXFCDPOTPMF

  11. )PXUPVTFXFCDPOTPMF (&5 HSPVQEFWFMPQNFOUEP HFNXFCDPOTPMF d FOE (FNpMF 5IFDPEFJTXSJUUFOCZEFGBVMUJO3BJMTBQQ 7JFX DPOTPMF

    *GXFXSJUFJUJOBQQWJFXTMBZPVUTBQQMJDBUJPOIUNMFSC  XFDBOVTFXFCDPOTPMFJOBOZQBHFT PSXFDBOFOBCMFDPOTPMFGPSBDPOUSPMMFSVTJOH[email protected]DBMMCBDL [email protected]\DPOTPMF^ 8FDBOVTFXFCDPOTPMFWFSZFBTJMZ
  12. "OVTFGVMNFUIPEJOXFCDPOTPMF (&5 8FIBWFTPNFVTFGVMNFUIPEGPSEFCVH 3FUVSOTBOBSSBZPGJOTUBODFWBSJBCMFOBNFT 8FDBODIFDLWBSJBCMFTVTFEJOPVSWJFXT [email protected]

  13. %PO`UVTFXFCDPOTPMFJOQSPEVDUJPO (&5 8FCDPOTPMFNVTUCFVTFEGPSEFWFMPQNFOU *GXFVTFJOQSPEVDUJPO BOZPOFDBOSVOBOZDPEFT *ODBTFZPVBDDJEFOUBMMZJODMVEFXFCDPOTPMFJOQSPEVDUJPO FOWJSPONFOU XFXJMMHFUUIFGPMMPXJOHFSSPS #FDBVTFXFCDPOTPMFHFNJT/05VTFEJOQSPEVDUJPO FOWJSPONFOUTCZEFGBVMU

  14. %FCVHHJOHJO'PSN

  15. CPPLTOFX 'PSNCBTJDT $MJDL l$SFBUF#PPLz #VUUPO CPPLT

  16. B&SSPSPDDVST #BTJDQSPCMFNQBUUFSO C/PFSSPS CVUOPUXPSL

  17. (&5 1045 *GXFHPUFSSPSʜ B&SSPSPDDVST

  18. 8FDBOHFUBMPUPGJOGPNBUJPO (&5 1045 FSSPSOBNF NFTTBHF MJOFOVNCFS SFRVFTU QBSBNFUFST XFCDPOTPMF *OUIJTDBTF

    UIFFSSPSPDDVSSFE CZXSPOHWBSJBCMFOBNF 8FDBOpOEJUGSPNUIFJOGPSNBUJPO
  19. 5IFSFBSFTPNFVTFGVMEFCVHQPJOU ʁ C/PFSSPS CVUOPUXPSL

  20. 8FC4FSWFS #SPXTFS 3FTQPOTF )5.- 3BJMT"QQ 3PVUFT $POUSPMMFS 7JFX 63-IUUQMPDBMIPTUCPPLT )551NFUIPEɿ1045

    1BSBNFUFST 'PSNEBUB ɿ CPPL<UJUMF>๘ຶ޾运૲ CPPL<NFNP>)POFZBOEDMPWFS 3FRVFTU 3FRVFTUJOGP 'PSNCBTJDT
  21. 8FC4FSWFS #SPXTFS 3FTQPOTF )5.- 3BJMT"QQ 3PVUFT $POUSPMMFS 7JFX 63-IUUQMPDBMIPTUCPPLT )551NFUIPEɿ1045

    1BSBNFUFST 'PSNEBUB ɿ CPPL<UJUMF>๘ຶ޾运૲ CPPL<NFNP>)POFZBOEDMPWFS 3FRVFTUJOGP 3FRVFTU ˒DIFDLQPJOU ˒DIFDLQPJOU ˒DIFDLQPJOU 'PSNCBTJDT
  22. 8FC4FSWFS #SPXTFS 3FTQPOTF )5.- 3BJMT"QQ 3PVUFT $POUSPMMFS 7JFX 63-IUUQMPDBMIPTUCPPLT )551NFUIPEɿ1045

    1BSBNFUFST 'PSNEBUB ɿ CPPL<UJUMF>๘ຶ޾运૲ CPPL<NFNP>)POFZBOEDMPWFS 3FRVFTUJOGP 3FRVFTU ˒DIFDLQPJOU ˒DIFDLQPJOU ˒DIFDLQPJOU 'PSNCBTJDT
  23. $ISPNFEFWFMPQFSUPPMDBO EJTQMBZSFRVFTUTGSPNGPSN 'PVOEJO.FOV5PPMT %FWFMPQFS5PPMT"OETFMFDUUIF /FUXPSLUBC *OQVUUJUMFBOENFNPpFMEBOE QVTIl$SFBUF#PPLzCVUUPO ‏JOQVU .FOV 5PPMT

    %FWFMPQFS5PPMT ‏JOQVU DIFDLQPJOU4FOEJOHSFRVFTUT $IPPTFUIF/FUXPSLUBC
  24. lCPPLTz UIFpSTUSFRVFTU JTUIFSFRVFTUXFTFOU $MJDLlCPPLTzMJOFBOETFFEFUBJM

  25. 63- )551NFUIPE ‑TDSPMMEPXO ‏'PSN%BUB ‏CPPL<UJUMF> ‏CPPL<NFNP> 5IFSFRVFTUJODMVEFTJOQVUEBUB 5IFSFJTOPQSPCMFNJOIFSF

  26. 8FC4FSWFS #SPXTFS 3FTQPOTF )5.- 3BJMT"QQ 3PVUFT $POUSPMMFS 7JFX 63-IUUQMPDBMIPTUCPPLT )551NFUIPEɿ1045

    1BSBNFUFST 'PSNEBUB ɿ CPPL<UJUMF>๘ຶ޾运૲ CPPL<NFNP>)POFZBOEDMPWFS 3FRVFTUJOGP 3FRVFTU ˒DIFDLQPJOU0, ˒DIFDLQPJOU ˒DIFDLQPJOU 'PSNCBTJDT
  27. 8FC4FSWFS #SPXTFS 3FTQPOTF )5.- 3BJMT"QQ 3PVUFT $POUSPMMFS 7JFX 'PSNCBTJDT 63-IUUQMPDBMIPTUCPPLT

    )551NFUIPEɿ1045 1BSBNFUFST 'PSNEBUB ɿ CPPL<UJUMF>๘ຶ޾运૲ CPPL<NFNP>)POFZBOEDMPWFS 3FRVFTUJOGP 3FRVFTU ˒DIFDLQPJOU ˒DIFDLQPJOU ˒DIFDLQPJOU0,
  28. 3BJMTMPH -PPLBU3BJMTMPHpMF 3BJMTPVUQVUTQBSBNFUFSTCZEFGBVMU CVUUIBU`TEJGpDVMUUPpOE 8FDBOpOEUIFNNPSFFBTJMZVTJOHMPHHFSNFUIPET $IFDLJOHQBSBNFUFSTJO3BJMTBQQ 4UBSUFE1045CPPLTGPSBU  1SPDFTTJOHCZ#PPLT$POUSPMMFSDSFBUFBT)5.- 1BSBNFUFST\VUG✓

     [email protected]8IH0W,$+%3F6(.)#W+SO3E,R$5I'#9C)M&%-R)2 J:XM9%XG%7Z41;"X:B&CQL*$#,TKH I#)7H CPPL\UJUMF๘ຶ޾运૲  NFNP)POFZBOEDMPWFS^ DPNNJU$SFBUF#PPL^ 6OQFSNJUUFEQBSBNFUFSNFNP  NT CFHJOUSBOTBDUJPO 42- NT */4&35*/50CPPLT UJUMF [email protected] [email protected] 7"-6&4    <<UJUMF ๘ຶ޾运૲> <[email protected] > <[email protected]  >>  NT DPNNJUUSBOTBDUJPO 3FEJSFDUFEUPIUUQMPDBMIPTUCPPLT $PNQMFUFE'PVOEJONT "DUJWF3FDPSENT  MPHTEFWFMPQNFOUMPH
  29. MPHHFS 8FDBOQSJOUTFOUFODFTUPMPHpMFXJUIMPHHFSNFUIPE UJQT 1SJOUNBSLTBSPVOETFOUFODFTUIBUZPVXPVMEMJLFUPMPPL DMBTT#PPLT$POUSPMMFS"QQMJDBUJPO$POUSPMMFS  ʜ EFGDSFBUF MPHHFSEFCVH 

    MPHHFSEFCVHQBSBNT<CPPL> MPHHFSEFCVH  !CPPL#PPLOFX [email protected] MPHTEFWFMPQNFOUMPH
  30. MPHHFS 8FDBOBMTPVTF&NPKJ *GZPVSUFSNJOBMDBOEJTQMBZ65'DIBST MPHHFSEFCVH MPHHFSEFCVHQBSBNT<CPPL> MPHHFSEFCVH

  31. MPHHFSJTVTFGVM CVUJUDBOPOMZTIPXEBUBGSPN UIBUXSJUUFOEFCVHDPEFTCFGPSFSVOOJOH QVUTTUZMFEFCVHHJOH $BOXFHFUNPSFqFYJCMFUPPM 8FIBWFNPSFqFYJCMFUPPMGPSEFCVHHJOH lCZFCVHzJOUSPEVDFTBGVMMGFBUVSFEEFCVHHFS -FU`TDIFDLJUGSPNOFYUQBHF

  32. CZFCVH %FCVHHFSTUPQQSPHSBNBOESVOBOZDPEFT DMBTT#PPLT$POUSPMMFS  "QQMJDBUJPO$POUSPMMFS  ʜ EFGDSFBUF CZFCVH !CPPL#PPLOFX

    [email protected] "EECZFCVHJOZPVSDPEFXIFSFZPVEMJLFUPBEEBCSFBLQPJOU 3VOZPVSQSPHSBN 1SPHSBNXJMMTUPQBOE XFDBOSVODPEFGSPN DPOTPMFBUUIJTQPJOU 4UPQ‎ $POTPMF‎ $IFDLPODPOTPMF CZFCVHJTBHFNXSJUUFOJO(FNpMFCZEFGBVMU HSPVQEFWFMPQNFOU UFTUEP HFNCZFCVH FOE
  33. $IFDLJOHEBUBXJUICZFCVH 4UPQ‎ $IFDL!CPPL OFYU PS ODPNNBOE SVOBDPEF MJOF $IFDL[email protected] O‑

    [email protected]JTXSPOH !CPPL#PPLOFX [email protected] !CPPLJTXSPOH
  34. $IFDLJOHEBUBXJUICZFCVH TUFQPSTDPNNBOESVOBDPEFMJOFBOEEJWFJOUPJOOFSNFUIPE DMBTT#PPLT$POUSPMMFS  "QQMJDBUJPO$POUSPMMFS ʜ EFG[email protected] QBSBNTSFRVJSF CPPL QFSNJU

    UJUMF NFNP  FOE $PSSFDU NFNPJTMBDLJOHJOTUSPOHQBSBNFUFS 'JYUIFDPEF
  35. 8FC4FSWFS #SPXTFS 3FTQPOTF )5.- 3BJMT"QQ 3PVUFT $POUSPMMFS 'PSNCBTJDT 63-IUUQMPDBMIPTUCPPLT )551NFUIPEɿ1045

    1BSBNFUFST 'PSNEBUB ɿ CPPL<UJUMF>๘ຶ޾运૲ CPPL<NFNP>)POFZBOEDMPWFS 3FRVFTUJOGP 3FRVFTU ˒DIFDLQPJOU ˒DIFDLQPJOU ˒DIFDLQPJOU0, 7JFX
  36. EFCVHIFMQFS "OEUIFSFJTBOPUIFSVTFGVMUPPMJOWJFX EFCVHQBSBNT CVJMUJOQSJOUJOHUPPMJOWJFX EFCVH!CPPL BQQWJFXTCPPLTTIPXIUNMFSC

  37. GPPUOPUFT (FNpMF HSPVQEFWFMPQNFOU UFTUEP HFNSBJMTGPPUOPUFT d FOE IUUQTHJUIVCDPNKPTFWBMJNSBJMTGPPUOPUFT SBJMTHFOFSBUF[email protected]JOTUBMM 3VOUIJTDPNNBOE

    %JTQMBZJOHVTFGVMJOGPSNBUJPOJOWJFXT %JTQMBZJOHQBSBNTBOETPNFJOGPSNBUJPOTBUUIFCPUUPN )PXUPVTF
  38. GPPUOPUFT %JTQMBZJOHJOGPSNBUJPO 1BSBNT 4FTTJPO 2VFSJFT 8FDBODIFDLRVFSZTUBUFNFOUTBOETQFFET

  39. GPPUOPUFT $MJDLl$POUSPMMFSzPSl7JFXzMJOL FEJUPSPQFOTPVSDFpMFPGUIJTQBHF :PVDBOTFUFEJUPSTGPS.BD7JNBOE4VCMJNF5FYU $IFDLJUPOUIFHJUIVCQBHF IUUQTHJUIVCDPNKPTFWBMJNSBJMTGPPUOPUFT %FGBVMUFEJUPSJT5FYU.BUF *GZPVVTFPUIFSFEJUPS ZPVDBOTFUZPVSTFUUJOH 5IFTFUUJOHpMFJTDPOpHJOJUJBMJ[FST[email protected]SC

    GQSFpYFNBDTPQFO VSMpMFTMJOFEDPMVNOE ˞8FOFFEFNBDTIBOEMFSIUUQTHJUIVCDPNUZQFTUFSFNBDTIBOEMFS &YBNQMFDBTFGPS&NBDT
  40. 8FC4FSWFS #SPXTFS 3FTQPOTF )5.- 3BJMT"QQ 3PVUFT $POUSPMMFS 7JFX 63-IUUQMPDBMIPTUCPPLT )551NFUIPEɿ1045

    1BSBNFUFST 'PSNEBUB ɿ CPPL<UJUMF>๘ຶ޾运૲ CPPL<NFNP>)POFZBOEDMPWFS 3FRVFTUJOGP 3FRVFTU ˒DIFDLQPJOU ˒DIFDLQPJOU ˒DIFDLQPJOU 'PSNCBTJDT $ISPNFEFWUPPMT MPHHFS CZFCVH GPPUOPUFT
  41. 0UIFSVTFGVMUPPMT

  42. H (FNpMF HSPVQEFWFMPQNFOU UFTUEP HFNH HFNUFSNJOBMOPUJpFS FOE IUUQTHJUIVCDPNKVHZPH .BD UFSNJOBMOPUJpFSHFN

    -JOVYPS8JO [email protected]HFN HIFMMPXPSME HQBSBNT<CPPL> QSJOUUPPMPOOPUJpDBUJPOMJLFlQz
  43. H QSPUJQT [email protected]\H\TFMGDMBTTOBNF^\[email protected]^^ BQQDPOUSPMMFST[email protected]SC %JTQMBZJOHDPOUSPMMFSBOEBDUJPOOBNFBUBDDFTT .BDMPPLJOHIJTUPSJFT JO/PUJpDBUJPO$FOUFS

  44. H%FNP

  45. 3BJMTDPOTPMF

  46. 3BJMTDPOTPMF -FU`TEFDPSBUFJU SVOBOZ3BJMTDPEFTPOUFSNJOBM SBJMTD

  47. 3BJMTDPOTPMFEFDPSBUJPO HSPVQEFWFMPQNFOU UFTUEP HFNQSZSBJMT HFN[email protected] FOE QSZSBJMTIUUQTHJUIVCDPNSXFOHQSZSBJMT [email protected]IUUQTHJUIVCDPNNJDIBFMEW[email protected] (FNpMF dQSZSD

    SFRVJSF[email protected] "XFTPNF1SJOUQSZ QSZSBJMTSFQMBDFJSCUPQSZBTSBJMTDPOTPMFQSZJTCFUUFSJSC .PSFQSFUUZQSJOU QQ QSZJTVTFEJOTUFBEPGJSC
  48. QSZSBJMT BXFTPNFQSJOU

  49. CZFCVHEFDPSBUJPO HSPVQEFWFMPQNFOU UFTUEP HFNCZFCVH HFNQSZCZFCVH HFN[email protected] FOE EFGDSFBUF CJOEJOHQSZ !CPPL#PPLOFX

    [email protected]   FOE %FDPSBUFEFCVHHFSXJUIQSZCZFCVH [email protected]SC (FNpMF 6TJOHCJOEJOHQSZJOTUFBEPGCZFCVH QSZCZFCVHBEET TUFQ OFYU pOJTIBOEDPOUJOVFDPNNBOET BOECSFBLQPJOUTUP1SZVTJOHCZFCVH SBJMTTFSWFSUFSNJOBM
  50. )5514

  51. UPOOFMT 8FDBOUFTUSBJMTBQQCPUIIUUQIUUQTJOMPDBMIPTU 6TFGVMHFNGPSQPSUGPSXBSEJOH HFNJUVOOFMT IUUQTHJUIVCDPNKVHZPUVOOFMT *OTUBMM 3VO TVEPUVOOFMT 3VOSBJMTTFSWFSBTVTVBMPOBOPUIFSUFSNJOBM SBJMTT

    $BOBDDFTTCPUIIUUQTIUUQ IUUQTMPDBMIPTUCPPLT )5514 IUUQMPDBMIPTUCPPLT )551
  52. .BJM

  53. .BJMCBTJDT $BOQSFWJFXFNBJMXJUI3BJMTEFGBVMUUPPMT DMBTT&YBNQMF.BJMFS"QQMJDBUJPO.BJMFS EFGBVMUGSPNGSPN!FYBNQMFDPN EFGIFMMP NBJM UPUP!FYBNQMFDPN TVCKFDU4BNQMF&NBJM  FOE

    FOE $PNNBOEUPHFOFSBUF"DUJPO.BJMFSDIJMEDMBTT SBJMTHNBJMFS[email protected] BQQNBJMFST[email protected]SC BQQWJFXT[email protected]IFMMPIUNMFSC )FMMPXPSME UFTUNBJMFSTQSFWJFXT[email protected]@QSFWJFXSC 1SFWJFXBMMFNBJMTBUIUUQMPDBMIPTUSBJMTNBJMFST [email protected] DMBTT&YBNQMF.BJMFS1SFWJFX"DUJPO.BJMFS1SFWJFX EFG[email protected] &YBNQMF.BJMFSIFMMP FOE FOE IUUQMPDBMIPTUSBJMTNBJMFST [email protected][email protected] $BOQSFWJFXPOCSPXTFS .BJMJOHDPEFTBOEUFYU $PEFTGPS1SFWJFX
  54. .BJMCBTJDT 8FDBODIFDLNBJMTFOEJOHSFTVMUTJOMPHpMF 5IFMPHJTXSJUUFOXIFONBJMJTTFOU MPHEFWFMPQNFOUMPH &YBNQMF.BJMFSIFMMP[email protected] 4FOEBNBJMDPEF $BOCFGPVOEJOMPHpMF

  55. MFUUFSPQFOFS IUUQTHJUIVCDPNSZBOC[email protected] $IFDLJOHNBJMPOCSPXTFS HSPVQEFWFMPQNFOUEP HFN[email protected] FOE 3BJMTBQQMJDBUJPODPOpHVSFEP DPOpH[email protected][email protected]mail protected] FOE DPOpHFOWJSPONFOUTEFWFMPQNFOUSC

    (FNpMF 8IFONBJMIBTTFOU PQFOPUIFSCSPXTFSUBCBOETIPXUIFNBJM $IFDLJOHNBJMPOCSPXTFSXJUIMFUUFSPQFOFSHFN
  56. 4VNNBSZ

  57. *OUSPEVDFE5PPMT w8FCDPOTPMF w$ISPNF%FWFMPQFSUPPMT wCZFCVH wGPPUOPUFT wH wQSZSBJMT wBXFTPNFQSJOU wUPOOFMT wMFUUFSPQFOFS

    IUUQTHJUIVCDPNJHBJHB[email protected]@BQQ 4BNQMFBQQ
  58. BUUPCF/:PGpDFIUUQTXXXqJDLSDPNQIPUPTBTPOBT ༗ݶެ࢘TQJDFMJGF

  59. UNJY 3BJMT

  60. .BLJOH$VTUPNJ[F5TIJSU

  61. 'JOBMMZ

  62. None
  63. ޒेཛྷ๜໌ ,VOJBLJ*("3"4)* TQJDFMJGF *OD$50 HJUIVCJHBJHB UXJUUFSJHBJHB GBDFCPPLLVOJBLJJHBSBTIJ ࣼ≾∄⚉ ۋ⇖նࡅ

  64. None