Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新規システムのためのLaravel導入とユースケース駆動開発の話
Search
Taketo Nakasuji
October 11, 2017
Technology
1
460
新規システムのためのLaravel導入とユースケース駆動開発の話
以下で登壇した際のスライドです。
https://supporterz-seminar.connpass.com/event/67955/
Taketo Nakasuji
October 11, 2017
Tweet
Share
More Decks by Taketo Nakasuji
See All by Taketo Nakasuji
デザイナーが D2Cビジネスに身をおいてわかったこと
takenakasuji
2
8.2k
Elementのすすめ
takenakasuji
0
3.7k
Vue.jsを使ったら幸せになった話
takenakasuji
1
3.7k
IoTで実現するリアルストア戦略
takenakasuji
0
1.8k
Other Decks in Technology
See All in Technology
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
Databricks における 『MLOps』
databricksjapan
2
170
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
240
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
530
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
140
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
390
Cracking the KubeCon CfP
inductor
2
250
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
530
Building Dashboards as a Hobby
egmc
0
230
データベース02: データベースの概念
trycycle
0
160
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
What's in a price? How to price your products and services
michaelherold
237
11k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Debugging Ruby Performance
tmm1
70
11k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Become a Pro
speakerdeck
PRO
11
4.5k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
GitHub's CSS Performance
jonrohan
1025
450k
Code Review Best Practice
trishagee
55
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Transcript
৽نγεςϜͷͨΊͷ Laravelಋೖͱ Ϣʔεέʔεۦಈ։ൃͷ αϙʔλʔζCoLabษڧձ גࣜձࣾϥΠϑελΠϧσβΠϯ (LaFabricӡӦձࣾ) CTO தےৎਓ
தے ৎਓ גࣜձࣾϥΠϑελΠϧσβΠϯ CTO ུྺ - ্ࣗӴୂ ॏഭܸ๒෭๒ख - SIer
Πϯϑϥߏங/ۀγεςϜ։ൃͳͲ - MSP αʔϏεاը/ΠϯϑϥΤϯδχΞ - Amazon Distribution Center ΤϯδχΞ - ݱ৬ ࣗݾհ !UBLFOBLBTVKJ
LaFabricͱʁ εʔπɾγϟπΛओ࣠ͱͨ͠ΧελϜΦʔμʔͷϝϯζΞύϨϧECαʔϏεɻ ମͷαΠζΛొ͢Δ͜ͱͰɺ͋ͳ͚ͨͩͷ̍ணΛΦϯϥΠϯͰߪೖ͢Δ͜ͱ͕Ͱ͖·͢ɻ ϝʔΧʔͱ͓٬͞·ΛμΠϨΫτʹͭͳ͙͜ͱͰɺதؒྲྀ௨Λഉআͨ͠దਖ਼Ձ֨Ͱ͝ఏڙ͍ͯ͠·͢ɻ
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
ຊͷ༰ • ͢͜ͱ • ৽نγεςϜʹ͓͚ΔϑϨʔϜϫʔΫͷબఆ • ཁ݅ΛͲͷΑ͏ʹ·ͱΊͯͲ͏࡞Δ͔ • ͞ͳ͍͜ͱ •
DDDͷ • Ϣʔεέʔεਤͷ࡞Γํϩόωετੳͷख๏
ࠓճ࡞ͬͨγεςϜ ๓ ৫Γ ϝʔΧʔ ྲྀ ड ੍࡞ ൃ ݕɾग़ՙ
ൃૹ -B'BCSJDͱɺϝʔΧʔɺϩδεςΟΫεΛ࿈ܞ͢Δੜ࢈ཧγεςϜ ϨΨγʔͳۀք׳श͔Βͷ٫Λతʹ։ൃ ੜ࢈ཧ γεςϜ
Laravelબఆͷഎܠͱͦͷཧ༝
എܠ • ਓһతଆ໘ • ͜Ε·ͰCakePHP2.xܥ͕ϝΠϯ • વPHPerͳϝϯόʔߏ • ٕज़తଆ໘ •
CakePHP2.xܥऴᖼ(LTS͕ग़Δͱ͍͏…) • ϑΝοτίϯτϩʔϥɺϑΝοτϞσϧΛഉআ͍ͨ͠ • ࣄۀతଆ໘ • ظతʹར༻͍ͨ͠ • ࣄۀϑΣʔζʹݟ߹ͬͨࢿͳͷ͔ • όʔϯϨʔτɾϥϯΣΠͱͷݟ߹͍
νΣοΫͨ͠ • Github ελʔ • Google Trends • Model Directory͕ͳ͍
• ModelϏδωεϩδοΫͱ͖߹͏ • ։ൃεϐʔυ • SQLΛ࿈͍͢͠ORM • पғʹLaravelΛར༻͍ͯ͠Δاۀ͕ଟ͔ͬͨ • ࣄྫϋϚΓͲ͜ΖͳͲฉ͚Δ
ಋೖલͷݒ೦ͱରࡦ • ݸਓར༻Ҏલ͔Β͍͕ͯͨ͠ɺଞͷϝϯόʔͲ͏͔ αϯϓϧΞϓϦΛ࡞Γॻ͖ຯΛνΣοΫ • ࣗ༝ͱنͷόϥϯε GithubͰ͓खຊʹͳΔLaravelΞϓϦΛख़ಡ͠ϝϯόʔؒͰධ l5-repositoryͷಋೖ(ϦϙδτϦύλʔϯͷಋೖ)
ΞʔΩςΫνϟ 6TFDBTFT #VTJOFTT-PHJD 3FQPTJUPSZ %BUB4PVSDF %# $POUSPMMFS 7JFX "1* 3FRVFTU
3FTQPOTF ֤ϨΠϠʔͷͷ໌֬ԽɺҰํͳॲཧϑϩʔɺϨΠϠʔލ͗ͷېࢭ
Ϣʔεέʔεۦಈ։ൃ ͳͥϑϨʔϜϫʔΫͷͷ͋ͱʹϢʔεέʔεͳͷ͔ʁ
Ϣʔεέʔεۦಈ։ൃͱ ϢʔεέʔεΛىͱͯ͠γεςϜͷཱͪৼΔ͍ཁ݅Λఆٛͯ͠ ։ൃΛਐΊΔख๏ɻ ϢʔεέʔεɺΞΫλʔ(Ϣʔβʔ֎෦γεςϜ)Λ໌֬ʹ͠ɺΞ Ϋλʔͷৼ(ૢ࡞)Λఆٛ͢ΔɻʮͩΕ͕ʯʮͳʹΛ͢Δʯͱ͍͏γ ϯϓϧͳॻ͖ํͰʮΞΫλʔࢹͰγεςϜͷৼΛදݱ͢Δʯ͜ ͱɻڞ௨Խ͞Εͨίϛϡχέʔγϣϯखஈͱଊ͑Δ͜ͱͰ͖Δɻ
ΞʔΩςΫνϟ͓͞Β͍ 6TFDBTFT #VTJOFTT-PHJD 3FQPTJUPSZ %BUB4PVSDF %# $POUSPMMFS 7JFX "1* 3FRVFTU
3FTQPOTF Ӭଓతʹݟ௨͕͠ྑ͍ίʔυΛҡ࣋͠ɺϝϯςφϒϧͳγεςϜͰ͋Γଓ͚ ΔʹϢʔεέʔε͕؊৺
ϒϥϯίͷΛ͠Α͏
None
ͳͥ͜͏ͳΔͷ͔ʁ
͋Γ͕ͪͳ͜ͱ • ͍ͭͷؒʹ͔ग़དྷ্͕ͬͨಠࣗ༻ޠ • ಠࣗ༻ޠࣗମѱͰͳ͍ • ίϯςΫετͷڞ༗ͷ͠͞ • ංେԽ͢Δཁٻ •
ΤϯδχΞͷཁ݅ఆٛઐతͰΘ͔ΓͮΒ͍ • ͍͑ͨ͜ͱ͕ݴޠԽͰ͖͍ͯͳ͍ • ΤϯδχΞʹͲ͏͑ͨΒ͍͍͔Θ͔Βͳ͍ ͦͷଟ͘ϢʔεέʔεͷఆٛͰղܾͰ͖Δ
ྫɿࣗಈൢചػͷ։ൃ • ͓ۚΛೖΕͨΒߪೖͰ͖ΔΑ͏ʹ͍ͨ͠ • ྫྷ͍ͨҿΈͱԹ͔͍ҿΈΛൢച͍ͨ͠ • ͓ۚ1ԁۄͱ5ԁۄҎ֎શͯΛѻ͍͍ͨ • ߗ՟͕ೖ͞ΕΔͱfunction x͕ݺͼग़͞Εɺͦͷߗ՟ͷछྨΛ
ผͨ͠ޙʹfunction yΛ(ry
मਖ਼ɿࣗಈൢചػͷ։ൃ • ސ٬͓ۚΛೖ͢Δ • ސ٬ߪೖ͢ΔͷϘλϯΛԡ͢ • ࣗಈൢചػސ٬͕બͨ͠Λഉग़͢Δ ˞ͩΕ͕ΛᐆດʹͤͣΞΫλʔΛ༻͍ͯදݱ͢Δ ˞ϢʔβʔͳͲᐆດͳΞΫλʔ໊Λ༻͠ͳ͍ ิॆһϢʔβͩͬͨΓ
˞ΞΫλʔࢹͰͷৼͰهड़͢Δ ʮ͓ۚΛೖΕͨΒߪೖͰ͖ΔΑ͏ʹ͍ͨ͠ʯ ᐆດͳදݱείʔϓΛϢʔεέʔεΛ༻͍ͯղ͢Δ
Ϣʔεέʔε͕ᐆດͳϓϩάϥϜ function dischargeDrink() { // do something } υϦϯΫΛഉग़͢ΔػೳΛఆ ഉग़ʁʁ
ސ٬͕ߪೖͨ͠ΒυϦϯΫഉग़͞ΕΔ͕ɺೖΕସ͑࣌ʹิॆһ͕ഉग़ ͢Δ͜ͱ͋ΔͷͰ ࣮ࡍػցతͳૢ࡞͔ ͍ͣΕʹͤΑɺ͜ͷػೳ͕ͩΕʹͳʹΛఏڙ͍ͯ͠Δͷ͔Θ͔Βͳ͍ɻ
ΞʔΩςΫνϟ࠶ܝ 6TFDBTFT #VTJOFTT-PHJD 3FQPTJUPSZ %BUB4PVSDF %# $POUSPMMFS 7JFX "1* 3FRVFTU
3FTQPOTF ఆٛͨ͠ϢʔεέʔεΛγεςϜ্ͷϢʔεέʔεʹམͱ͠ࠐΉɻ ϢʔεέʔεγφϦΦϓϩάϥϜ্ͷϢʔεέʔε ˞γεςϜنʹԠͯ͡Ϣʔεέʔεਤϩόωετੳ༻͍Δ
·ͱΊ • ٕज़ͦͷͷͷධՁେࣄ͕ͩͦΕΛѻ͏ΤϯδχΞʹண͢ Δ • ڞ௨Խ͞ΕͨίϛϡχέʔγϣϯͰ൵͠Έͷͳ͍։ൃΛ • ϒϥϯίͷΛࢥ͍ग़ͨ͠ΒԿ͔͕ͣΕ͍ͯΔ࣌ɻҰཱͪฦΔ ͱྑ͍͔
࣭ٙԠ
ৄͪ͘͜͠Β http://lifestyledesign.co.jp/jobs/ We’re Hiring • αʔόʔαΠυΤϯδχΞ • ϑϩϯτΤϯυΤϯδχΞ • σβΠφʔ
ٕज़Λۦͯ͠ΞύϨϧۀքʹֵ໋Λى͍ͨ͜͠ํɺઈࢍืूதʂ