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
A startup meets Laravel + Vue.js
Search
nunulk
November 28, 2018
Programming
1
1.9k
A startup meets Laravel + Vue.js
nunulk
November 28, 2018
Tweet
Share
More Decks by nunulk
See All by nunulk
Laravelでテストしやすいコードを書く5 / 5 tips of building testable modules in Laravel
nunulk
0
250
Design It! in a nutshell
nunulk
1
210
PHP Getting Faster
nunulk
0
200
How does learning English broaden your world?
nunulk
0
300
Testing on Laravel
nunulk
1
1.4k
Vue.js + TypeScript + Firebase
nunulk
0
880
Nuxt.js in TypeScript
nunulk
1
370
Unit Testing Laravel
nunulk
0
420
A Third-rate Programmer Talked about a Survival Strategy for Software Engineers
nunulk
3
550
Other Decks in Programming
See All in Programming
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
380
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
260
Exploring: Partial and Independent Composables
blackbracken
0
100
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
103 Early Hints
sugi_0000
1
230
快速入門可觀測性
blueswen
0
370
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
340
MCP with Cloudflare Workers
yusukebe
2
220
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
5
670
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
140
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Optimizing for Happiness
mojombo
376
70k
The World Runs on Bad Software
bkeepers
PRO
65
11k
4 Signs Your Business is Dying
shpigford
181
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
KATA
mclloyd
29
14k
RailsConf 2023
tenderlove
29
940
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Mobile First: as difficult as doing things right
swwweet
222
9k
Faster Mobile Websites
deanohume
305
30k
Transcript
A Startup meets Laravel + Vue.js nunulk ΒΒͼΎ͏࠲ஊձ
ࠓ͢͜ͱ w ࣗݾհ w -BSBWFM 7VFKTͷಛ w ελʔτΞοϓͱͷ૬ੑ w -BSBWFM
7VFKTͷֶशϓϥϯ w ࣗ༝͔Β੍
ࣗݾհ
ࣗݾհ w OVOVML ͵͵Δ͘ʣ w ϑϦʔϥϯεͷΣϒΞϓϦέʔγϣϯΤϯδχΞ w 1)1ྺ -BSBWFMྺ w
ϑϩϯτΤϯυΔ͜ͱ͕ଟ͍ w ࠷ۙઐΒελʔτΞοϓʹͯίʔυॻ͍ͨΓٕज़ࢧԉ w ࣾͷϓϩμΫτͰ-BSBWFM 7VFKTͰ։ൃ
Laravel + Vue.js ͷಛ
Laravel ͷಛ l5IF1)1'SBNFXPSL'PS8FC"SUJTBOTz w ΦʔϧΠϯύοέʔδ w ϞμϯͳΞʔΩςΫνϟ w &MPRVFOUͳͲͷߴ͍ੜ࢈ੑΛࢧ͑ΔΫϥε܈ w
׆ൃͳίϛϡχςΟڊେͳΤίγεςϜ w ެࣜυΩϡϝϯτͷຊޠ༁ͷଘࡏ
Laravel ͷಛ w 1)1ͷݴޠ༷Λิࠤ͢ΔΫϥεɺϔϧύʔؔ܈ w $PMMFDUJPO w "SS w 4US
w 'MVFOU w 0QUJPOBM w 1)16OJUΛ֦ு͠ɺςετͷ͢͠͞Λ্
Vue.js ͷಛ l5IF1SPHSFTTJWF+BWB4DSJQU'SBNFXPSLz w )5.-$44ͱͷ࠷ݶͷ݁߹ w ෦ద༻ͷ͢͠͞ w 7VFY 'MVY
ʹΑΔ7JFXͱΓ͞Εͨঢ়ଶཧ w ׆ൃͳίϛϡχςΟڊେͳΤίγεςϜ w ެࣜυΩϡϝϯτͷຊޠ༁ͷଘࡏ
Vue.js ͷಛ w 5ZQF4DSJQUΛαϙʔτʢ7VF$-*ʣ w /VYUKT
Simple vs. Easy 4JNQMFFBTZUPVOEFSTUBOE TPMWF PSEP &BTZOPUEJ⒏DVMUUPEP PSOPUOFFEJOHNVDIXPSL .BDNJMMBOEJDUJPOBSZ
Simple vs. Easy 4JNQMFFBTZUPVOEFSTUBOE TPMWF PSEP &BTZOPUEJ⒏DVMUUPEP PSOPUOFFEJOHNVDIXPSL .BDNJMMBOEJDUJPOBSZ
ελʔτΞοϓͱͷ૬ੑ
ελʔτΞοϓͱ w l৽͍͠ϏδωεϞσϧΛ։ൃ͠ɺ࣌ؒ͘͝ͷ͏ͪʹٸܹͳ ͱΤΫδοτΛૂ͏ࣄͰҰ֫ઍۚΛૂ͏ਓʑͷҰ࣌తͳू߹ ମz w νʔϜશମ͕ҰؙͱͳͬͯٸܹͳεϐʔυͰࣄΛਐΊΔͨΊɺ શһ͕߈Ίʹప͢ΔlશͿͬ͜ΈܕΧϛΧθνʔϜz͕ߏ͞Ε Δɻ w
ظతͳձࣾͷମྗͱऩӹԽΛࢦ͢தখاۀͱൺͯΈΔͱɺ ଧ্͚ͪ͛ͩʹϑΥʔΧε͍ͨ͠Γܕϩέοτͱෳճͷ࠶ ར༻Λࢦ͢εϖʔεγϟτϧͱͷҧ͍ͱ͍ͬͨͱ͜ΖͩΖ͏ ͔ɻ ʮϕϯνϟʔاۀͱελʔτΞοϓͷҧ͍ʯ#SBOEPO,)JMM
ελʔτΞοϓͱ w l৽͍͠ϏδωεϞσϧΛ։ൃ͠ɺ࣌ؒ͘͝ͷ͏ͪʹٸܹͳ ͱΤΫδοτΛૂ͏ࣄͰҰ֫ઍۚΛૂ͏ਓʑͷҰ࣌తͳू߹ ମz w νʔϜશମ͕ҰؙͱͳͬͯٸܹͳεϐʔυͰࣄΛਐΊΔͨΊɺ શһ͕߈Ίʹప͢ΔlશͿͬ͜ΈܕΧϛΧθνʔϜz͕ߏ͞Ε Δɻ w
ظతͳձࣾͷମྗͱऩӹԽΛࢦ͢தখاۀͱൺͯΈΔͱɺ ଧ্͚ͪ͛ͩʹϑΥʔΧε͍ͨ͠Γܕϩέοτͱෳճͷ࠶ ར༻Λࢦ͢εϖʔεγϟτϧͱͷҧ͍ͱ͍ͬͨͱ͜ΖͩΖ͏ ͔ɻ ʮϕϯνϟʔاۀͱελʔτΞοϓͷҧ͍ʯ#SBOEPO,)JMM
ελʔτΞοϓͱ w ৽͍͠ϏδωεϞσϧͰظؒͷ͏ͪʹ͢Δ͜ͱΛ ࢦ͢اۀମͰ͋Δ w ৫໘Ͱɺࣗతʹಈ͚Δগਫ਼ӶʹΑΔମ੍͕ٻΊ ΒΕΔ w ϓϩμΫτɺϏδωε͕͍ͭϐϘοτ͢Δ͔͔Βͳ͍ ͷͰɺখ͓͖ͭͬͯ͘͘͞ɺ࣍ͷεςʔδͷঢ়گʹྟػԠ
มʹରԠͰ͖ΔΑ͏ʹ͓ͯ͘͜͠ͱ͕·͍͠
ϓϩμΫγϣϯʹٻΊΒΕΔͷ w ૉૣͭ͘͘ΕΔ͜ͱ w ϥΫʹͭ͘ΕΔ͜ͱ w গਓͰͭ͘ΕΔ͜ͱ
Laravel + Vue.js Ͱͭ͘Δʹ w ΦʔϧΠϯϫϯύοέʔδͳͷͰΠϯετʔϧ͙ͯ͢͠ʹ ͭ͘Γ͡ΊΒΕΔ w ΤίγεςϜ͕ڊେͰɺՃͰඞཁͳύοέʔδ͍ͩͨ ͍ͩΕ͔͕͢Ͱʹͭͬͯ͘͘Ε͍ͯΔͷͰɺͦΕΒΛ͏
w "1* 7VFDPNQPOFOUͰ୲͢Δ w ෳਓͰͭ͘Δ߹ɺਫฏํʢϑϩϯτΤϯυόοΫ Τϯυ ͷ୲ΑΓɺਨํʢػೳʣͷ୲ͷํ͕ޮ ͕͍͍ w σβΠφʔͱͷڠಇʹ4UPSZCPPLΛ͏
ସҊ w ϑϩϯτΤϯυ/VYUKTʢ41"ʣ w όοΫΤϯυϚΠΫϩϑϨʔϜϫʔΫʢ4MJN $PEFJHOJUFS -VNFO FUDʣ w
&MPRVFOUΛ͏͔Ͳ͏͔͕͔Εಓ w ύϑΥʔϚϯεཁ݅ʹΑΔʢ-BSBWFM͍ʣ w ͍ۙকདྷυϝΠϯ͕ෳࡶԽ͢Δ͜ͱ͕ݟ͍͑ͯΔͳΒ࠷ॳ ͔Β-BSBWFMΛ͓͍ͬͯͨํ͕٢
Laravel + Vue.js ͷֶशϓϥϯ
ॳֶऀ(Novice) جૅ w ʢಠֶͳΒʣΦϯϥΠϯεΫʔϧʢςΩετʴϝϯλʔʣ w ʢνʔϜͰϝϯλʔΛ༻ҙͰ͖ΔͳΒʣॻ੶ʴϝϯλʔ w ʢ྆ํΓ͍ͨͳΒʣ+BWB4DSJQUˠ1)1ͷॱ w ʢϑϩϯτΤϯυΔͳΒʣ)5.-ɺ$44
w ʢόοΫΤϯυΔͳΒʣ)551ɺ42-ɺ6OJYͳͲͷपลٕज़ ࣮ફ w طଘػೳͷվम w ؆୯ͳػೳՃʢ$36%ʣ w ঃʑʹෛՙΛ্͍͛ͯ͘
ॳֶऀ(Advanced Beginner) جૅ w ςετ w ΦϒδΣΫτࢦઃܭ w ϦϑΝΫλϦϯά w
σʔλϕʔεςʔϒϧઃܭ ࣮ફ w طଘػೳʹର͢ΔςετΛॻ͘ w খ͞ͳϦϑΝΫλϦϯά w ςʔϒϧͱϞσϧઃܭ
தڃऀ(Intermediate) جૅ w υϝΠϯۦಈઃܭ w ؔܕϓϩάϥϛϯά ࣮ફ w ϑϨʔϜϫʔΫʹґଘ͠ͳ͍υϝΠϯͷΫϥεઃܭʢϞ σϦϯάɺίϥϘϨʔγϣϯʣ
w ϩόετωεΛ্ͤ͞Δࢪࡦ
ֶशϦιʔε w 7VFKT w ެࣜυΩϡϝϯτ w ʮجૅ͔ΒֶͿ7VFKTʯ w ʮ/VYUKTϏΪφʔζΨΠυʯ w
-BSBWFM w ެࣜυΩϡϝϯτ w ʮ1)1ϑϨʔϜϫʔΫ-BSBWFMೖʯ w ʮ1)1ϑϨʔϜϫʔΫ-BSBWFM8FCΞϓϦέʔγϣϯ։ൃʯ
None
ࣗ༝͔Β੍
੍ΛٻΊΔҼࢠ w ΞϓϦέʔγϣϯͷෳࡶԽ w ৫ͷ֦େ w Ϗδωεͷ֦େ
੍ΛٻΊΔҼࢠ w ΞϓϦέʔγϣϯͷෳࡶԽ w ৫ͷ֦େ w Ϗδωεͷ֦େ w มߋʹ͔͔Δίετͷ૿େΛ؇͔ʹ͢Δඞཁੑ w
ίϛϡχέʔγϣϯίετͷ૿େΛ؇͔ʹ͢Δඞཁੑ w ϓϩμΫτىҼͷϏδωεϦεΫΛݮΒ͢ඞཁੑ
มߋʹ͔͔ΔίετΛ͑Δ w ॏෳίʔυͷഉআʗ੩తղੳʹΑΔෳࡶνΣοΫ w 1)1$1% 1IQ4UBO 1IBO FUD w ςετΧόϨοδͷ্ʢΛඪʹʣ
w QIQVOJU QIQECH w $*$% w $JSDMF$* 5SBWJT$* EFQMPZFS DBQJTUSBOP FUD
ίϛϡχέʔγϣϯίετΛ͑Δ w 143ʹ४ڌͨ͠ίʔσΟϯάελΠϧͷ౷Ұ w 1IQTUPSN QIQDT FUD w ઃܭϙϦγʔʢϧʔϧɺΨΠυϥΠϯʣͷࡦఆ w
ίʔυϨϏϡʔͰΔ͜ͱʗΒͳ͍͜ͱΛ໌֬Խ
ϏδωεϦεΫΛ͑Δ w ੬ऑੑௐࠪʗηΩϡϦςΟڧԽ w ϞχλϦϯάʢΤϥʔݕɺϓϩηεࢹɺFUDʣ w 3PMMCBS 4FOUSZ .BDLFSFM /FX3FMJD
FUD w ύϑΥʔϚϯενϡʔχϯάʢσʔλྔ૿େʹ͏Ԡ ͷԼΛ͙ʣ
·ͱΊ
·ͱΊ w -BSBWFM 7VFKTͷ͍͍ͯΔঢ়گɺগਓͰɺૉૣ͘ɺָͯ͠ ͭ͘Γ͍ͨͱ͖ w -BSBWFM 7VFKTςετ͕ॻ͖͘͢ͳ͍ͬͯΔͷͰͲΜͲΜॻ͍ ͍͖ͯ·͠ΐ͏ w
ΦϒδΣΫτࢦઃܭͱؔܕϓϩάϥϛϯάͷجૅࣝΛʹͭ ͚·͠ΐ͏ w -BSBWFM7VFKT੍ͷগͳ͍ϑϨʔϜϫʔΫͳͷͰɺෳࡶ͕ ૿ͨ͠Γਓ͕૿͑ͨΓ͖ͯͨ͠ͱ͖ࣗͨͪͰنΛͭͬͯ͘ ͍͖·͠ΐ͏ w -BSBWFM 7VFKTʹอकϑΣʔζʹؔΘΔύοέʔδἧ͍ͬͯΔ ͷͰ͍͖ͬͯ·͠ΐ͏