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
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 ...
Search
Hiromi Hishida
March 07, 2024
Programming
5
1.8k
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
PHPerKaigi2024 day0前夜祭で発表
Hiromi Hishida
March 07, 2024
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
980
Beyond ORM
77web
11
1.8k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
8
8.3k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
210
すばやく実装するための戦略とテクニック2024 / speed is power! 2024 #techramen24conf #shoyu
77web
9
4.7k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
940
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
310
100%出しきれないのを許すスクラムチーム運営
77web
1
340
モデルとはなにか / what is model?
77web
7
3.2k
Other Decks in Programming
See All in Programming
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.5k
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
4
770
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
170
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
420
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
220
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
6
3k
AHC 044 混合整数計画ソルバー解法
kiri8128
0
290
PsySHから紐解くREPLの仕組み
muno92
PRO
1
510
本当だってば!俺もTRICK 2022に入賞してたんだってば!
jinroq
0
200
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4k
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
370
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
310
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Become a Pro
speakerdeck
PRO
27
5.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
It's Worth the Effort
3n
184
28k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
GraphQLとの向き合い方2022年版
quramy
45
14k
Documentation Writing (for coders)
carmenintech
69
4.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.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