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

新規システムのためのLaravel導入とユースケース駆動開発の話

 新規システムのためのLaravel導入とユースケース駆動開発の話

以下で登壇した際のスライドです。
https://supporterz-seminar.connpass.com/event/67955/

6721e347327b1423494b86b75b259625?s=128

Taketo Nakasuji

October 11, 2017
Tweet

Transcript

  1. ৽نγεςϜͷͨΊͷ Laravelಋೖͱ Ϣʔεέʔεۦಈ։ൃͷ࿩ αϙʔλʔζCoLabษڧձ גࣜձࣾϥΠϑελΠϧσβΠϯ (LaFabricӡӦձࣾ) CTO தےৎਓ

  2. தے ৎਓ גࣜձࣾϥΠϑελΠϧσβΠϯ CTO ུྺ - ཮্ࣗӴୂ ॏഭܸ๒෭๒ख - SIer

    Πϯϑϥߏங/ۀ຿γεςϜ։ൃͳͲ - MSP αʔϏεاը/ΠϯϑϥΤϯδχΞ - Amazon Distribution Center ΤϯδχΞ - ݱ৬ ࣗݾ঺հ !UBLFOBLBTVKJ
  3. LaFabricͱ͸ʁ εʔπɾγϟπΛओ࣠ͱͨ͠ΧελϜΦʔμʔͷϝϯζΞύϨϧECαʔϏεɻ
 ମͷαΠζΛొ࿥͢Δ͜ͱͰɺ͋ͳ͚ͨͩͷ̍ணΛΦϯϥΠϯͰߪೖ͢Δ͜ͱ͕Ͱ͖·͢ɻ ޻৔΍ϝʔΧʔͱ͓٬͞·ΛμΠϨΫτʹͭͳ͙͜ͱͰɺதؒྲྀ௨Λഉআͨ͠దਖ਼Ձ֨Ͱ͝ఏڙ͍ͯ͠·͢ɻ

  4. Technology Stack • PHP 5.6ܥ and 7.1ܥ • CakePHP 2.xܥ

    • Laravel 5.4ܥ ServerSide FrontEnd • Vue.js 2.xܥ • React 15.xܥ • jQuery etc • AWS • Github • CD Tools • Slack • Backlog • etc
  5. ຊ೔ͷ಺༰ • ࿩͢͜ͱ • ৽نγεςϜʹ͓͚ΔϑϨʔϜϫʔΫͷબఆ • ཁ݅ΛͲͷΑ͏ʹ·ͱΊͯͲ͏࡞Δ͔
 • ࿩͞ͳ͍͜ͱ •

    DDDͷ࿩ • Ϣʔεέʔεਤͷ࡞Γํ΍ϩόωετ෼ੳͷख๏
  6. ࠓճ࡞ͬͨγεςϜ ๓੡ ޻৔ ৫Γ ϝʔΧʔ ෺ྲྀ ड஫ ੍࡞ ൃ஫ ݕ඼ɾग़ՙ

    ൃૹ -B'BCSJDͱ޻৔ɺϝʔΧʔɺϩδεςΟΫεΛ࿈ܞ͢Δੜ࢈؅ཧγεςϜ ϨΨγʔͳۀք׳श͔Βͷ୤٫Λ໨తʹ։ൃ ੜ࢈؅ཧ γεςϜ
  7. Laravelબఆͷഎܠͱͦͷཧ༝

  8. എܠ • ਓһతଆ໘ • ͜Ε·Ͱ͸CakePHP2.xܥ͕ϝΠϯ • ౰વPHPerͳϝϯόʔߏ੒ • ٕज़తଆ໘ •

    CakePHP2.xܥ͸ऴᖼ(LTS͕ग़Δͱ͍͏࿩΋…) • ϑΝοτίϯτϩʔϥɺϑΝοτϞσϧΛഉআ͍ͨ͠ • ࣄۀతଆ໘ • ௕ظతʹར༻͍ͨ͠ • ࣄۀϑΣʔζʹݟ߹ͬͨ౤ࢿͳͷ͔ • όʔϯϨʔτɾϥϯ΢ΣΠͱͷݟ߹͍
  9. νΣοΫͨ͠఺ • Github ελʔ਺ • Google Trends • Model Directory͕ͳ͍

    • Model΍ϏδωεϩδοΫͱ޲͖߹͏ • ։ൃεϐʔυ • SQLΛ࿈૝͠΍͍͢ORM • पғʹLaravelΛར༻͍ͯ͠Δاۀ͕ଟ͔ͬͨ • ࣄྫ΍ϋϚΓͲ͜ΖͳͲฉ͚Δ
  10. ಋೖલͷݒ೦ͱରࡦ • ݸਓར༻͸Ҏલ͔Β͍͕ͯͨ͠ɺଞͷϝϯόʔ͸Ͳ͏͔
 ὎αϯϓϧΞϓϦΛ࡞Γॻ͖ຯΛνΣοΫ • ࣗ༝౓ͱن໿ͷόϥϯε
 ὎GithubͰ͓खຊʹͳΔLaravelΞϓϦΛख़ಡ͠ϝϯόʔؒͰධ࿦
 ὎l5-repositoryͷಋೖ(ϦϙδτϦύλʔϯͷಋೖ)

  11. ΞʔΩςΫνϟ 6TFDBTFT #VTJOFTT-PHJD 3FQPTJUPSZ %BUB4PVSDF %# $POUSPMMFS 7JFX "1* 3FRVFTU

    3FTQPOTF ֤ϨΠϠʔͷ੹຿ͷ໌֬ԽɺҰํ޲ͳॲཧϑϩʔɺϨΠϠʔލ͗ͷېࢭ
  12. Ϣʔεέʔεۦಈ։ൃ ͳͥϑϨʔϜϫʔΫͷ࿩ͷ͋ͱʹϢʔεέʔεͳͷ͔ʁ

  13. Ϣʔεέʔεۦಈ։ൃͱ͸ ϢʔεέʔεΛى఺ͱͯ͠γεςϜͷཱͪৼΔ෣͍΍ཁ݅Λఆٛͯ͠ ։ൃΛਐΊΔख๏ɻ Ϣʔεέʔε͸ɺΞΫλʔ(Ϣʔβʔ΍֎෦γεςϜ)Λ໌֬ʹ͠ɺΞ Ϋλʔͷৼ෣(ૢ࡞)Λఆٛ͢ΔɻʮͩΕ͕ʯʮͳʹΛ͢Δʯͱ͍͏γ ϯϓϧͳॻ͖ํͰʮΞΫλʔࢹ఺ͰγεςϜͷৼ෣Λදݱ͢Δʯ͜ ͱɻڞ௨Խ͞Εͨίϛϡχέʔγϣϯखஈͱଊ͑Δ͜ͱ΋Ͱ͖Δɻ

  14. ΞʔΩςΫνϟ͓͞Β͍ 6TFDBTFT #VTJOFTT-PHJD 3FQPTJUPSZ %BUB4PVSDF %# $POUSPMMFS 7JFX "1* 3FRVFTU

    3FTQPOTF Ӭଓతʹݟ௨͕͠ྑ͍ίʔυΛҡ࣋͠ɺϝϯςφϒϧͳγεςϜͰ͋Γଓ͚ Δʹ͸Ϣʔεέʔε͕؊৺
  15. ϒϥϯίͷ࿩Λ͠Α͏

  16. None
  17. ͳͥ͜͏ͳΔͷ͔ʁ

  18. ͋Γ͕ͪͳ͜ͱ • ͍ͭͷؒʹ͔ग़དྷ্͕ͬͨಠࣗ༻ޠ • ಠࣗ༻ޠࣗମ͸ѱͰ͸ͳ͍ • ίϯςΫετͷڞ༗ͷ೉͠͞ • ංେԽ͢Δཁٻ •

    ΤϯδχΞͷཁ݅ఆٛ͸ઐ໳తͰΘ͔ΓͮΒ͍ • ఻͍͑ͨ͜ͱ͕ݴޠԽͰ͖͍ͯͳ͍ • ΤϯδχΞʹͲ͏఻͑ͨΒ͍͍͔Θ͔Βͳ͍ ͦͷଟ͘͸ϢʔεέʔεͷఆٛͰղܾͰ͖Δ
  19. ྫɿࣗಈൢചػͷ։ൃ • ͓ۚΛೖΕͨΒߪೖͰ͖ΔΑ͏ʹ͍ͨ͠ • ྫྷ͍ͨҿΈ෺ͱԹ͔͍ҿΈ෺Λൢച͍ͨ͠ • ͓ۚ͸1ԁۄͱ5ԁۄҎ֎શͯΛѻ͍͍ͨ • ߗ՟͕౤ೖ͞ΕΔͱfunction x͕ݺͼग़͞Εɺͦͷߗ՟ͷछྨΛ൑

    ผͨ͠ޙʹfunction yΛ(ry
  20. मਖ਼ɿࣗಈൢചػͷ։ൃ • ސ٬͸͓ۚΛ౤ೖ͢Δ • ސ٬͸ߪೖ͢Δ঎඼ͷϘλϯΛԡ͢ • ࣗಈൢചػ͸ސ٬͕બ୒ͨ͠঎඼Λഉग़͢Δ ˞ͩΕ͕ΛᐆດʹͤͣΞΫλʔΛ༻͍ͯදݱ͢Δ ˞ϢʔβʔͳͲᐆດͳΞΫλʔ໊Λ࢖༻͠ͳ͍ ิॆһ΋ϢʔβͩͬͨΓ

     ˞ΞΫλʔࢹ఺Ͱͷৼ෣Ͱهड़͢Δ ʮ͓ۚΛೖΕͨΒߪೖͰ͖ΔΑ͏ʹ͍ͨ͠ʯ ᐆດͳදݱ΍είʔϓΛϢʔεέʔεΛ༻͍ͯ෼ղ͢Δ
  21. Ϣʔεέʔε͕ᐆດͳϓϩάϥϜ function dischargeDrink() { // do something } υϦϯΫΛഉग़͢ΔػೳΛ૝ఆ ഉग़ʁʁ

    ސ٬͕ߪೖͨ͠ΒυϦϯΫ͸ഉग़͞ΕΔ͕ɺ঎඼ೖΕସ͑࣌ʹิॆһ͕ഉग़ ͢Δ͜ͱ΋͋ΔͷͰ͸ ࣮ࡍ͸ػցతͳૢ࡞͔΋  ͍ͣΕʹͤΑɺ͜ͷػೳ͕ͩΕʹͳʹΛఏڙ͍ͯ͠Δͷ͔Θ͔Βͳ͍ɻ
  22. ΞʔΩςΫνϟ࠶ܝ 6TFDBTFT #VTJOFTT-PHJD 3FQPTJUPSZ %BUB4PVSDF %# $POUSPMMFS 7JFX "1* 3FRVFTU

    3FTQPOTF ఆٛͨ͠ϢʔεέʔεΛγεςϜ্ͷϢʔεέʔεʹམͱ͠ࠐΉɻ ϢʔεέʔεγφϦΦϓϩάϥϜ্ͷϢʔεέʔε ˞γεςϜن໛ʹԠͯ͡Ϣʔεέʔεਤ΍ϩόωετ෼ੳ΋༻͍Δ
  23. ·ͱΊ • ٕज़ͦͷ΋ͷͷධՁ΋େࣄ͕ͩͦΕΛѻ͏ΤϯδχΞʹ΋ண໨͢ Δ • ڞ௨Խ͞ΕͨίϛϡχέʔγϣϯͰ൵͠Έͷͳ͍։ൃΛ • ϒϥϯίͷ࿩Λࢥ͍ग़ͨ͠ΒԿ͔͕ͣΕ͍ͯΔ࣌ɻҰ౓ཱͪฦΔ ͱྑ͍͔΋

  24. ࣭ٙԠ౴

  25. ৄ͘͠͸ͪ͜Β http://lifestyledesign.co.jp/jobs/ We’re Hiring • αʔόʔαΠυΤϯδχΞ • ϑϩϯτΤϯυΤϯδχΞ • σβΠφʔ

    ٕज़Λۦ࢖ͯ͠ΞύϨϧۀքʹֵ໋Λى͍ͨ͜͠ํɺઈࢍืूதʂ