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
520
新規システムのための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.5k
Elementのすすめ
takenakasuji
0
3.8k
Vue.jsを使ったら幸せになった話
takenakasuji
1
3.9k
IoTで実現するリアルストア戦略
takenakasuji
0
1.9k
Other Decks in Technology
See All in Technology
例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する
kajitack
12
3.8k
パブリッククラウドのプロダクトマネジメントとアーキテクト
tagomoris
4
770
MCP server を作って Claude Desktop アプリから kintone へアクセスすると楽しい
r3_yamauchi
PRO
1
120
[SRE kaigi 2025] ガバメントクラウドに向けた開発と変化するSRE組織のあり方 / Development for Government Cloud and the Evolving Role of SRE Teams
kazeburo
4
1.9k
CloudWatch Container Insightsを使ったAmazon ECSのリソース監視
umekou
1
120
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
190
攻撃者の視点で社内リソースはどう見えるのかを ASMで実現する
hikaruegashira
4
2.1k
Redshiftを中心としたAWSでのデータ基盤
mashiike
0
100
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
17
4k
プロダクト価値を引き上げる、「課題の再定義」という習慣
moeka__c
0
210
プロダクト観点で考えるデータ基盤の育成戦略 / Growth Strategy of Data Analytics Platforms from a Product Perspective
yamamotoyuta
0
220
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
200
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Why Our Code Smells
bkeepers
PRO
335
57k
Optimising Largest Contentful Paint
csswizardry
33
3k
Embracing the Ebb and Flow
colly
84
4.5k
Statistics for Hackers
jakevdp
797
220k
Writing Fast Ruby
sferik
628
61k
Done Done
chrislema
182
16k
Building Your Own Lightsaber
phodgson
104
6.2k
Building Applications with DynamoDB
mza
93
6.2k
Practical Orchestrator
shlominoach
186
10k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
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 • αʔόʔαΠυΤϯδχΞ • ϑϩϯτΤϯυΤϯδχΞ • σβΠφʔ
ٕज़Λۦͯ͠ΞύϨϧۀքʹֵ໋Λى͍ͨ͜͠ํɺઈࢍืूதʂ