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.8k
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
240
Design It! in a nutshell
nunulk
1
200
PHP Getting Faster
nunulk
0
190
How does learning English broaden your world?
nunulk
0
290
Testing on Laravel
nunulk
1
1.3k
Vue.js + TypeScript + Firebase
nunulk
0
880
Nuxt.js in TypeScript
nunulk
1
360
Unit Testing Laravel
nunulk
0
410
A Third-rate Programmer Talked about a Survival Strategy for Software Engineers
nunulk
3
550
Other Decks in Programming
See All in Programming
subpath importsで始めるモック生活
10tera
0
310
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
CSC509 Lecture 11
javiergs
PRO
0
180
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.7k
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
140
Jakarta EE meets AI
ivargrimstad
0
600
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
340
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
120
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Being A Developer After 40
akosma
87
590k
Typedesign – Prime Four
hannesfritz
40
2.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Navigating Team Friction
lara
183
14k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Why Our Code Smells
bkeepers
PRO
334
57k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
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ʹอकϑΣʔζʹؔΘΔύοέʔδἧ͍ͬͯΔ ͷͰ͍͖ͬͯ·͠ΐ͏