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
サーバーとは。(あとゲーム) / server
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
misoobu
September 13, 2016
Technology
94
0
Share
サーバーとは。(あとゲーム) / server
学生さん向け資料。
misoobu
September 13, 2016
More Decks by misoobu
See All by misoobu
論理削除と、そこでのElasticsearch活用 | 論理削除 Casual Talks #1 / soft_delete
misoobu
9
22k
平和なエンジニア生活を送りたい
misoobu
0
910
Other Decks in Technology
See All in Technology
Claude Code / Codex / Kiro に AWS 権限を 渡すとき、何を設計すべきか
k_adachi_01
5
1.7k
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
210
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
130
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
140
Loadbalancing exporter internals
ymotongpoo
1
100
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
200
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
160
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
250
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
220
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
170
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
190
論文紹介:Pixal3D (SIGGRAPH 2026)
tenten0727
0
230
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
620
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
560
BBQ
matthewcrist
89
10k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
Embracing the Ebb and Flow
colly
88
5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
Mind Mapping
helmedeiros
PRO
1
190
Abbi's Birthday
coloredviolet
2
7.6k
HDC tutorial
michielstock
2
660
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Building Applications with DynamoDB
mza
96
7k
Transcript
αʔόʔͱɻ ͏ͪʹ͓͚Δαʔόʔͱɻ 2016/09/07 ֶੜ͚Πϕϯτ ฤू൛
αʔόʔͱ ήʔϜʹ͓͚Δαʔόʔͱ ༷ʑͳσʔλʹ͍ͭͯ ήʔϜͰͲͷΑ͏ͳ௨৴͕͋Δͷ͔ αʔόʔʹٻΊΒΕΔ͜ͱ ͢͜ͱ
αʔόʔͱɺ ΫϥΠΞϯτ ͷཁٻʹର͠ɺ αʔϏεΛఏ ڙ͢Δͷɻ αʔόʔ
༷ʑͳαʔόʔ ͳͲͳͲ… ݕࡧͷαʔόʔ ϑΝΠϧͷαʔόʔ ϝʔϧͷαʔόʔ ϞόΠϧήʔϜͷαʔόʔ Web αʔϏεͷαʔόʔ
Web αʔϏεͱήʔϜʹ͓͚Δαʔόʔ ΫϥΠΞϯτΞϓϦ͔Βͷ ϦΫΤετʹର͠ॲཧΛͯ͠ JSON Ξʔτૉࡐɺ εΫϦϓτͳͲͷ ඞཁͳίϯςϯπΛฦ͢ ϒϥβ͔Βͷ ϦΫΤετʹର͠ॲཧΛͯ͠
HTML/JSON Ξʔτૉࡐɺ εΫϦϓτͳͲͷ ඞཁͳίϯςϯπΛฦ͢ Web αʔϏε ϞόΠϧωΠςΟϒήʔϜ
Web αʔϏεͱήʔϜʹ͓͚Δαʔόʔ ͍͍ͩͨಉ͡ ΫϥΠΞϯτΞϓϦ͔Βͷ ϦΫΤετʹର͠ॲཧΛͯ͠ JSON Ξʔτૉࡐɺ εΫϦϓτͳͲͷ ඞཁͳίϯςϯπΛฦ͢ ϒϥβ͔Βͷ
ϦΫΤετʹର͠ॲཧΛͯ͠ HTML/JSON Ξʔτૉࡐɺ εΫϦϓτͳͲͷ ඞཁͳίϯςϯπΛฦ͢ Web αʔϏε ϞόΠϧωΠςΟϒήʔϜ ͔͜͜Βɺͬͪ͜ˢΛྫʹΛ͢Δ
ʹݟ͑Δ෦ɺେମΫϥΠΞϯτ ΞϓϦʹΑΔ࣮ αʔόʔΛඞཁͱ͠ͳ͍ήʔϜଟ͍ αʔόʔ͕͋ΔͱԿ͕Ͱ͖Δͷ͔ʁ ʢαʔόʔԿΛ͢Δͷ͔ʁʣ ήʔϜʹ͓͚Δαʔόʔ
ԕ͘ͷ୭͔ͱܨ͕Δ ్தͰήʔϜ༰ͷΞοϓσʔτɺ੍ޚ ΞΧϯτཧʹΑΔɺෳͷڥͰͷ ϓϨΠ ӡӦଆͱͯ͠ɺϢʔβʔͷߦಈΛੳ αʔόʔ͕͋ΔͱԿ͕Ͱ͖Δͷ͔
ԕ͘ͷ୭͔ͱܨ͕Δ ్தͰήʔϜ༰ͷΞοϓσʔτɺ੍ޚ ΞΧϯτཧʹΑΔɺෳͷڥͰͷ ϓϨΠ ӡӦଆͱͯ͠ɺϢʔβʔͷߦಈΛੳ αʔόʔ͕͋ΔͱԿ͕Ͱ͖Δͷ͔ ରઓɺϥϯΩϯάɺڠྗ
ԕ͘ͷ୭͔ͱܨ͕Δ ్தͰήʔϜ༰ͷΞοϓσʔτɺ੍ޚ ΞΧϯτཧʹΑΔɺෳͷڥͰͷ ϓϨΠ ӡӦଆͱͯ͠ɺϢʔβʔͷߦಈΛੳ αʔόʔ͕͋ΔͱԿ͕Ͱ͖Δͷ͔ ৽͍͠ΠϕϯτͷՃ
ԕ͘ͷ୭͔ͱܨ͕Δ ్தͰήʔϜ༰ͷΞοϓσʔτɺ੍ޚ ΞΧϯτཧʹΑΔɺෳͷڥͰͷ ϓϨΠ ӡӦଆͱͯ͠ɺϢʔβʔͷߦಈΛੳ αʔόʔ͕͋ΔͱԿ͕Ͱ͖Δͷ͔ Λͳͯ҆͘͠৺
ԕ͘ͷ୭͔ͱܨ͕Δ ్தͰήʔϜ༰ͷΞοϓσʔτɺ੍ޚ ΞΧϯτཧʹΑΔɺෳͷڥͰͷ ϓϨΠ ӡӦଆͱͯ͠ɺϢʔβʔͷߦಈΛੳ αʔόʔ͕͋ΔͱԿ͕Ͱ͖Δͷ͔ ੳɾվળɺϢʔβʔαϙʔτ
σʔλͷཧɺαʔόʔͷେࣄ ͳࣄͷͻͱͭɻ αʔόʔ͕͋ΔͱԿ͕Ͱ͖Δͷ͔ σʔλͰɺ৭ʑͳ͜ͱ͕Ͱ͖Δɻ
Ϛελʔσʔλ Ϣʔβʔσʔλ ͪΐͬͱผ͔࣠ΒɺΞʔτؔ࿈σʔλ ʢը૾, 3D ૉࡐ…ʣ ༷ʑͳσʔλ ͦΕͧΕɺѻ͍͕ҟͳΔ
ӡӦଆ͕ఆٛ͢Δɺجૅใͱͳ Δσʔλ ݻఆతͳσʔλ ྫ: ͜ΜͳΩϟϥ͕͍ͯɺ͜Μͳύ ϥϝʔλʔͰ… ༷ʑͳσʔλ Ϛελʔσʔλ
ϢʔβʔͷߦಈʹΑͬͯͰ͖Δɺग़དྷࣄΛ ه͢Δσʔλ ྲྀಈతͳσʔλ ྫ: Ϣʔβʔ͕ॴ͍࣋ͯ͠Δɺͱ͋ΔΞΠ ςϜͷݸ ༰ྔ͕େ͖͘ͳΓ͍͢ ༷ʑͳσʔλ Ϣʔβʔσʔλ
αʔόʔ ଞʹɺϦΞϧλΠϜαʔόʔͳͲɻ 8FC"QQ 8FC"QQ 8FC"QQ 3%# 8FC"QQ ,74 -PBE #BMBODFS
-PBE #BMBODFS "TTFUT "TTFU 8FC"QQ #BUDI Web API ϢʔβʔσʔλͳͲ Ϛελʔσʔλ ΞʔτσʔλͳͲ => ͜͜Ͱ·ͱΊͯ ϦιʔεͱݺͿ $%/ 8FC"QQ
1. ήʔϜىಈ •ϩάΠϯ POST /session •Ϧιʔεʹߋ৽͕͋Ε DL 2. ϗʔϜը໘ •͓ΒͤΛऔಘͯ͠දࣔ
GET /notices 3. ΫΤετΛબΜͰ։࢝ •ϦιʔεͷϚελʔσʔλ͔ΒɺΫΤετͷҰཡΛಘΔ •։࢝ POST /user_quests 4. ΫΤετͷϓϨΠ݁ՌΛૹͬͯऴྃ PUT /user_quests/1234/finish •༩͞Εͨใुͷσʔλฦͬͯ͘Δɺ݁Ռදࣔ ࣮ࡍͷήʔϜϓϨΠͰͷ௨৴ྫ
ଟͷ Web API ͕Ͱ͖Δ API ͔Γ͘͢ͳͯ͘ͳΒͳ͍ HTTP ϝιου, ύε… ܗࣜͷ౷Ұ
=> RESTful API API ΠϯλʔϑΣΠεͷ౷Ұ
ن͕େ͖͘ͳΔͱɺαʔόʔɾΫϥΠΞϯτͰ࣮ऀ͕ มΘΔ͜ͱ͕ଟ͍ REST ʹͬͯڞ༗ࣄ߲ґવଟ͍ ύϥϝʔλʔ, Ϩεϙϯεͷܗࣜ… ϓϩάϥϚϒϧͳυΩϡϝϯτԽ, ڞ௨Խͷҝʹɺ JSON Hyper-Schema
Open API API ͷόʔδϣχϯά αʔόʔͱΫϥΠΞϯτͰଉΛ߹ΘͤΔ
ৗʹෆਖ਼νʔτʹૂΘΕΔ ྫ͑ɺΫϥΠΞϯτͰͷॲ ཧ݁ՌΛվมͯ͠ɺͦΕΛαʔ όʔʹ͛ͤ͞Δ αʔόʔͱΫϥΠΞϯτͷॲཧͷڥք
αʔόʔɺجຊతʹΫϥΠΞϯτ͔ΒͷϦΫΤετ৴༻ͯ͠ ͳΒͳ͍ ௨৴ͷ҉߸Խ ৗʹɺ͓͔͘͠ͳ͍͔֬ೝ͢Δ ॏཁͳॲཧඞͣαʔόʔͰ࣮ߦ ྫ: Ψνϟͷநબ ݕ͘͠ʹ͍͘ͷͰɺ໌Β͔ʹո͚͠ΕӡӦʹ௨ => BAN
αʔόʔͱΫϥΠΞϯτͷॲཧͷڥք
ʮಈ͘ʯ͚ͩͰͳ͘ʮޙͷ͜ͱߟ ্ྀͨ͠Ͱಈ͘ʯ ͱΓ͋͑ͣಈ͚ͩ͘ͳΒ͙͕ͩ͢… ଟ͘ͷϢʔβʔΛࢧ͑ΒΕΔ͜ͱ ޙͷӡ༻͕Γ͍͢͜ͱ αʔόʔʹٻΊΒΕΔ͜ͱ
ଟ͘ͷϢʔβʔΛࢧ͑ΒΕΔ͜ͱ ෛՙରࡦ ΫΤϦվળ DB ׂ Ωϟογϡ ͳͲͳͲ ڊେͳσʔλɺϩάͷཧ αʔόʔʹٻΊΒΕΔ͜ͱ
ޙͷӡ༻͕Γ͍͢͜ͱ ઃܭίʔυ͕͔Γ͍͢ɺ৮Γ͍͢ ϚελʔσʔλͷՃमਖ਼ͷ࡞ۀ͕؆୯ ϢʔβʔσʔλΛݟ͘͢ཧը໘ʹ දࣔ͠ɺϢʔβʔαϙʔτͷޮԽ αʔόʔʹٻΊΒΕΔ͜ͱ
αʔόʔσʔλͷΛ͞Βͬͱͨ͠ ΤϯδχΞϦϯάͷੈք͘ਂ͘ɺͦͯ͠໘ന͍ ͏ͪʹɺͦͦ͜͜ͷنͷαʔϏε͕͍ͭ͋͘Δ ৽͍͠ͷ૿͍͑ͯΔ ൺֱతͷ͋Δʮ͍͍ࣄʯͷػձಘ͍͢ => ܦݧΛஷΊ͍͢ڥͩͱࢥ͏ కΊ
͓·͚: ϝοηʔδ ͦͷҝʹ… ৫ͰΤϯδχΞͱͯ͠ࣄΛ͢ Δͱ͍͏͜ͱɺ༷ʑͳೳྗͷ૯ ྗઓɻ ͦͷதͷʮٕज़ྗʯΛຏ͘ͱ͍͏ ʹ͓͍ͯɺࢲ͕େͩͱࢥͬͨ ͜ͱΛհ͓ͯ͘͠ɻ
࣮ݱͤ͞Δ͜ͱ ࣗͷཧΛ࣋ͭ͜ͱɺ ͦ͜Λࢦཱ͔ͯͪ͠͏͜ͱ ͓·͚: ϝοηʔδ ͦͷҝʹ…
ਅࣅͯͭ͘͠Δ => ࣗͰߟ͑ͯͭ͘Δ ษڧΛ͢Δɺ͚ͭͮ͠Δؾ࣋ͪ ΞϯςφΛுΓɺʹΠϯσοΫεΛͭ͘Δ దͳϓϥΠυ ʮࣗͰΓΔʯͱʮཔΔʯͷόϥϯε ͍͠… ͓·͚: ϝοηʔδ