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
670
Eleventy - 11ty
tiwu_dev
0
140
Install for PWA
tiwu_dev
0
1.3k
App Shortcuts
tiwu_dev
0
880
Web Vitals
tiwu_dev
0
71
Web Share API
tiwu_dev
0
1.3k
Badge in Background
tiwu_dev
0
68
PWAとCache API #frontkansai
tiwu_dev
5
2.1k
Web Componentsとlit-element #frontkansai
tiwu_dev
2
1.4k
Other Decks in Technology
See All in Technology
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
2
340
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
25
11k
Rubyの国のPerlMonger
anatofuz
3
730
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
0
150
Strands Agents & Bedrock AgentCoreを1分でおさらい
minorun365
PRO
6
240
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
260
Kiroから考える AIコーディングツールの潮流
s4yuba
4
670
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
110
Oracle Cloud Infrastructure:2025年7月度サービス・アップデート
oracle4engineer
PRO
1
120
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
240
Claude Codeは仕様駆動の夢を見ない
gotalab555
18
4.6k
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
310
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
How STYLIGHT went responsive
nonsquared
100
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
540
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Become a Pro
speakerdeck
PRO
29
5.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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ͷ๏ଇΛ࣮ײ - ΦχΦϯΞʔΩςΫνϟ&ςετʹॿ͚ΒΕͨ - ϑϨʔϜϫʔΫͷ͓͔͛ͰϏδωεϩδοΫͳͲʹ ྗͰ͖Δ ·ͱΊ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠