Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サーバレスでネット対戦を作った話
Search
kaidouji85
April 20, 2022
Technology
0
590
サーバレスでネット対戦を作った話
kaidouji85
April 20, 2022
Tweet
Share
More Decks by kaidouji85
See All by kaidouji85
AbortControllerでPromiseをキャンセルする
kaidouji85
0
9
一発芸!!なんちゃってローカライズ
kaidouji85
0
77
AWSだけでネット対戦できるブラウザゲームを作った話
kaidouji85
0
67
GitHub CopilotでJavaScript開発効率を爆上げする
kaidouji85
0
110
Serverless + Fargate構成で継続的デリバリーの速度を劇的に改善した話
kaidouji85
0
940
サーバーレスアーキテクチャこそ"ヘキサゴナルアーキテクチャ"
kaidouji85
0
110
サーバーレスでターンベース制のネット対戦ゲームを作った話
kaidouji85
0
630
CDKで構築したFargateのデプロイ時間を改善した話
kaidouji85
2
550
ブラウザゲームで視聴者参加型のゲーム配信
kaidouji85
0
360
Other Decks in Technology
See All in Technology
手動から自動へ、そしてその先へ
moritamasami
0
290
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.2k
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
270
研究開発×プロダクトマネジメントへの挑戦 / ly_mlpm_meetup
sansan_randd
0
100
Overture Maps Foundationの3年を振り返る
moritoru
0
160
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
120
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
480
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
600
LT登壇を続けたらポッドキャストに呼ばれた話
yamatai1212
0
100
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
750
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
400
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
820
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Code Reviewing Like a Champion
maltzj
527
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Practical Orchestrator
shlominoach
190
11k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Docker and Python
trallard
47
3.7k
Transcript
αʔόϨεͰωοτରઓΛ࡞ͬͨ ਫ 18"/JHIUWPMʙϒϥβήʔϜͷੈքʙ ༎հ
ࣗݾհ ɹ༎հ ϓϩάϥϚʔ +4େ͖ झຯͰωοτରઓήʔϜ ࡞ͬͯ·͢
ΞδΣϯμ ࡞ͬͨήʔϜͷհ ωοτରઓͷجຊతͳߟ͑ํ ϞϊϦγοΫήʔϜαʔό ઐ༻ήʔϜαʔό
αʔόϨεήʔϜαʔό ·ͱΊ
ΞδΣϯμ ࡞ͬͨήʔϜͷհ ωοτରઓͷجຊతͳߟ͑ํ ϞϊϦγοΫήʔϜαʔό ઐ༻ήʔϜαʔό
αʔόϨεήʔϜαʔό ·ͱΊ
(ϒϨ# ݕࡧ
IUUQTZPVUVCFQ&T5(C[U'7
ΞδΣϯμ ࡞ͬͨήʔϜͷհ ωοτରઓͷجຊతͳߟ͑ํ ϞϊϦγοΫήʔϜαʔό ઐ༻ήʔϜαʔό
αʔόϨεήʔϜαʔό ·ͱΊ
ϓϨΠϠʔ" ϓϨΠϠʔ# ήʔϜ
ϓϨΠϠʔ" ίϚϯυ" ϓϨΠϠʔ# ίϚϯυ# ήʔϜ
ήʔϜ ϓϨΠϠʔ" ίϚϯυ" ϓϨΠϠʔ# ίϚϯυ# ίϚϯυ͕ଗͬͨΒ ήʔϜʹૹ৴
ήʔϜ ϓϨΠϠʔ" ίϚϯυ" ϓϨΠϠʔ# ίϚϯυ# ήʔϜΛਐΊΔ ίϚϯυ͕ଗͬͨΒ ήʔϜʹૹ৴
ήʔϜ ήʔϜ݁Ռ ϓϨΠϠʔ" ίϚϯυ" ϓϨΠϠʔ# ίϚϯυ# ήʔϜΛਐΊΔ ίϚϯυ͕ଗͬͨΒ ήʔϜʹૹ৴
ήʔϜ ήʔϜ݁Ռ ϓϨΠϠʔ" ίϚϯυ" ϓϨΠϠʔ# ίϚϯυ# ήʔϜΛਐΊΔ ίϚϯυ͕ଗͬͨΒ ήʔϜʹૹ৴ ৴
ΞδΣϯμ ࡞ͬͨήʔϜͷհ ωοτରઓͷجຊతͳߟ͑ํ ϞϊϦγοΫήʔϜαʔό ઐ༻ήʔϜαʔό
αʔόϨεήʔϜαʔό ·ͱΊ
ม ήʔϜϩδοΫ ήʔϜαʔό
ม ήʔϜϩδοΫ ήʔϜαʔό ίϚϯυૹ৴
ม ήʔϜϩδοΫ ήʔϜαʔό ίϚϯυૹ৴ ίϚϯυଗ͔ͬͨ νΣοΫ
ม ήʔϜϩδοΫ ήʔϜαʔό ίϚϯυૹ৴ ίϚϯυଗ͔ͬͨ νΣοΫ ίϚϯυૹ৴
ม ήʔϜϩδοΫ ήʔϜαʔό ίϚϯυૹ৴ ίϚϯυଗ͔ͬͨ νΣοΫ ճ ίϚϯυૹ৴
ม ήʔϜϩδοΫ ήʔϜαʔό ίϚϯυૹ৴ ίϚϯυଗ͔ͬͨ νΣοΫ ճ ίϚϯυૹ৴ ήʔϜΛਐΊΔ
ม ήʔϜϩδοΫ ίϚϯυૹ৴ ίϚϯυଗ͔ͬͨ νΣοΫ ճ ήʔϜΛਐΊΔ ݁Ռ৴ ήʔϜαʔό ίϚϯυૹ৴
ϞϊϦγοΫήʔϜαʔόͱ ͷαʔόͰ͍݁ͯ͠ΔήʔϜαʔό Ͱ͍݁ͯ͠ΔͷͰɺ࣮͕γϯϓϧɺ߹ੑऔΓ͍͢ɺ ग़Δͱ͍͍͜ͱਚ͘͠ ͨͩ͠ɺεέʔϧΞτͰ͖ͳ͍σϝϦοτ͕͋Δ
ΞδΣϯμ ࡞ͬͨήʔϜͷհ ωοτରઓͷجຊతͳߟ͑ํ ϞϊϦγοΫήʔϜαʔό ઐ༻ήʔϜαʔό
αʔόϨεήʔϜαʔό ·ͱΊ
ϞϊϦγοΫ ήʔϜαʔό ৼΓ͚ αʔό ϞϊϦγοΫ ήʔϜαʔό ϞϊϦγοΫ ήʔϜαʔό ʜ
ϞϊϦγοΫ ήʔϜαʔό ৼΓ͚ αʔό ϞϊϦγοΫ ήʔϜαʔό ϞϊϦγοΫ ήʔϜαʔό ʜ ήʔϜ։࢝
ϞϊϦγοΫ ήʔϜαʔό ৼΓ͚ αʔό ήʔϜ։࢝ ϞϊϦγοΫ ήʔϜαʔό ϞϊϦγοΫ ήʔϜαʔό ʜ
ෛՙঢ়گΛνΣοΫ
ϞϊϦγοΫ ήʔϜαʔό ৼΓ͚ αʔό ήʔϜ։࢝ ϞϊϦγοΫ ήʔϜαʔό ϞϊϦγοΫ ήʔϜαʔό ʜ
ෛՙঢ়گΛνΣοΫ ଓઌࠂ
ϞϊϦγοΫ ήʔϜαʔό ৼΓ͚ αʔό ήʔϜ։࢝ ϞϊϦγοΫ ήʔϜαʔό ϞϊϦγοΫ ήʔϜαʔό ʜ
ෛՙঢ়گΛνΣοΫ ଓઌࠂ Ҏ߱͜͜ʹଓͯ͠ ήʔϜϓϨΠ
ઐ༻ήʔϜαʔόͱ ϞϊϦγοΫͳήʔϜαʔόΛଟ༻ҙͯ͠ෛՙࢄ͢ΔΈ EFEJDBUFEHBNFTFSWFSͰάάΔͱจݙ͕ࢁώοτ͢Δ ϞϊϦγοΫήʔϜαʔόͷྲྀ༻͕ՄೳͰɺɺ߹ੑɺεέʔϧ ͱʹߴੑೳͳ࠷ڧͷήʔϜαʔό ͨͩ͠ɺෑډ͕ͷ͘͢͝ߴ͘ɺ(ϒϨ#Ͱ࠾༻Λஅ೦ͨ͠ "84(BNF-JGUɺ($1(BNF4FSWFS͕͜ͷλΠϓ
"84(BNF-JGU "84͕ఏڙ͢Δઐ༻ήʔϜαʔό ΞΫςΟϒϢʔβʹର͢Δ՝ۚͳͷͰɺ͓ࡒʹ༏͍͠ 8FCTPDLFU༻ͷαϯϓϧ͕ͳͯ͘ɺϒϥβήʔϜͰ͏ͷ͍͠ ͨͩ6OJUZͷαϯϓϧଟ͍ͷͰɺ6OJUZ͍ͳΒҰߟͷ༧͕͋Δ
($1(BNF4FSWFS ($1͕ఏڙ͢Δઐ༻ήʔϜαʔό LTΛͬͯΫϥελʔΛΜͩ͜ͱ͕͋ΕɺԿͱ͔͍͜ͳͤΔ ͨͩɺΠϯελϯεͷྉۚͱׂͯߴ ࣌Ͱɺ࠷Ͱڥɺϲ݄ɺສԁҎ্͔͔Δ ˢݸਓ։ൃͩͱ௧͍͚ͲɺۀͰ͏ͳΒΞϦ͔
ΞδΣϯμ ࡞ͬͨήʔϜͷհ ωοτରઓͷجຊతͳߟ͑ํ ϞϊϦγοΫήʔϜαʔό ઐ༻ήʔϜαʔό
αʔόϨεήʔϜαʔό ·ͱΊ
ࢄ%# ήʔϜϩδοΫ 'BBT "1*(BUFXBZ
ࢄ%# ήʔϜϩδοΫ 'BBT "1*(BUFXBZ ίϚϯυૹ৴
ࢄ%# ήʔϜϩδοΫ 'BBT "1*(BUFXBZ ίϚϯυૹ৴ ίϚϯυૹ৴
ࢄ%# ήʔϜϩδοΫ 'BBT "1*(BUFXBZ ίϚϯυૹ৴ ίϚϯυૹ৴ ίϚϯυ͕ ଗ͔ͬͨ֬ೝ
ࢄ%# ήʔϜϩδοΫ 'BBT "1*(BUFXBZ ίϚϯυૹ৴ ίϚϯυૹ৴ ίϚϯυ͕ ଗ͔ͬͨ֬ೝ ήʔϜΛ ਐΊΔ
ࢄ%# ήʔϜϩδοΫ 'BBT "1*(BUFXBZ ίϚϯυૹ৴ ίϚϯυ͕ ଗ͔ͬͨ֬ೝ ήʔϜΛ ਐΊΔ ίϚϯυૹ৴
݁Ռ৴
αʔόϨεήʔϜαʔόͱ αʔόϨεٕज़ΛΈ߹Θͤͯߏஙͨ͠ήʔϜαʔό ֎͔ΒݟͨΒͷαʔό͕ͩɺήʔϜϩδοΫɺ%#͕ͦΕͧΕࢄ ߏʹͳ͍ͬͯΔ ύϑΥʔϚϯεߴ͘ͳ͍͕ɺεέʔϦϯάੑೳ͕ߴ͘ɺྉ͍ۚ҆ (ϒϨ#Ͱରઓαʔόͷٻֹແྉ શମͩͱຊ൪ɺςετͷڥͰ݄ԁલޙ (ϒϨ#Ͱ"84
4FSWFSMFTT'SBNFXPSLͰ࣮ͨ͠
4FSWFSMFTT'SBNFXPSL OPEFKTͰαʔόϨεڥ͕؆୯ʹߏஙͰ͖ΔϑϨʔϜϫʔΫ FYQSFTTΛͬͨ͜ͱਓͳΒɺ͢ΜͳΓ͑Δͱࢥ͏ ใྔɺϓϥάΠϯଟͯ͘ɺΊͪΌͪ͘Όศར IUUQTXXXTFSWFSMFTTDPN
%ZOBNP%#ʹ͍ͭͯ (ϒϨ#Ͱࢄ%#ʹ%ZOBNP%#Λ࠾༻ %ZOBNP%#$"1ఆཧͰ͍͏ͱ͜Ζͷɺ$ Ұ؏ੑ ͕ۤख ˢ݁Ռ߹ੑɺ࠷େΞΠςϜ·ͰͷτϥϯβΫγϣϯ
݁Ռ߹ੑ ࢄ%#શͯʹ࠷৽σʔλΛॻ͖ࠐΉ͜ͱอূ͞ΕΔ͕ɺ ৗʹ࠷৽σʔλ͕औಘͰ͖Δ͔อূ͞Εͳ͍Έ %ZOBNP%#Ͱ՝ۚ͢Εɺ࠷৽σʔλऔಘͰ͖Δ ˢʮڧྗͳ߹ੑͷ͋ΔಡΈࠐΈʯ ͨͩ͠ɺ݁Ռ߹ੑʹൺ͕ͯ͘ͳΔ͜ͱ͕͋Γɺ Մ༻ੑԼ͕Δ
"84ͷαʔόۦಈαʔόϨε "84Ͱαʔόଆ͔ΒೳಈతʹԿ͔͢Δํ๏ҎԼͷ௨Γ DSPOͰఆظతʹ"84-BNCEBΛ࣮ߦ "844UFQ'VODUJPOTͰΑΓִ͍ؒͰ"84-BNCBΛ࣮ߦ DSPO࠷খͰִؒͰ͔࣮͠ߦͰ͖ͣɺήʔϜʹෆ͖ 4UFQ'VODUJPOTѱ͘ͳ͍͕ɺήʔϜͩͱ"84-BNCEBͷৗ࣌ىಈ ʹۙ͘ͳΔͷͰྉۚతʹݫ͍͠
ղܾࡦ (ϒϨ#Ͱදऀ໊͕ఆظతʹσʔλνΣοΫΛ͢Δํ๏Λ࠾༻ͨ͠ ˢ"84ެࣜϫʔΫγϣοϓͰ࠾༻͍ͯͨ͠ํࣜ IUUQTDBUBMPHVTFBTUQSPEXPSLTIPQTBXTXPSLTIPQT GDDCBEFCGEEDDDFO64 ૬खͷίϚϯυೖྗͪͷ͚࣌ͩϙʔϦϯά͢Ε͍͍ͷͰɺ ޮ͕͍͍㲈ྉ͕͍ۚ҆
ΞδΣϯμ ࡞ͬͨήʔϜͷհ ωοτରઓͷجຊతͳߟ͑ํ ϞϊϦγοΫήʔϜαʔό ઐ༻ήʔϜαʔό
αʔόϨεήʔϜαʔό ·ͱΊ
·ͱΊ ϞϊγϦοΫήʔϜαʔόख͕ܰͩɺεέʔϧʹ͋Γ ઐ༻ήʔϜαʔόεέʔϧՄೳͰύϑΥʔϚϯεྑ͍͕ɺ ෑډ͕ߴ͍ αʔόϨεήʔϜαʔόύϑΥʔϚϯε͍͕ɺ ྉۚͰεέʔϧՄೳͳڥͰ͋Δ 4FSWFSMFTT'SBNFXPSL͕࣮ʹ͓͢͢Ί
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠