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
tiwu
February 16, 2019
Technology
4
1.5k
リリース直前にLumenからLaravelに移行した話
https://fortee.jp/laravel-jp-conference-2019/proposal/633e7874-20f6-4c91-ad6e-693881f3c016
tiwu
February 16, 2019
Tweet
Share
More Decks by tiwu
See All by tiwu
Eleventy で SSG
tiwu_dev
2
680
Eleventy - 11ty
tiwu_dev
0
140
Install for PWA
tiwu_dev
0
1.4k
App Shortcuts
tiwu_dev
0
890
Web Vitals
tiwu_dev
0
72
Web Share API
tiwu_dev
0
1.4k
Badge in Background
tiwu_dev
0
73
PWAとCache API #frontkansai
tiwu_dev
5
2.1k
Web Componentsとlit-element #frontkansai
tiwu_dev
2
1.5k
Other Decks in Technology
See All in Technology
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
250
CoRL 2025 Survey
harukiabe
0
160
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.4k
Adapty_東京AI祭ハッカソン2025ピッチスライド
shinoyamada
0
270
社内お問い合わせBotの仕組みと学び
nish01
1
570
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
160
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
170
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
510
Geospatialの世界最前線を探る [2025年版]
dayjournal
1
220
Git in Team
kawaguti
PRO
3
350
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
440
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
130
Featured
See All Featured
Balancing Empowerment & Direction
lara
4
690
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Being A Developer After 40
akosma
91
590k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Documentation Writing (for coders)
carmenintech
75
5k
Docker and Python
trallard
46
3.6k
Code Reviewing Like a Champion
maltzj
526
40k
BBQ
matthewcrist
89
9.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Automating Front-end Workflow
addyosmani
1371
200k
Navigating Team Friction
lara
190
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
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ͷ๏ଇΛ࣮ײ - ΦχΦϯΞʔΩςΫνϟ&ςετʹॿ͚ΒΕͨ - ϑϨʔϜϫʔΫͷ͓͔͛ͰϏδωεϩδοΫͳͲʹ ྗͰ͖Δ ·ͱΊ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠