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
2k
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
300
Design It! in a nutshell
nunulk
1
250
PHP Getting Faster
nunulk
0
260
How does learning English broaden your world?
nunulk
0
350
Testing on Laravel
nunulk
1
1.5k
Vue.js + TypeScript + Firebase
nunulk
0
930
Nuxt.js in TypeScript
nunulk
1
430
Unit Testing Laravel
nunulk
0
470
A Third-rate Programmer Talked about a Survival Strategy for Software Engineers
nunulk
3
580
Other Decks in Programming
See All in Programming
株式会社 Sun terras カンパニーデック
sunterras
0
230
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
550
開発生産性を上げるための生成AI活用術
starfish719
1
180
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
350
CSC509 Lecture 05
javiergs
PRO
0
300
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
dynamic!
moro
9
6.7k
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
1
260
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
390
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
780
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
230
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
Statistics for Hackers
jakevdp
799
220k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Music & Morning Musume
bryan
46
6.8k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
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ʹอकϑΣʔζʹؔΘΔύοέʔδἧ͍ͬͯΔ ͷͰ͍͖ͬͯ·͠ΐ͏