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
リリース直前にLumenからLaravelに移行した話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tiwu
February 16, 2019
Technology
1.5k
4
Share
リリース直前にLumenからLaravelに移行した話
https://fortee.jp/laravel-jp-conference-2019/proposal/633e7874-20f6-4c91-ad6e-693881f3c016
tiwu
February 16, 2019
More Decks by tiwu
See All by tiwu
Eleventy で SSG
tiwu_dev
2
710
Eleventy - 11ty
tiwu_dev
0
140
Install for PWA
tiwu_dev
0
1.5k
App Shortcuts
tiwu_dev
0
940
Web Vitals
tiwu_dev
0
83
Web Share API
tiwu_dev
0
1.5k
Badge in Background
tiwu_dev
0
100
PWAとCache API #frontkansai
tiwu_dev
5
2.4k
Web Componentsとlit-element #frontkansai
tiwu_dev
2
1.6k
Other Decks in Technology
See All in Technology
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
550
LookerとADKで作る社内AIエージェント
chanyou0311
0
260
SpeechTranscriber + AIによる文字起こし機能
kazuki1220
0
110
オライリーイベント登壇資料「鉄リサイクル・産廃業界におけるAI技術実応用のカタチ」
takarasawa_
0
410
Claude Codeウェビナー資料 - AWSの最新機能をClaude Codeで高速に検証する
oshanqq
0
920
マンション備え付けのネットワークとLTE回線を組み合わせた ネットワークの安定化の考案
harutiro
1
140
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
110
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
1
470
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
140
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
110
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
980
[みん強]AIの価値を最大化するデータ基盤戦略:Self-Service型Data Meshへの転換とAgentic AI Meshに向けた取り組み with Snowflake他
y_matsubara
1
100
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
190
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
180
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
390
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Designing Powerful Visuals for Engaging Learning
tmiket
1
370
Bash Introduction
62gerente
615
210k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
160
Transcript
ϦϦʔεલʹLumen͔Β LaravelʹҠߦͨ͠ גࣜձࣾGameWithɹαʔϏε։ൃ෦ɹాޱ ߤ
ΞδΣϯμ - ࣗݾհɺձࣾհ - MangaWithʹ͍ͭͯ - Lumenͱ - MangaWithͷΞʔΩςΫνϟઃܭ -
ͳͥLumenΛબ͔ͨ͠ - ͳͥҠߦ͢Δ͜ͱʹͳ͔ͬͨ - LaravelͷҠߦ - LaravelҠߦͯ͠Έͯ - ·ͱΊ
ࣗݾհ # Wataru Taguchi - GameWith Front End Engineer -
@tiwu_official - @tiwuofficial - FF14, Beer, Kyoto Animation
ձࣾ֓ཁ ໊ࣾ גࣜձࣾGameWith ຊࣾ ˟106-6120 ౦ژߓ۠ຊ6-10-1 ຊώϧζλ ϫʔ20F දऀ ࠓઘɹ
ઃཱ 20136݄3 ࢿຊۚ 492ඦສԁʢ201811݄࣌ʣ ࣄۀ༰ ήʔϜใͷఏڙΛߦ͏ϝσΟΞࣄۀ
αʔϏε֓ཁ - ࠃ࠷େڃͷήʔϜϝσΟΞʮGameWithʯΛӡӦ - ҎԼͷ4ࣄۀΛத৺ʹ෯͘ήʔϜؔ࿈ࣄۀΛల։ - ήʔϜ߈ུ - ήʔϜϨϏϡʔ -
ίϛϡχςΟ - ಈը৴
201812݄ΑΓ WebϚϯΨαʔϏεʮMangaWithʯΛ ӡӦΛ։࢝ ϒϩοΫνΣʔϯήʔϜ ʮEGGRYPTO(ΤάϦϓτ)ʯΛ2019 य़ϦϦʔε༧ఆ ৽نࣄۀ
WEBϚϯΨαʔϏεʮMangaWithʯʹ͍ͭͯ
MangaWith 6݄ 12݄ 11݄ 7݄ 8݄ 9݄ 10݄
Lumen
Lumen # ಛ - ܰྔʢSilexSlim 3ΑΓʣ - Eloquent, Caching, Queues,
Validation, Routing, MiddlewareͳͲඪ४උ - LaravelͷҠߦ͕؆୯
Lumen # Laravelͱͷҧ͍ - configσΟϨΫτϦͳ͍(.env͏) - ࡞ͬͯӡ༻͢Δ͜ͱՄೳ - Facade,Eloquent͕ॳظঢ়ଶ͑ͳ͍ -
ίϝϯτΞτΛ֎ͤ͑Δ - resourcesܥ͕΄΅ͳ͍ - API։ൃϝΠϯͱ͍͏͜ͱ͔ɾɾɾ - Lumen 5.2͔Βηογϣϯ͕αϙʔτ֎ - ఆٛͯ͋͛͠Ε͑Δ
MangaWith ΞʔΩςΫνϟઃܭ
͍ͭʁ 6݄ 12݄ 11݄ 7݄ 8݄ 9݄ 10݄
MangaWithͷΞʔΩςΫνϟઃܭ ϏδωεϩδοΫ ϑϨʔϜϫʔΫʹͰ͖Δ͚ͩґଘ͠ͳ͍
MangaWithͷΞʔΩςΫνϟઃܭ ΦχΦϯΞʔΩςΫνϟ
MangaWithͷΞʔΩςΫνϟઃܭ UI Controller Service Repository Entity Infrastructure Entity Repository Service
Controller UI Infrastructure
ιʔεྫɹContoller
ιʔεྫɹService
ιʔεྫɹRepository
ιʔεྫɹEntity
MangaWithͷΞʔΩςΫνϟઃܭ UI Controller Service Repository Entity Infrastructure Entity Repository Service
Controller UI Infrastructure
ϦϦʔεʹ͚ͯ ΞʔΩςΫνϟઃܭܾ·ͬͨʂ
MangaWith ϑϨʔϜϫʔΫબఆ
͍ͭʁ 6݄ 12݄ 11݄ 7݄ 8݄ 9݄ 10݄
ϑϨʔϜϫʔΫબఆ OR
MangaWithͷΞʔΩςΫνϟઃܭ ϏδωεϩδοΫ ϑϨʔϜϫʔΫʹͰ͖Δ͚ͩґଘ͠ͳ͍
ϑϨʔϜϫʔΫબఆ
ϦϦʔεʹ͚ͯ ϑϨʔϜϫʔΫܾΊͨʂ
ϦϦʔεʹ͚ͯ ޙϦϦʔεʹ͚ͯΔ͚ͩͩʂ
MangaWith 6݄ 12݄ 11݄ 7݄ 8݄ 9݄ 10݄
MangaWith 6݄ 12݄ 11݄ 7݄ 8݄ 9݄ 10݄
͔͠͠ɺࣄ͕݅ ͔͠͠ϦϦʔε1ϲ݄લʹࣄ͕݅
LaravelͷҠߦ LumenͰϚελʔεϨʔϒߏ͕ ࣮ݱͰ͖ͳ͍
Ͳ͏͍͏͜ͱ͔ # MangaWithͰಠࣗΫϥε͕ଟ͍ - Carbon - DB Connection - Log
- Sftp
Carbon
DB Connection
DB Connection LumenͰಠࣗDB ConnectionΛར༻͍ͯ͠Δ ߹ɺϚελʔεϨʔϒߏΛऔΔʹ ಠࣗϚελʔεϨʔϒߏΛ࣮͢Δඞཁ͕ ͋ͬͨ
ϚελʔεϨʔϒߏ
ͳ͔ͥ
ճආํ๏ - ಠࣗDB ConnectionΛΊΔ - ಠࣗϚελʔεϨʔϒߏΛ࣮͢Δ - LaravelʹҠߦ͢Δ
ճආํ๏ - ಠࣗDB ConnectionΛΊΔ - ಠࣗϚελʔεϨʔϒߏΛ࣮͢Δ - LaravelʹҠߦ͢Δ
LaravelͷҠߦ 1. ۭͷLaravelϓϩδΣΫτΛ࡞Δ 2. ϏδωεϩδοΫ෦Λίϐϖ͢Δ 3. ϛυϧΣΞͱϧʔςΟϯάͱςετඍमਖ਼
Ҡߦʹؔͯ͠ # ਏ͔ͬͨ - मਖ਼ྔʢجຊతʹશஔ͕ͩʣ # ྑ͔ͬͨ - ςετͷΧόϨοδ͕98%͘Β͍͋ͬͨͷͰॿ͔ͬͨ
Ҡߦͷͦͷଞཧ༝ # ηογϣϯ - ৺ཧత҆શੑ͕ͳ͔ͬͨͷͰม͔͑ͨͬͨ # ςετ - ฦ٫͞ΕΔHTMLͷத͕ݟΕͳ͔ͬͨΓ͢Δ
Ҡߦͯ͠Έͯ # पΓ - Ͳ͏ͩΖ͏ɾɾɾʁ - Unitςετ͘ͳͬͨ # ΦχΦϯΞʔΩςΫνϟ -
Lumen -> Laravelͳ͜ͱ͋ΓɺεϜʔζ͕ͩͬͨྑ͞Λ࣮ײ
# ಠࣗΫϥεؔ࿈ - YAGNIͷ๏ଇΛ࣮ײɾɾɾ - ϝϦοτʢݱঢ়ʣײ͍ͯ͡ͳ͍ɾɾɾ # Laravel or Lumen
? - ಛʹ͋Δ௨ΓʹAPIαʔόʔ୯ҰͷػೳͳΒLumen - ී௨ʹWEBΞϓϦέʔγϣϯΛ࡞ΔͳΒLaravel Ҡߦͯ͠Έͯ
Question ͠ಠࣗDB ConnectionͰͳ͔ͬͨΒ LumenΛͦͷ··͍ͬͯͨʁ
Answer ηογϣϯ͋Δ͕͍ͬͯͨͱࢥ͏
ϏδωεϩδοΫ΄΅FWґଘ͍ͯ͠ͳ͍ͷͰ ͍͚͍͚ͯΔ͔ ະདྷ Ϗδωε ϩδοΫ
- LumenͰWeb։ൃׂͱ͍͚Δ - YAGNIͷ๏ଇΛ࣮ײ - ΦχΦϯΞʔΩςΫνϟ&ςετʹॿ͚ΒΕͨ - ϑϨʔϜϫʔΫͷ͓͔͛ͰϏδωεϩδοΫͳͲʹ ྗͰ͖Δ ·ͱΊ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠