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
kaidouji85
April 20, 2022
Technology
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバレスでネット対戦を作った話
kaidouji85
April 20, 2022
More Decks by kaidouji85
See All by kaidouji85
AbortControllerでPromiseをキャンセルする
kaidouji85
0
44
一発芸!!なんちゃってローカライズ
kaidouji85
0
110
AWSだけでネット対戦できるブラウザゲームを作った話
kaidouji85
0
92
GitHub CopilotでJavaScript開発効率を爆上げする
kaidouji85
0
130
Serverless + Fargate構成で継続的デリバリーの速度を劇的に改善した話
kaidouji85
0
1k
サーバーレスアーキテクチャこそ"ヘキサゴナルアーキテクチャ"
kaidouji85
0
120
サーバーレスでターンベース制のネット対戦ゲームを作った話
kaidouji85
0
670
CDKで構築したFargateのデプロイ時間を改善した話
kaidouji85
2
600
ブラウザゲームで視聴者参加型のゲーム配信
kaidouji85
0
400
Other Decks in Technology
See All in Technology
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
210
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.7k
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.3k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
220
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.5k
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.3k
Genie Codeハンズオン基礎編
taka_aki
1
120
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
120
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
580
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.3k
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
140
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
790
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
280
Crafting Experiences
bethany
1
250
What's in a price? How to price your products and services
michaelherold
247
13k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
From π to Pie charts
rasagy
0
280
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
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͕࣮ʹ͓͢͢Ί
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠