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
Symfony - フレームワークの先へ
Search
Katsuhiro Ogawa
May 30, 2015
Technology
2
9.9k
Symfony - フレームワークの先へ
PHPカンファレンス関西2015
Katsuhiro Ogawa
May 30, 2015
Tweet
Share
More Decks by Katsuhiro Ogawa
See All by Katsuhiro Ogawa
新規プロダクト開発に伴う既存マイクロサービスのリアーキテクティングとその後
fivestar
1
140
Goで学ぶSOLID原則
fivestar
0
300
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
890
Go in Corporate Solutions Engineering
fivestar
0
2.4k
いつまでPHP 5.x使ってるの
fivestar
1
1.9k
PHP のドキュメントを読んで PHP のことをもっと知ろう
fivestar
1
3.2k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
240
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.4k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8k
Other Decks in Technology
See All in Technology
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
6
6.3k
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
580
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
840
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
100
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
190
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
140
あなたの知らないクラフトビールの世界
miura55
0
120
Goで実践するBFP
hiroyaterui
1
120
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
150
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
120
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
9
840
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Designing for humans not robots
tammielis
250
25k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
350
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Code Review Best Practice
trishagee
65
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Adopting Sorbet at Scale
ufuk
74
9.2k
Building Applications with DynamoDB
mza
93
6.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
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