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+Layerd+TDD
Search
gozaing
February 01, 2018
Programming
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravel+Layerd+TDD
Laravelでレイヤードアーキテクチャを利用した実装サンプルです。
ソース:
https://github.com/gozaing/reminder
gozaing
February 01, 2018
More Decks by gozaing
See All by gozaing
最近の遊び-Just_For_Fun
tobaru
0
14
What I want to tell those who will become engineer managers from now on
tobaru
1
1.3k
ListeningTemplate
tobaru
0
100
coachable
tobaru
0
180
self-introduce
tobaru
0
160
Experiment with self-change
tobaru
3
170
201904_scrum_seven_things
tobaru
0
1k
スクラムとは。見積もりとは。
tobaru
0
970
Other Decks in Programming
See All in Programming
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
140
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
490
仕様駆動開発の消費期限
watany
16
7.2k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
AIが無かった頃の素敵な出会いの話
codmoninc
1
390
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
220
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
190
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
380
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
Amusing Abliteration
ianozsvald
1
240
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
How GitHub (no longer) Works
holman
316
150k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building the Perfect Custom Keyboard
takai
2
830
Transcript
-BSBWFMΛͬͨ ϨΠϠʔυΞʔΩςΫνϟ 5%% αʔόαΠυΤϯδχΞ ϑϧʔπύʔϥʔ!גࣜձࣾΫΠοΫ
͓ͷରͱ͍ͯ͠Δํ w 'BU$POUSPMMFS'BU.PEFMΛճආ͍ͨ͠ʢͷʣ w %%%Λ࢝Ί͍͕ͨͲ͔͜Βʁͱࢥ͍ͬͯΔ w .7$Ͱͳ͍ΞʔΩςΫνϟͰ࣮͍ͨ͠ w ςετ͍͢͠ίʔυͱʁͱߟ͍͑ͯΔ w
-BSBWFMʢ1)1ʣΛར༻͍ͯ͠Δʢ࣮αϯϓϧͰར༻ʣ
͓͢Δࣄ w ʢલʣຊεϥΠυͰ͢ w ϨΠϠʔυΞʔΩςΫνϟ w ࡞͢ΔΞϓϦέʔγϣϯͷઆ໌ w $POUSPMMFSͱ4FSWJDFΫϥε w
$POUSPMMFSΫϥεͷςετʢͷ͢͠͞ʣ w ʢޙʣιʔεΛ$MPOF֬͠͝ೝ͍ͩ͘͞ w 4FSWJDFΫϥεͱ3FQPTJUPSZΫϥε w 4FSWJDFΫϥεͱ3FQPTJUPSZΫϥεͷςετʢͷ͢͠͞ʣ
ޙΛͨͣʹશମΛݟ͍ͨํίνϥ w (JU)VC w IUUQTHJUIVCDPNHP[BJOHSFNJOEFS w ϝʔϧૹ৴ॲཧ࣮͞Ε͍ͯ·ͤΜ w मਖ਼ɺ࣮ͳͲࣗ͝༝ʹ͓ࢼ͠Լ͍͞ w
13Λ͓͓ͪͯ͠Γ·͢
࡞͢ΔΞϓϦέʔγϣϯͷཁ݅ʢ3FNJOEFS"QQʣ w ϝϯόʔਓ͕ࢀՃ͢Δ൪੍Πϕϯτ w కΊΓ·ͰͷΛදࣔ w ରऀʹϝοηʔδʢ˓લʣΛදࣔ w ରऀʹϦϚΠϯυϝʔϧʢ˓લʣૹ৴ "͞Μ
#͞Μ $͞Μ Γ Γ Γ
ΞʔΩςΫνϟͷઆ໌
༻͢ΔΞʔΩςΫνϟ w ϨΠϠʔυΞʔΩςΫνϟ w ্ҐԼҐʹґଘ͍͚ͯ͠ͳ͍ w ԼҐͷมԽʹΑ্ͬͯҐʹมߋ͕͋Δࣄڐ͞ͳ͍ w ϏδωεϩδοΫΛ%PNBJOͰٵऩ w
.7$ύλʔϯͰ͍͏$POUSPMMFS.PEFMʹϏδωεϩδοΫ͕ ᷓΕΔࣄΛ͙ʢ.7$Ͱ.PEFM͕ؤுΓ͗͢Δنͷ߹ʣ w ॲཧΛϨΠϠʔԽ͢ΔࣄͰΛ͠ςετ͍͢͠
.7$ͱϨΠϠʔυΞʔΩςΫνϟͷҧ͍ .7$ ϨΠϠʔυ $MBTT 7JFX 6* $POUSPMMFS "QQMJDBUJPO .PEFM %PNBJO
4FSWJDF %PNBJO.PEFM 7BMVF0CKFDU *OGSBTUSVDUVSF 3FQPTJUPSZ .7$Ͱ$POUSPMMFS.PEFM͕ؤுΓ͗͢Δࣄ͕ଟ͍
֤ϨΠϠʔͷׂ w ʢ%PNBJOʣ4FSWJDFΫϥε w ϏδωεϩδοΫͷ࣮ʢϧʔϧ༷Λຬͨ͢ʣ w ʢ%PNBJOʣ%PNBJO.PEFMΫϥε w υϝΠϯݻ༗ͷৼΔ͍ w
υϝΠϯݻ༗ͷΫϥε࣮ʢ7BMVF0CKFDUʣ w ʢ*OGSBTUSVDUVSFʣ3FQPTJUPSZΫϥε w ӬଓԽͷΞΫηεΛ࣮ʢσʔλιʔεɺϑΝΠϧʣ
ґଘΠϝʔδʢґଘؔٯసͷ๏ଇʣ 7JFX6* $POUSPMMFS"QQMJDBUJPO %PNBJO4FSWJDF 3FQPTJUPSZ *OUFSGBDF *OUFSGBDF
ґଘ্͕ҐϨΠϠʔ͔ΒԼҐϨΠϠʔʹ͘ͱʁ w 3FNJOEFS"QQͰɺࢀՃऀҰཡΛ$POpH͔Βऔಘ͍ͯ͠Δ w %#͔Βऔಘ͢ΔΑ͏ʹมߋ͍ͨ͠߹Ͳ͏Өڹ͢Δ͔ w ςετͷ߹͚ͩ$POpH42-JUFΛར༻͍ͨ͠߹Ͳ͏Өڹ ͢Δ͔ʢ݅ذͰରॲͯ͠͠·͍͕ͪʣ w ্هέʔεͰ্Ґͷมߋ͕ඞཁͱͳΔ
w ӨڹΛগͳ͘͢ΔͨΊ֤ϨΠϠʔΛૄ݁߹ʹ͢Δࣄ͕ॏཁ w ૄ݁߹ʹ͢ΔΈͱͯ͠ϨΠϠʔυΞʔΩςΫνϟΛར༻͢Δ
࣮ͱղઆ
ඞཁͳཁ͔݅Β࣮Λ࢝ΊΔ w ࢀՃऀҰཡΛऔಘ w ࢀՃऀҰཡ͔ΒకΛऔಘ w ࠓకΛߦ͍ɺΓΛࢉग़ w ΓΛ7JFXͰදࣔ ͜͏͍͏ॲཧ͕ඞཁͦ͏ͳͷͰ
$POUSPMMFSʹॻ͍͍ͯ͘
͋ͬͱ͍͏ؒʹ'BU$POUSPMMFS w ߇͑Ίʹॻ͍ͯ͜͏͍͏ϩδοΫʹͳΔ
ςετ͔͚Δ͕ w JOEFY ॲཧͷதͰ"#$ͱϩδοΫ͕ଓ͖ɺͲ͔͜Ͱࣦഊͨ͠߹ ͷέʔεΛఆ͢Δࣄ͕͍͠ w ԿΛͬͯਖ਼ৗऴྃͱ͢Δ͔ w ֤ॲཧΛׂ࣮ͯ͢͠ΔࣄͰέʔεఆΛগͳ͘͢Δࣄग़དྷΔ͕ τϥϯβΫγϣϯεΫϦϓτʹͳΓ͍͢
w Ͳ͜Ͱׂ࣮ͯ͢͠Δ͔ w $POUSPMMFS4UBUVT͕Λฦ͠ɺࢀՃऀҰཡ͕7JFXʹ͞ΕΔࣄͷ ΈΛ͓͍͍͑ʢࠓ͕ଟ͍'BUʣ w Ͳ͏ΛΓ͔͢ʁ w औಘɺՃ͕ͯ͢ಉ͡ॲཧͷதͰߦΘΕ͍ͯΔ
Ͳ͏࣮͢Δ͔ w 4FSWJDFΫϥεͰϩδοΫΛ࣮ w $POUSPMMFSͲͷΑ͏ͳॲཧͰࢀՃऀҰཡ͕ੜ͞ΕΔ͔Δඞཁ͕ͳ͍ w ੜ͞ΕͨࢀՃऀҰཡʹΓϝοηʔδؚ͕·Ε͍ͯΔ w UIJTTFSWJDFHFU"SSBZ-JTU ΛݺͿͷΈ
ίϯετϥΫλͰλΠϓώϯτ͞Ε͍ͯΔ͕ʁ w 4FSWJDFΫϥεͷ*OUFSGBDFΛλΠϓώϯτ w ৄࡉͷ࣮Λߦ͏4FSWJDFΫϥεɺ$POUSPMMFSʹλΠϓώϯτ͠ ͨ*OUFSGBDFʹґଘʢԼҐϨΠϠʔ্ҐϨΠϠʔͷநʹґଘʣ w JOEFYϝιουͷதͰɺ4FSWJDFΫϥεͷϝιουΛݺͿͷΈ w $POUSPMMFSʹॻ͖͕ͪͳۀϩδοΫΛ4FSWJDFΫϥεʹ
w $POUSPMMFSΛγϯϓϧʹอͭ
ΠϯλʔϑΣʔεͱ۩ΫϥεΛͲ͜Ͱඥ͚Δʁ w 4FSWJDF1SPWJEFSΛར༻ w ͜ͷొʹΑΓ$POUSPMMFSͰ۩Ϋϥε͕ੜ͞ΕΔʢ%*ίϯςφʣ w 1BSUJDJQBOU4FSWJDF*OUFSGBDF1BSUJDJQBOU4FSWJDF͕ੜ͞ΕΔ
͍ͯ͘͠͠ͳ͍͔ʁ w 4FSWJDFΫϥεɺ4FSWJDF1SPWJEFSɺ*OUFSGBDFͷར༻ʹΑΓొΫ ϥε૿͑Δʢίʔυͷهड़ྔ૿͑Δʣ w ϩδοΫΛڬ·ͳ͍$36%ΞϓϦέʔγϣϯʢϚελཧͷΑ͏ ͳʣͰ͋Εɺͷෆཁ͔͠Εͳ͍ w ϑΥʔΧεΛߜΓΛ͢Δࣄ͕త w
मਖ਼Օॴ͕໌֬ɺมߋͷӨڹΛड͚ʹ͍͘
࣮͕நʹґଘ͢ΔࣄʹΑΔϝϦοτ w 6OJU5FTU࣌4UVC4FSWJDFΫϥεʹࠩ͠ସ͑ͯςετ͢Δࣄ͕ग़དྷΔ 4UVC$MBTTʹࠩ͠ସ͑ ςετ࣌͜ͷϝιου͕ݺΕΔ
·ͱΊ w ϨΠϠʔʹΑׂ͕ͬͯ͋ΔʢϨΠϠʔυΞʔΩςΫνϟʣ w ׂΛ͚ΔࣄͰγϯϓϧ͞Λอͭ w ϑΥʔΧεΛߜΔࣄͰςετʹΑΔ୲อΛߦ͍͍͢ w ґଘؔΛཧղ͢Δ w
্ҐԼҐʹґଘ͍͚ͯ͠ͳ͍ w நʹґଘ͢ΔࣄͷϝϦοτΛཧղ w ςετ࣌ʹ4UVCͱࠩ͠ସ͑ʢଞʹߟ͑ΒΕΔ͕ࠓճ͜ ͷͷΈݴٴʣ
ࠓճ͓ͨ͠ൣғ 7JFX6* $POUSPMMFS"QQMJDBUJPO %PNBJO4FSWJDF 3FQPTJUPSZ *OUFSGBDF *OUFSGBDF ຊεϥΠυͰ"QQMJDBUJPO 4FSWJDFͷ͕͠ओͰ͢ 4FSWJDF3FQPTJUPSZಉ
༷ʹநʹґଘͨ͠Έͱ ͳΓ·͢ ͝ڵຯ͋ΕιʔεΛ͝ ཡ͍ͩ͘͞
8F"SF)JSJOH IUUQTKQSFDSVJUNJENBSLFU