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
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
Search
Hiromi Hishida
March 07, 2024
Programming
5
1.1k
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
PHPerKaigi2024 day0前夜祭で発表
Hiromi Hishida
March 07, 2024
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
110
100%出しきれないのを許すスクラムチーム運営
77web
1
100
モデルとはなにか / what is model?
77web
6
2.3k
たとえば、唐揚げを揚げながらPHPコードを書く技術 #phpstudy
77web
1
310
ベテランのバグ調査の秘訣、こっそり教えちゃいます。
77web
22
9.1k
Symfony+Doctrine ORMで始める安全なモジュラモノリス
77web
2
3.8k
他人がはやく読めるコードを書く ために
77web
11
4.7k
すばやく実装するための戦略とテクニック2023年版 #prtimes_dev
77web
9
2.5k
Other Decks in Programming
See All in Programming
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.3k
Polars入門
daikikatsuragawa
1
100
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
260
Code Reviews
bkuhlmann
4
890
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
250
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
280
Elm 0.19.0 Changes
bkuhlmann
0
490
使ってみよう Azure AI Document Intelligence
kosmosebi
2
330
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
190
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
Featured
See All Featured
What the flash - Photography Introduction
edds
64
11k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Being A Developer After 40
akosma
57
580k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
How GitHub (no longer) Works
holman
304
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Transcript
UI.BSDI BU1)1FS,BJHJ CZ!XFC ʮϚΠΫϩαʔϏε͕΄͍͠ʂʯͱ ࢥͬͨͱ͖ʹຊʹඞཁͩͬͨͷ ʙͳͥਓڞ௨ج൫ͷເΛݟΔͷ͔ʙ
w 1)1FSྺ໊ݹࡏॅ w ʙϑϦʔϥϯε։ൃऀ w ࣗࣾαʔϏεاۀʹब৬ w స৬Λܦͯɺݱࡏ༧ҩྍςοΫ ͷϦϯέʔδͷΤϯδχΞ w
#UP#UP&༧ҩྍϓϩμΫτΛ࡞ͬ ͍ͯ·͢ w ຊ4ZNGPOZϢʔβʔձ /BHPZBQIQ XFCʢͳͳ͏͐Ϳʣ ঁੑͷ݈߁՝αϙʔτ '&.$-& ͔͔Γ͚ͭอ݈ࢣGPS-*/&
͜ͷτʔΫͷର w ϚΠΫϩαʔϏεྑͦ͞͏ͱࢥͬͯΔ1)1FS w ͏ͪͷγεςϜɺઈରϚΠΫϩαʔϏεʹ͖͢ʂͱࢥ͍ͬͯΔ1)1FS
IUUQTTQFBLFSEFDLDPNXFCQIQFSEFNPEFLJSVNBJLVSPTBCJTV 1)1FS,BJHJ
ϚΠΫϩαʔϏεͱʢ͓͞Β͍ʣ w ڠௐͯ͠ಈ࡞͢ΔখنͰࣗతͳαʔϏε w ຊମͱͳΔϝΠϯγεςϜͱ࿈ಈ͢Δ w िؒͰશମΛॻ͖ͤΔ͙Β͍খن w ಠཱͯ͠ϦϦʔεɾมߋͰ͖ɺٕज़ʹґଘ͠ͳ͍"1*Ͱͭͳ͕Δ
ϚΠΫϩαʔϏεͰԿ͕خ͍͔͠ʁʢ͓͞Β͍ʣ w ٕज़తҟ࣭ੑ w ճ෮ੑ w εέʔϦϯά w σϓϩΠ༰қੑ w
ަՄೳੑ ϝΠϯγεςϜ͕1)1͔ͩΒͬͯɺαʔϏε·Ͱ1)1͡Όͳ͍͍ͯ͘ োͷൣғ͕ݶఆͰ͖ΔɻͭͷαʔϏε͕མͪͯଞͷॲཧʹӨڹΛٴ΅͞ͳ͍ ۃʹෛՙͷߴ͍αʔϏε͚ͩߴੑೳͷαʔόʔΛར༻Ͱ͖Δɻॲཧ͖͕݅͢ ଟ͍αʔϏε͚ͩଟىಈͰ͖Δ શମͰͳͭ͘ͷαʔϏε͚ͩσϓϩΠͰ͖Δ ͭͷαʔϏε͚ͩதΛೖΕସ͑Δ͜ͱ͕Ͱ͖Δ
ϚΠΫϩαʔϏε͕΄͍͠ʂ
ͳΜͰʁ w ৽͍͜͠ͱͬͯΈ͍ͨ w ͳΜ͔ڧͦ͏ w ۜͷؙʹҧ͍ͳ͍ w ͜ΕΛωλʹͯ͠ొஃ͍ͨ͠
ͳΜͰʁ w ৽͍͜͠ͱͬͯΈ͍ͨ w ͳΜ͔ڧͦ͏ w ۜͷؙʹҧ͍ͳ͍ w ͜ΕΛωλʹͯ͠ొஃ͍ͨ͠
ͳΜͰʁ
"͞ΜෳͷγεςϜʹಉ͡Α͏ͳॲཧ͕͋Δ͔Β
"͞ΜෳͷγεςϜʹಉ͡Α͏ͳॲཧ͕͋Δ͔Β w ಉ͡ػೳ w ຊʹಉ͔͡ʁ w ܾࡁɾೝূ w ίϐϖͨ͘͠ͳ͍ w
όά͕ݟ͔ͭͬͨͱ͖ʹશγεςϜΛमਖ਼ͯ͠ճΔඞཁ͕͋Δ w ίϐϖઌͰͷΧελϜߟྀͨ͠मਖ਼ͷқ͕ߴ͍
"͞ΜෳͷγεςϜʹಉ͡Α͏ͳॲཧ͕͋Δ͔Β w ύοέʔδԽͰରॲՄೳ w ڞ௨෦ͷίʔυΛύοέʔδʹ֤ͯ͠ར༻ଆͷγεςϜ͔ΒDPNQPTFSSFRVJSF͢Δ w QBDLBHJTUʹެ։ͪ͠Ό͏ w QSJWBUFQBDLBHJTUʹ՝ۚͯࣗࣾ͠ઐ༻ͷQBDLBHJTUΛ͏ w
TBUJTΛӡ༻ͯࣗࣾ͠ઐ༻ͷΦϨΦϨQBDLBHJTUΛ͏ w SFRVJSF͢ΔଆͷDPNQPTFSKTPOͷSFQPTJUPSJFTઃఆʹWDTͱͯ͠(JU)VCϨϙδτϦ Λࢦఆ͢ΔʢҰ൪͓खܰʣ
ͳΜͰʁ
#͞Μར༻λΠϛϯάͷൟ͕ؓ͋ͬͯಛఆͷ࣌ظ͚ͩͨ͘͞Μॲཧ͠ͳ͍ͱ͍͚ͳ͍ ͔Β
#͞Μར༻λΠϛϯάͷൟ͕ؓ͋ͬͯಛఆͷ࣌ظ͚ͩͨ͘͞Μॲཧ͠ͳ͍ͱ͍͚ͳ͍ ͔Β w ݄ॳɾ݄ɾޒेͳͲϏδωε্ͷཧ༝Ͱಛఆ͚ͩγεςϜ͕ࠞࡶ͠ɺ ଞͷʹ΄ͱΜͲಈ͔ͳ͍͜ͱΑ͋͘Δ w యܕతʹձܭͷకΊ w ϚΠΫϩαʔϏεʹεέʔϦϯάՄೳͱ͍͏ಛ͕͋Δ ۃʹෛՙͷߴ͍αʔϏε͚ͩߴੑೳͷαʔόʔΛར༻Ͱ͖Δɻॲཧ͖͕݅͢
ଟ͍αʔϏε͚ͩଟىಈͰ͖Δ
#͞Μར༻λΠϛϯάͷൟ͕ؓ͋ͬͯಛఆͷ࣌ظ͚ͩͨ͘͞Μॲཧ͠ͳ͍ͱ͍͚ͳ͍ ͔Β w ϑϨʔϜϫʔΫͷδϣϒΩϡʔͰରॲՄೳ w δϣϒྔʹΑΓδϣϒϥϯφʔΛΦʔτεέʔϧͤ͞Δ w ͋Β͔͡Ί͕࣌Θ͔͍ͬͯΔͳΒಛఆ͚࣌ͩେྔىಈͰ͖Δ
ͳΜͰʁ
$͞Μಛఆͷॲཧ͚ͩ1)1Ҏ֎ͷݴޠΛ͍͍͔ͨΒ
$͞Μಛఆͷॲཧ͚ͩ1)1Ҏ֎ͷݴޠΛ͍͍͔ͨΒ w ඇಉظॲཧը૾ॲཧɺଞݴޠͷ1)1ΑΓศརͳػೳɾϥΠϒϥϦΛγε ςϜͷಛఆͷػೳ͚ͩͰ͏ w ϚΠΫϩαʔϏεʹҟ࣭ੑͱ͍͏ಛ͕͋Δ ϝΠϯγεςϜ͕1)1͔ͩΒͬͯɺαʔϏε·Ͱ1)1͡Όͳ͍͍ͯ͘
$͞Μಛఆͷॲཧ͚ͩ1)1Ҏ֎ͷݴޠΛ͍͍͔ͨΒ w FYFD TZNGPOZQSPDFTT1)1͔ΒଞͷݴޠͷॲཧΛݺͼग़͢ͷͰ࣮ݱ Մೳ w ଞݴޠͷϥΠϒϥϦ͕༗໊ͳػೳͰ1)1ʹΦʔϓϯιʔεͷϥΠϒϥϦ͕ ଘࡏ͍ͯ͠Εɺ1)1Ͱ࣮Մೳ
ͳΜͰʁ
%͞ΜෳγεςϜ͔Βڞ௨ͷσʔλϕʔε͕͍͍͔ͨΒ
%͞ΜෳγεςϜ͔Βڞ௨ͷσʔλϕʔε͕͍͍͔ͨΒ w ࣗࣾͷෳͷγεςϜʹڞ௨ͷ*%ͰϩάΠϯ͍ͤͨ͞ w ࣗࣾͷෳͷγεςϜͷܾࡁΛ߹ࢉͰߦ͑ΔΑ͏ʹ͍ͨ͠ w ࣗࣾͷෳͷγεςϜͷϙΠϯτΛ߹ࢉͰ͑ΔΑ͏ʹ͍ͨ͠
%͞ΜෳγεςϜ͔Βڞ௨ͷσʔλϕʔε͕͍͍͔ͨΒ w ϚΠΫϩαʔϏεԽΛݕ౼ͯ͠ྑ͍ w ͔ͯ͠͠ɿϚΠΫϩαʔϏεͰͳ͘ɺαϒγεςϜϓϥοτϑΥʔϜ w *%BBTࢹʹ
ϚΠΫϩαʔϏεΛקΊ͍ͨͷʁࢭΊ͍ͨͷʁ ✋
ϚΠΫϩαʔϏεͷσϝϦοτ w ϚΠΫϩαʔϏεͷ͚ͩσϓϩΠ͠ͳ͚ΕͳΒͳ͍ w ಠཱੑ w ϚΠΫϩαʔϏεͷ͚ͩϑϨʔϜϫʔΫݴޠͷΞοϓσʔτΛ͠ͳ͚Ε ͳΒͳ͍
ϚΠΫϩαʔϏε͕΄͍͠ʂ w ෳͷγεςϜʹಉ͡Α͏ͳॲཧ͕͋Δ͔Β w ར༻λΠϛϯάͷൟ͕ؓ͋ͬͯɺಛఆͷ࣌ظ͚ͩͨ͘͞Μॲཧ͠ͳ͍ͱ͍͚ ͳ͍͔Β w ಛఆͷॲཧ͚ͩ1)1Ҏ֎ͷݴޠΛ͍͍͔ͨΒ w ෳγεςϜ͔Βڞ௨ͷσʔλϕʔε͕͍͍͔ͨΒ
ϚΠΫϩαʔϏε͕΄͍͠ʂͱࢥͬͨͱ͖ʹຊʹඞཁͩͬͨͷ w ෳͷγεςϜʹಉ͡Α͏ͳॲཧ͕͋Δ͔Β w ύοέʔδԽ w ར༻λΠϛϯάͷൟ͕ؓ͋ͬͯɺಛఆͷ࣌ظ͚ͩͨ͘͞Μॲཧ͠ͳ͍ͱ͍͚ͳ͍͔Β w ϞϊϦεͷϑϨʔϜϫʔΫͷδϣϒΩϡʔ׆༻ɾεέʔϦϯά w
ಛఆͷॲཧ͚ͩ1)1Ҏ֎ͷݴޠΛ͍͍͔ͨΒ w FYFD TZNGPOZQSPDFTTɺ1)1ͷΦʔϓϯιʔεϥΠϒϥϦͷ׆༻ w ෳγεςϜ͔Βڞ௨ͷσʔλϕʔε͕͍͍͔ͨΒ w ϚΠΫϩαʔϏεͰͳ͘ϓϥοτϑΥʔϜɻ*%BBTࢹʹɻ
ϚΠΫϩαʔϏε͕΄͍͠ʂ w ෳͷγεςϜʹಉ͡Α͏ͳॲཧ͕͋Δ͔Β w ར༻λΠϛϯάͷൟ͕ؓ͋ͬͯɺಛఆͷ࣌ظ͚ͩͨ͘͞Μॲཧ͠ͳ͍ͱ͍͚ ͳ͍͔Β w ಛఆͷॲཧ͚ͩ1)1Ҏ֎ͷݴޠΛ͍͍͔ͨΒ w ෳγεςϜ͔Βڞ௨ͷσʔλϕʔε͕͍͍͔ͨΒ
"/%
ΞϓϦέʔγϣϯΛ࣋ଓతʹ։ൃՄೳʹ͢Δ͜ͱ͕Ұ൪େࣄ w ͯ͢ͷʮͳΜͰʁʯΛݕ౼ͯ͠ɺͦΕͰ·ͩϚΠΫϩαʔϏε͕ඞཁͳΒ Δ͠
None
ʲืूʳঁੑैۀһ͚݈߁αϙʔταʔϏεࠓݶఆແྉ 13 w '&.$-&͕ްੜ࿑ಇল࣮ূࣄۀʹ࠾͞Ε·ͨ͠ w ࢀՃاۀͷঁੑैۀһͷํʹ'&.$-&ͷ༷ʑͳػೳΛ࣮ ࡍʹͬͯΒ͍ɺޮՌΛݕূ w ௨ৗ༗ྉͷαʔϏε͕ɺ࣮ূࣄۀ൛ʢࠓݶఆʣΛ͝ར ༻ͷ߹✨ແྉ✨
w ࢀՃاۀืूதʢ݄·Ͱडதʣ w ৄࡉࢲʢ!XFCʣʹ9ͷ%.ΛૹΔ͔ɺ1)1FS,BJHJձ Ͱֻ͓͚͍ͩ͘͞🙏 આ໌ձਃࠐΈϖʔδ
5IBOLZPV