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
misoobu
September 13, 2016
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーとは。(あとゲーム) / server
学生さん向け資料。
misoobu
September 13, 2016
More Decks by misoobu
See All by misoobu
論理削除と、そこでのElasticsearch活用 | 論理削除 Casual Talks #1 / soft_delete
misoobu
9
22k
平和なエンジニア生活を送りたい
misoobu
0
930
Other Decks in Technology
See All in Technology
SnowflakeCoCoでデータエンジニアリング!
foursue
0
110
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
230
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
850
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
300
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
390
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
230
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
100
PLaMo 3.0 Primeの構造化出力サポート
pfn
PRO
0
160
AI時代の強いチームの作り方
yuukiyo
23
13k
Escolhendo LLMs na Prática: Lições Reais em Busca Agêntica no Mercado Livre —TDC 2026 Floripa
jpbonson
0
120
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
400
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
150
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Are puppies a ranking factor?
jonoalderson
1
3.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.2k
Technical Leadership for Architectural Decision Making
baasie
3
450
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Paper Plane
katiecoart
PRO
2
52k
Embracing the Ebb and Flow
colly
88
5.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
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 ׂ Ωϟογϡ ͳͲͳͲ ڊେͳσʔλɺϩάͷཧ αʔόʔʹٻΊΒΕΔ͜ͱ
ޙͷӡ༻͕Γ͍͢͜ͱ ઃܭίʔυ͕͔Γ͍͢ɺ৮Γ͍͢ ϚελʔσʔλͷՃमਖ਼ͷ࡞ۀ͕؆୯ ϢʔβʔσʔλΛݟ͘͢ཧը໘ʹ දࣔ͠ɺϢʔβʔαϙʔτͷޮԽ αʔόʔʹٻΊΒΕΔ͜ͱ
αʔόʔσʔλͷΛ͞Βͬͱͨ͠ ΤϯδχΞϦϯάͷੈք͘ਂ͘ɺͦͯ͠໘ന͍ ͏ͪʹɺͦͦ͜͜ͷنͷαʔϏε͕͍ͭ͋͘Δ ৽͍͠ͷ૿͍͑ͯΔ ൺֱతͷ͋Δʮ͍͍ࣄʯͷػձಘ͍͢ => ܦݧΛஷΊ͍͢ڥͩͱࢥ͏ కΊ
͓·͚: ϝοηʔδ ͦͷҝʹ… ৫ͰΤϯδχΞͱͯ͠ࣄΛ͢ Δͱ͍͏͜ͱɺ༷ʑͳೳྗͷ૯ ྗઓɻ ͦͷதͷʮٕज़ྗʯΛຏ͘ͱ͍͏ ʹ͓͍ͯɺࢲ͕େͩͱࢥͬͨ ͜ͱΛհ͓ͯ͘͠ɻ
࣮ݱͤ͞Δ͜ͱ ࣗͷཧΛ࣋ͭ͜ͱɺ ͦ͜Λࢦཱ͔ͯͪ͠͏͜ͱ ͓·͚: ϝοηʔδ ͦͷҝʹ…
ਅࣅͯͭ͘͠Δ => ࣗͰߟ͑ͯͭ͘Δ ษڧΛ͢Δɺ͚ͭͮ͠Δؾ࣋ͪ ΞϯςφΛுΓɺʹΠϯσοΫεΛͭ͘Δ దͳϓϥΠυ ʮࣗͰΓΔʯͱʮཔΔʯͷόϥϯε ͍͠… ͓·͚: ϝοηʔδ