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.4k
リリース直前に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
560
Eleventy - 11ty
tiwu_dev
0
110
Install for PWA
tiwu_dev
0
900
App Shortcuts
tiwu_dev
0
740
Web Vitals
tiwu_dev
0
57
Web Share API
tiwu_dev
0
900
Badge in Background
tiwu_dev
0
43
PWAとCache API #frontkansai
tiwu_dev
5
1.6k
Web Componentsとlit-element #frontkansai
tiwu_dev
2
1k
Other Decks in Technology
See All in Technology
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
130
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
1.3k
VS CodeでAWSを操作しよう
smt7174
8
1.6k
Azureの基本的な権限管理の勉強会
yhana
0
370
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
Yahoo! 知恵袋フロントエンドをリアーキテクトしている話
lycorptech_jp
PRO
1
130
競技としてのKaggle、役に立つKaggle
yu4u
3
810
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.8k
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
180
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
610
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Infographics Made Easy
chrislema
238
18k
Automating Front-end Workflow
addyosmani
1356
200k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
How GitHub (no longer) Works
holman
304
140k
Designing Experiences People Love
moore
136
23k
Debugging Ruby Performance
tmm1
70
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
GitHub's CSS Performance
jonrohan
1025
450k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
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ͷ๏ଇΛ࣮ײ - ΦχΦϯΞʔΩςΫνϟ&ςετʹॿ͚ΒΕͨ - ϑϨʔϜϫʔΫͷ͓͔͛ͰϏδωεϩδοΫͳͲʹ ྗͰ͖Δ ·ͱΊ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠