Heroku for beginners

Heroku for beginners

Heroku Meetup 初心者向けの発表資料です。
https://herokujp.doorkeeper.jp/events/60630

24b6f72ed7e8664f953ec85de4449fb2?s=128

Kiminari Homma

May 31, 2017
Tweet

Transcript

  1. )FSPLVॳ৺ऀ͕ Ұਓલͷ8FCαʔϏεΛ࡞ΕΔΑ͏ʹͳΔ·Ͱ !LJNJIPN Heroku Meetup #16 Herokuॳ৺ऀ޲͚ 2017-05-31@Salesforce Japan

  2. ࣗݾ঺հ ຊؒ ߖ੒ @kimihom CTO at selfree,llc CallConnect (ϒϥ΢βి࿩γεςϜ) Heroku,

    Twilio UG ίΞϝϯόʔ
  3. )FSPLV͸ΠϯϑϥपΓͷ໘౗Λ ղܾͯ͘͠Ε·͢ɻ ͔͠͠ɺΠϯϑϥzҎ֎zΛϚελʔ͠ͳ͍ͱ )FSPLVΛ࢖ͬͯ΋Կ΋࡞Ε·ͤΜɻ

  4. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  5. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  6. wαʔόʔͷ΄ͱΜͲ͸-JOVYͰಈ ͍͍ͯΔ wࠇ͍ը໘ λʔϛφϧ ʹ׳ΕΔ wCBTI [TI w8JOEPXTͷ৔߹͸Ծ૝؀ڥ 7JSUVBM#PY7.XBSFQMBZFS جૅͳͷͰਏ͍෦෼Ͱ͸͋Γ·͕͢ɺ

    ஌͓ͬͯ͘ͱࠓޙͷֶश͕εϜʔζʹਐΈ·͢ɻ
  7. νΣοΫϦετ w-JOVYͷجૅతͳ಺༰ͷຊΛ࡭ߪೖͯ͠Ұ௨Γཧղ͠·͢ wϑΝΠϧͷ࡞੒໊ͷมߋ࡟আ͕Ͱ͖·͔͢ wϑΝΠϧͷ಺༰Λ7JN΍"UPN 74$PEFͳͲͰमਖ਼Ͱ͖·͔͢ wϑΝΠϧΛݕࡧͰ͖·͔͢ pOE HSFQ  wZVN΍IPNFCSFXΛ࢖ͬͯϓϩάϥϜΛΠϯετʔϧͰ͖·͔͢

    w1"5)ͷ֓೦Λཧղ͍ͯ͠·͔͢
  8. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  9. )5.- จॻΛදݱ͢ΔͨΊͷݴޠ ߏ଄ͱλάͷछྨΛཧղ͠Α͏ $44 จॻΛ੔ܗ͢ΔͨΊͷݴޠ େ͖͞ɺ৭ɺ༨നɺ഑ஔΛཧղ͠Α͏ +BWB4DSJQU จॻʹಈ࡞Λ͚ͭΔͨΊͷݴޠ ࠷ॳ͸ֶश͢Δඞཁͳ͠ ϒϥ΢βͰදࣔͰ͖Δzϖʔδz

    Λ࡞Δ͜ͱ͕Ͱ͖·͢ɻ දࣔ͢Δ)5.-͸ݻఆͷͨΊ શͯͷϢʔβʔ͕ಉ͡ը໘ 6*  ΛݟΔ͜ͱʹͳΓ·͢ɻ
  10. νΣοΫϦετ w)5.-$44ʹؔ͢ΔຊΛ࡭ߪೖͯ͠Ұ௨Γཧղ͠·͢ wΤσΟλͰJOEFYIUNM TUZMFDTTΛ࡞੒͠ɺ)5.-ͱ$44Λॻ ͍ͯΈ·͠ΐ͏ w͓޷ΈͷαΠτΛ)5.-ͱ$44Ͱ࣮૷ ίϐʔ ͯ͠Έ·͠ΐ͏ w$ISPNFσϕϩούʔπʔϧͷ&MFNFOUTΛϚελʔ͠·͠ΐ͏

  11. %&.0 )5.-$44։ൃ

  12. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  13. IUUQͱIUUQT w8FC઀ଓʹ͓͍ͯڞ௨ఆٛ͞Εͨ௨৴ن֨ w63-ͷઌ಄ʹ͍ͭͯΔΞϨ 8FC αʔόʔ $ISPNF ϦΫΤετ Ϩεϙϯε )5.- $44

    +BWB4DSJQU ը૾ )551Ͱ௨৴
  14. νΣοΫϦετ w)551ʹؔ͢Δബ͍ຊΛ࡭ߪೖͯ͠ཧղ͠·͢ w)551ͷ(&5 1045ϦΫΤετΛཧղ͍ͯ͠·͔͢ w)551Ϩεϙϯεͷछྨ  ͳͲ ͷҧ͍͕Θ͔Γ·͔͢ w$PPLJFͱ͸Կ͔આ໌Ͱ͖·͔͢ w)5514ʹ͢ΔͱͲͷΑ͏ͳϝϦοτ͕͋Δ͔આ໌Ͱ͖·͔͢

  15. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  16. όʔδϣϯ؅ཧͷඞཁੑ w@EPDVNFOUUYUͷΑ͏ͳϑΝΠϧΛ࡞ͬͨ͜ͱ͕͋ Γ·ͤΜ͔ʁ w୭͕͍ͭͲͷϑΝΠϧΛमਖ਼ͨ͠ͷ͔Λ؅ཧ͠·͢ wԿ͔ؒҧ͑ͨ࣌͸͍ͭͰ΋લͷόʔδϣϯʹ໭Δ͜ͱ͕Ͱ͖·͢ wෳ਺ਓͰڠௐ͠ͳ͕ΒϑΝΠϧΛߋ৽͍ͯ͘͜͠ͱ͕Ͱ͖·͢ wίʔυΛαʔόʔʹ҆શʹอଘ͢Δ͜ͱ͕Ͱ͖·͢

  17. 㱠 (JUϦϙδτϦΛ؅ཧ͢Δ 8FCαʔϏεͷͭ όʔδϣϯ؅ཧ ιϑτ΢ΣΞ

  18. νΣοΫϦετ w(JUʹؔ͢Δബ͍ຊΛ࡭ߪೖͯ͠ཧղ͠·͢ w(JUίϚϯυΛλʔϛφϧ্Ͱ࢖͑·͔͢ʁ w࡞੒ͨ͠)5.-ϑΝΠϧΛJOJUͯ͠DPNNJU͠·͠ΐ͏ w(JUIVCΞΧ΢ϯτΛ࡞੒͠ɺϓϩδΣΫτΛQVTI͠·͠ΐ͏ wϑΝΠϧͷมߋཤྺΛ֬ೝͰ͖·͔͢ʁ wҎલͷόʔδϣϯʹ໭͢͜ͱ͕Ͱ͖·͔͢ʁ

  19. %&.0 ઌ΄Ͳͷ)5.-मਖ਼Λ(JUIVC΁ίϛοτϓογϡ

  20. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  21. ͳͥ8FCΞϓϦʹϓϩάϥϜ͕ඞཁ͔ ϢʔβʔͷΫϦοΫ౳ʹԠͯ͡ಈతʹಈ͘ΞϓϦΛ࡞੒͍ͨ͠ Ϣʔβʔͷঢ়گʹԠͯ͡ग़ྗ͢Δ)5.-Λಈతʹม͍͑ͨ ϢʔβʔͷߦಈʹԠͯ͡σʔλอଘ΍ϝʔϧૹ৴Λ͍ͨ͠ ࠷ۙྲྀߦΓͷ8FCαΠτͷҎ্͸ 8FCΞϓϦέʔγϣϯͰ͢ɻ

  22. ͔͜͜Βਐ࿏͕෼͔Ε·͢ʂ ࡞Γ͍ͨ΋ͷʹ߹Θͤͯબ୒͠·͠ΐ͏

  23. 8FCڞ௨ 8FCΞϓϦέʔγϣϯ γϯϓϧɺ೔ຊޠαϙʔτଟ ౷ܭɺਓ޻஌ೳɺ(PPHMF޷͖ ֶͿݴޠΛݶఆ͍ͨ͠ γϯϓϧͳ8FCΞϓϦ ҙݟ͕෼͔ΕΔॴͰ͕͢େࡶ೺ʹ෼ྨ

  24. νΣοΫϦετ w֤ϓϩάϥϛϯάݴޠʹؔ͢ΔຊΛ࠷௿࡭ߪೖͯ͠ཧղ͠·͢ w+BWB4DSJQUʹؔ͢ΔຊΛ࡭ߪೖͯ͠ཧղ͠·͢ wJG XIJMF GPSͱ͍ͬͨجຊ੍ޚΛཧղͯ͠࡞੒Ͱ͖·͔͢ wΫϥε΍ΦϒδΣΫτࢦ޲Λཧղ͠·͔ͨ͠ wHFN΍QJQ ZBSOͰ֎෦ϥΠϒϥϦΛΠϯετʔϧͰ͖·͔͢ wҎલ࡞੒ͨ͠)5.-Ͱ%0.ૢ࡞͕Ͱ͖·͔͢ʁ

  25. %&.0 ઌ΄Ͳͷ)5.-ʹಈ͖Λ͚ͭΔ

  26. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  27. σʔλΛอଘ͠·͠ΐ͏ ϢʔβʔϓϩϑΟʔϧɺ౤ߘ಺༰΍೔࣌ɺ༑ୡؔ܎ͳͲ શͯσʔλΛอଘɺऔಘ͢Δσʔλϕʔεʹอଘ͞Ε·͢ɻ σʔλϕʔεʹ͸৭ʑछྨ͕͋Γ·͕͢ɺ࠷ॳ͸ϦϨʔγϣφϧ σʔλϕʔεΛֶश͢Δ͜ͱ͕جૅͰ͢ɻ σʔλϕʔεͱର࿩͢ΔͨΊͷݴޠ42-

  28. σʔλϕʔεΛઃܭ͠Α͏ʂ 6TFST 3FMBUJPOTIJQT 1PTUT $PNNFOUTͳͲ͋ΒΏΔ৘ใΛ อଘ͢ΔͨΊʹ͸ઃܭ͕ඞཁෆՄܽ ରଟɺଟରଟͷzؔ࿈zͷఆ͕ٛͰ͖Ε͹0, 6TFST JE OBNF

    FNBJM FODSZQUFE@QBTT 1PTUT JE VTFS@JE UJUMF DPOUFOUT DSFBUFE@BU  
  29. νΣοΫϦετ w42-ͱσʔλϕʔεઃܭʹؔ͢ΔຊΛͦΕͧΕ࡭ߪೖͯ͠ཧղ͠·͢ w42-ͰςʔϒϧΛ࡞੒͠ɺσʔλΛอଘ͢Δ͜ͱ͕Ͱ͖·͔͢ w42-Ͱอଘͨ͠σʔλΛऔಘɺ࡟আɺߋ৽͢Δ͜ͱ͕Ͱ͖·͔͢ wҰൠతͳϒϩάγεςϜͷςʔϒϧઃܭ͕Ͱ͖·͔͢ w݁߹ʹֶ͍ͭͯΜͰΈ·͠ΐ͏ தڃ

  30. ಺༰ wશͯͷجૅʂ04 -JOVY  w8FCͷ̏େཁૉ)5.-$44+BWB4DSJQU w௨৴ϓϩτίϧ)551ͱ)5514 wόʔδϣϯ؅ཧγεςϜ(JU wϓϩάϥϛϯάΛ࢝ΊΑ͏ wσʔλΛอଘ͢Δσʔλϕʔε w8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ

  31. ͳͥ8FCΞϓϦʹϑϨʔϜϫʔΫ͕ඞཁ͔ lϢʔβʔ͔Βͷ)551ϦΫΤετΛड͚औͬͯɺϨεϙϯεΛฦ͢z ͜ͷಈ࡞͸શͯͷ8FCΞϓϦͰڞ௨ɻθϩ͔Β࡞ΔແବΛ࡟ݮ ༧Ί؆୯ʹ8FCΞϓϦΛ࡞ΕΔΑ͏ʹͨ͠8FCϑϨʔϜϫʔΫΛ ࢖͏͜ͱͰߴ଎ʹߴػೳͳαʔϏεΛ࡞Δ͜ͱ͕Ͱ͖Δ ୲౰ऀ͕มΘͬͯ΋ɺϑϨʔϜϫʔΫΛ஌͍ͬͯΕ͹Ҿ͖ܧ͕͗༰қ

  32. બ୒ͨ͠ϓϩάϥϛϯάݴޠʹԠͯ͡ ར༻͢Δ8FCϑϨʔϜϫʔΫ͸มΘΓ·͢

  33. +BWB4DSJQU 3VCZ 1ZUIPO /PEFKT K2VFSZ 7VFKT 3VCZPO3BJMT %KBOHP &YQSFTT ଞʹ΋ଟ͋͘ΔͷͰ

    ࡞Γ͍ͨαʔϏεʹ߹Θͤͯ࢖͍෼͚Λ
  34. νΣοΫϦετ wK2VFSZʹؔ͢ΔຊΛ࡭ߪೖͯ͠ཧղ͠·͢ w8FCϑϨʔϜϫʔΫʹؔ͢ΔຊΛ࠷௿࡭ߪೖͯ͠ཧղ͠·͢ w)FSPLV1PTUHSFTΛ࢖ͬͯɺσʔλϕʔεͱ࿈ಈ͢Δ8FCΞϓϦ Λެ։͠Α͏ wԿճ΋ΞϓϦΛ࡞ͬͯܦݧΛੵΜͰ͍͖·͠ΐ͏ʂ

  35. ܭ࡭ͷຊΛߪೖ͠·͠ΐ͏ʂ ҰਓͰମܥతʹֶΜͰ͍͘ͷ͕࠷΋ޮՌతɻ ۭ͖࣌ؒͰίπίπͱษڧ͍ͯ͘͜͠ͱ͕ඞཁͰ͢ɻ Ϟνϕʔγϣϯܧଓͱཧղͷ֬ೝͷͨΊʹ΋ɺ ϒϩάΛॻ͘͜ͱΛ͓קΊ͠·͢ɻ

  36. ͓·͚

  37. ͨͩ࡞ΕΔ͚ͩͰ͸ΞϓϦ͸੒ޭ͠·ͤΜʂ wͦ΋ͦ΋Ϣʔβʔ͕ඞཁͱ͢ΔΞϓϦͰ͔͢ʁ wσβΠϯ΍ػೳ͸Ϣʔβʔʹͱͬͯ࢖͍΍͍͢΋ͷͰ͔͢ʁ wϢʔβʔ͕Ͳ͏΍ͬͯͦͷΞϓϦͷଘࡏΛ஌ΔػձΛಘ·͔͢ʁ wܧଓͰ͖Δ΄ͲͷϚωλΠζΛߟ͍͑ͯ·͔͢ʁ wϢʔβʔ͕ࠔͬͨΒద੾ʹαϙʔτͰ͖·͔͢ʁ

  38. 5IBOLT