Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Symfony - フレームワークの先へ
Search
Katsuhiro Ogawa
May 30, 2015
Technology
2
10k
Symfony - フレームワークの先へ
PHPカンファレンス関西2015
Katsuhiro Ogawa
May 30, 2015
Tweet
Share
More Decks by Katsuhiro Ogawa
See All by Katsuhiro Ogawa
新規プロダクト開発に伴う既存マイクロサービスのリアーキテクティングとその後
fivestar
1
150
Goで学ぶSOLID原則
fivestar
0
400
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
950
Go in Corporate Solutions Engineering
fivestar
0
2.6k
いつまでPHP 5.x使ってるの
fivestar
1
2k
PHP のドキュメントを読んで PHP のことをもっと知ろう
fivestar
1
3.3k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
290
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.4k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8.1k
Other Decks in Technology
See All in Technology
Bedrock のコスト監視設計
fohte
2
250
Flutter Thread Merge - Flutter Tokyo #11
itsmedreamwalker
1
110
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
10k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
【保存版】「ガチャ」からの脱却:Gemini × Veoで作る、意図を反映するAI動画制作ワークフロー
nekoailab
0
120
レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
red_frasco
4
650
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
160
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
6
10k
『ソフトウェア』で『リアル』を動かす:クレーンゲームからデータ基盤までの統一アーキテクチャ / アーキテクチャConference 2025
genda
0
1.9k
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
1
9.3k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
15k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
76
5.1k
Designing for humans not robots
tammielis
254
26k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Invisible Side of Design
smashingmag
302
51k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Navigating Team Friction
lara
190
16k
Transcript
4ZNGPOZ ϑϨʔϜϫʔΫͷઌ খ༤େ 1 1)1ΧϯϑΝϨϯεؔ
খ༤େ 0("8",BUTVIJSP !pWFTUS ΫϩίεˠϠϑʔ ຊ4ZNGPOZϢʔβʔձ ஶॻ ύʔϑΣΫτPHP ޮతͳWebΞϓϦέʔγϣϯͷ ࡞Γํ
2
4ZNGPOZ͕ங͍͖ͯͨੈք ΤϯδχΞͷੜଘઓུ ϑϨʔϜϫʔΫͷઌ 3 "(&/%"
4ZNGPOZ͕ங͍͖ͯͨੈք 4
ࠓ͍ͨ͜͠ͱͦͷ w ࠷ۙ1)1ք۾͖ͬͯ·ͨ͠Ͷ w ͜͜ͰͲΜͳมԽ͕͔͋ͬͨ;Γ͔͑Δ w ࡢࠓͷɺ͋Δ͍ະདྷͷϑϨʔϜϫʔΫͷܗ 5
·ͣ1)1ͷਐԽ͕͋ͬͨ w 1%0 41-ͳͲඪ४ϥΠϒϥϦͷॆ࣮ w Φʔτϩʔυ w ໊લۭؒ w τϨΠτ
w ແ໊ؔ w γϯλοΫεͷॆ࣮ 6
(JU)VCͱ͍͏࠷ڧͷίϛϡχςΟ w 1VMM3FRVFTUʹΑΔίϛϡχέʔγϣϯ w 044ք۾ͦͷͷͷ׆ੑԽ 7
࣍ੈԽ͕ਐΉϑϨʔϜϫʔΫ w 4ZNGPOZ w -BSBWFM w $BLF1)1 w "VSB w
#&"34VOEBZ w FUD 8
Γ։͍͖ͯͨ4ZNGPOZ w 4ZNGPOZίϯϙʔωϯτͱ༷ͯ͠ʑͳ෦Λ ࠶ར༻ɾ֦ுՄೳͳܗͰఏڙ w %*ίϯςφͷීٴ w όϯυϧγεςϜ 9
༂ಈ͢Δ4ZNGPOZίϛολʔͨͪ w 5XJH w .POPMPH w "TTFUJD w %PDUSJOF"OOPUBUJPOT w
4JMFY 10
ඪ४Խઌಋ w ओཁͳϑϨʔϜϫʔΫͷ։ൃऀΛूΊͯ 1)14UBOEBSET8PSLJOH(SPVQΛ࡞ͬͨ w ݱࡏ1)1'*(ͱͯ͠143ΛࡦఆΛߦ͏ w ΦʔτϩʔσΟϯάϧʔϧ w ඪ४ίʔσΟϯάن
w ڞ௨ΠϯλʔϑΣΠεఆٛ 11
1&"3ʹมΘΔ࣍ੈύοέʔδཧ w $PNQPTFS1BDLBHJTUͷొ w ґଘύοέʔδཧ͕༰қʹ w ୭ͰؾܰʹύοέʔδΛొͰ͖Δ࣌ʹ w 0QFOQFBSͱͳΜͩͬͨͷ͔ 12
ίϯϙʔωϯτࢦͳ࣌ w -BSBWFMΛࢧ͑Δ4ZNGPOZίϯϙʔωϯτ w ܰྔͰΫϦʔϯͳ"VSBͳͲొ w ҰຕؠͷϑϨʔϜϫʔΫͰͳ͘ɺࣗ༝ʹ ίϯϙʔωϯτΛΈ߹ΘͤΒΕΔ࣌ʹ 13
ۀքͷࢿ࢈Λ૿͍ͯ͘͠ w ྑ࣭ͳίϯϙʔωϯτ͕૿͍͑ͯ͘͜ͱͰ ۀքͷࢿ࢈͕૿͍͑ͯ͘ w ۀքશମͷʹͭͳ͕Δ 14
ߴԽ͢ΔϑϨʔϜϫʔΫ w ૄ݁߹ͳΈΛٻΊΒΕΔ w ֦ுੑɺ࠶ར༻ੑΛࢧ͑ΔΦϒδΣΫτࢦ ͷ༷ʑͳςΫχοΫ͕ٻΊΒΕΔ w ΦϨΦϨ࣮Ͱͳ͘ύλʔϯʹ 15
ΦϒδΣΫτࢦͷॏཁੑ w ܧঝ͚ͩͬͯΕ͍͍࣌͡Όͳ͍ w ʮεΫʔΦϒδΣΫτࢦʯͰݕࡧʂ w ΦϒδΣΫτࢦͷΑ͏ͳجૅྗͷ্͕ඞཁ 16
ΤϯδχΞͷੜଘઓུ 17
ࠓ͍ͨ͜͠ͱͦͷ w ϑϨʔϜϫʔΫચ࿅͞Ε͍͍ͯͬͯ·͕͢ w զʑΤϯδχΞ͍ͯ͠ΔͷͩΖ͏͔ w ΤϯδχΞ͕Ͳ͏͋Δ͖͔ 18
ͦͦΤϯδχΞͷࣄͬͯ w ϑϨʔϜϫʔΫΛ͍͜ͳ͢͜ͱͰͳ͍ w γεςϜΛ࡞ͬͯϢʔβʔʹՁΛఏڙͨ͠Γ ੈͷதΛΑΓΑ͘͢Δ͜ͱ͕త w Ͱ͢ΑͶʁ w ݴޠϑϨʔϜϫʔΫಓ۩ʹ͗͢ͳ͍
19
ϑϨʔϜϫʔΫͷઌ w ϑϨʔϜϫʔΫϏδωεϩδοΫ·Ͱ໘ Έͯ͘Εͳ͍ w ϏδωεϩδοΫ෦ͦ͜ΤϯδχΞͷղܾ ͖͢ຊ࣭తͳ՝ 20
ઃܭೳྗΛΈ͕͘ w ΦϒδΣΫτࢦઃܭͷཧղΛਂΊΔ w ༷ʑͳύλʔϯઃܭݪଇΛʹ͚ͭΔ w 1PG&"" 40-*%ݪଇ FMTF w
ͦΕΒΛֶͿ͜ͱ͕ϑϨʔϜϫʔΫͷཧղͷ ॿ͚ʹͭͳ͕Δ 21
Ϗδωεͷ՝ʹͲ͏͖߹͏͔ w ͨͱ͑%%%ΛֶͿ 22
ઃܭྗΛੜ͔ͤΔϑϨʔϜϫʔΫͷબఆΛ w ϑϨʔϜϫʔΫ͕ϏδωεϩδοΫͷ࣮ͷ ͛ʹͳͬͯຊస w ༷ʑͳઃܭΛڐ༰͢ΔϑϨʔϜϫʔΫΛબͿ w ͦ͏ͩͶɺ4ZNGPOZͩͶ 23
ཁ݅ʹಛԽͨ͠ϑϨʔϜϫʔΫΛ࡞Δ w ͞Βʹޮతʹ։ൃΛߦ͑ΔΑ͏ʹɺཁ݅ʹ Ԡͨ͡ϑϨʔϜϫʔΫΛ࡞ΓɺطଘͷϑϨʔ ϜϫʔΫͱΈ߹Θͤͯରॲ͢Δ 24
ཧతʹՁΛஅ͢Δ w ݴޠʹͤΑϑϨʔϜϫʔΫʹͤΑ͖ݏ͍Ͱ அͤͣɺཁ݅ڥʹΑͬͯదͳͷΛ બఆ͍ͯ͘͠ 25
पลڥɺ͋Δ͍ݴޠ w ߴػೳͳ*%&Λ͍ޮతͳ։ൃΛ w /0.03&फڭઓ૪ w తʹԠ༷͡ʑͳݴޠΛ͍͜ͳͤΔΑ͏ʹ w 1)1ͷ͍͍ͱ͜ΖΛվΊͯߟ͑ͯΈΔ 26
νʔϜϏϧσΟϯάେ w νʔϜશମͷ։ൃྗΛҭ͍ͯͯ͘ w ίʔυϨϏϡʔΛऔΓೖΕΔͱ͔ w ίϛϡχέʔγϣϯΛͱΖ͏ 27
ϢʔβʔʹՁΛఏڙ͢Δ͜ͱ w ιʔείʔυͷΫΦϦςΟͱγεςϜͷ͍ উख·ͨผͷ w Ͳ͏͢ΕϢʔβʔʹͱ͍ͬͯқ͍ͷ͕ Ͱ͖͕͋Δͷ͔ w اըతͳࢹڧԽ͍ͯ͘͠ 28
ϑϨʔϜϫʔΫͷઌ 29
ϑϨʔϜϫʔΫ w ϑϨʔϜϫʔΫͷߏཁૉΛׂ͠ɺ ࢿ࢈ͱͯ͠ڞ༗Ͱ͖Δܗʹ w ΞʔΩςΫνϟͳͲຊ࣭తͳ෦Ͱҧ͍Λ ੜΈग़͢͜ͱʹྗ w %4-ͳͲతʹΑΓಛԽͨ͠ܗΛ 30
ΤϯδχΞ w ϑϨʔϜϫʔΫಓ۩ʹ͗͢ͳ͍ w ͪΖΜಓ۩Λ͍͜ͳ͢͜ͱඞཁ w ΑΓຊ࣭తͳʹྗ͍ͯ͘͠ w ϏδωεͷཁٻʹԠ͑ΔͨΊઃܭೳྗͳͲ ༷ʑͳͷΛຏ͍͍͔ͯͳ͚ΕͳΒͳ͍
31
࣌ʹྲྀ͞Εͳ͍ٕࣝज़Λ w ϑϨʔϜϫʔΫͷྲྀߦΓഇΓʹࠨӈ͞Εͳ͍ ֬ݻͨΔجૅΛʹ͚ͭΔ w ΦϒδΣΫτࢦઃܭɺ%%% w ͭΑ͍νʔϜ࡞Γ 32
ϑϨʔϜϫʔΫ͚ͩͰ ੜΈग़ͤͳ͍ՁΛ Ϣʔβʔʹఏڙ͠Α͏ 33
ϓϩϑΣογϣφϧͳ ΤϯδχΞΛࢦͯ͠ 34
ϑϨʔϜϫʔΫͷઌ 35
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ খ༤େ 36