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
REST API#とは
Search
masibw
July 18, 2020
Technology
1
1.3k
REST API#とは
サマーインターン前にツヨツヨになっちゃおうの会で登壇した際の資料です
https://connpass.com/event/181419/
masibw
July 18, 2020
Tweet
Share
More Decks by masibw
See All by masibw
Docker入門
masibw
0
200
Other Decks in Technology
See All in Technology
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
380
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
1.8k
Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで
oracle4engineer
PRO
2
110
Cline、めっちゃ便利、お金が飛ぶ💸
iwamot
19
18k
どっちの API SHOW?SharePoint 開発における SharePoint REST API Microsoft Graph API の違い / Which API show? Differences between Microsoft Graph API and SharePoint REST API
karamem0
0
100
20250326_管理ツールの権限管理で改善したこと
sasata299
1
360
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
9
3.9k
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.9k
Why Go?
xpmatteo
0
130
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
140
PHPStan をできる限り高速化してみる
colopl
0
250
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.9k
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
4 Signs Your Business is Dying
shpigford
183
22k
KATA
mclloyd
29
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
A better future with KSS
kneath
238
17k
Docker and Python
trallard
44
3.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Transcript
3&45 "1*ͱ 8&#ΞʔΩςΫνϟελΠϧΛΔ
注意書き εϥΠυதʹग़Δݴ༿ ݱ࣮తͳ༻๏ʹଇ͍ͯ͠ΔͨΊ ݫີͳఆٛͱҧ͏ͱ͜Ζ͕͋Γ·͢
自己紹介 NBTJCX ·͠ UXJUUFS!NBTJCX CMPHIUUQTNFTJNBTJDPN (JUIVC NBTJCX ηΩϡΞใγεςϜݚڀࣨ "UDPEFS ࠷ߴ
৭ ීஈ+BWB (Pͱ͔Λॻ͍ͯ·͢ɻ
3&45 "1* ͬͯ͝ଘͰ͔͢
3&45 GVM "1*とは 3&45ʹ४ڌ͍ͯ͠Δ"1*ͷ͜ͱ
3&45とは 3&QSFTFOUBUJPOBM 4UBUF 5SBOTGFS 8FCͷΞʔΩςΫνϟελΠϧ
3&45とは ΫϥΠΞϯταʔόʔ ελΠϧ ʹ੍ΛՃ͑ͨͷ
੍⁞ʮΫϥΠΞϯταʔόʯ ΫϥΠΞϯτ͕ϦΫΤετΛૹΓɺαʔόʔ ϨεϙϯεΛฦ͢ํࣜ クライアント サーバー
੍⁞ʮΫϥΠΞϯταʔόʯͷϝϦοτ ίϯϙʔωϯτ ߏཁૉ ͕ಠཱ͢ΔͨΊ ΫϥΠΞϯτ ݺͼग़͠ଆ ͕ॊೈʹͳΔ クライアント サーバー 1$ɾεϚϗɾήʔϜػ
FUDʜ
੍ ʮεςʔτϨεʯ • αʔόʔ͕ΫϥΠΞϯτͷଓใΛอ࣋͠ͳ͍ • クライアントは毎回必要な全ての情報をサーバーに送る
੍ ʮεςʔτϨεʯͷϝϦοτ • ϦιʔεΛ͙͢ʹղ์Ͱ͖Δ • εέʔϥϏϦςΟ͕61͢Δ • ࢹʢௐࠪʣͷࡍͷՄࢹੑ͕61͢Δ৴པੑ61
制約❸「キャッシュ」 Ԡ ฦࣄ Λ͍ճ͢ αʔόʔͷෛՙΛݮΒͤΔ
੍ʮ౷ҰΠϯλϑΣʔεʯ ϝιου͕ݶఆ͞Ε͍ͯΔ (&5ɾ1045ͳͲ
੍ʮ౷ҰΠϯλϑΣʔεʯͷϝϦοτ • ΫϥΠΞϯτɾαʔόʔͷಠཱੑ͕ߴ·Δ • શମͷΞʔΩςΫνϟ͕γϯϓϧʹͳΔ
੍ʮ֊ԽγεςϜʯ • ϩʔυόϥϯα ෛՙࢄ • ϓϩΩγ ΞΫηε੍ݶ ͳͲΛઃஔ͍͢͠
੍ʮίʔυΦϯσϚϯυʯ +BWB4DSJQU ͳͲ ΛΫϥΠΞϯτ ʹμϯϩʔυ࣮ͯ͠ߦͰ͖Δ ΫϥΠΞϯτʹػೳΛՃͰ͖Δ
3&45ͷ੍ ΫϥΠΞϯταʔό εςʔτϨε Ωϟογϡ ౷ҰΠϯλϑΣʔε
֊ԽγεςϜ ίʔυΦϯσϚϯυ
݁ہͲΜͳ"1*Λ࣮͢Εྑ͍ʁ
63-ʹ͍ͭͯݟͯΈΑ͏
$PPM 63*TEPO`UDIBOHF dΫʔϧͳ63*มΘΒͳ͍ d 5JN#FSOFST-FF
⁞ʮ"1*ͩͱ໌ࣔ͠όʔδϣϯΛؚΊΔʯ • IUUQBQJFYBNQMFDPNVTFST • IUUQFYBNQMFDPNBQJVTFST "1*ͷόʔδϣϯ্͕͕ͬͯΫϥΠΞϯτଆͰબΔ
ʮ໊ࢺΛ༻ͯ͠ϦιʔεΛද͢ʯ • શମΛද͢߹ෳܗΛ͏ • IUUQBQJFYBNQMFDPNVTFST • ୯ҰͷϦιʔεΛද͢߹ • IUUQBQJFYBNQMFDPNVTFST\VTFSJE^
ʮҰ؏ੑΛ࣋ͨͤΔʯ • εϥογϡ Λ༻͍ͯ֊Λ ඌʹ͚ͭͳ͍ ද͢ • IUUQBQJFYBNQMFDPNVTFST\VTFSJE^ •
ϋΠϑϯΛ͍୯ޠΛͭͳ͛Δ ΞϯμʔείΞͰͳ͍ • IUUQBQJFYBNQMFDPNBENJOVTFST • খจࣈΛ༻͢Δ • ϑΝΠϧ֦ுࢠΛ༻͠ͳ͍
❹「$36%関数名を使わない」 μϝͳྫ • IUUQBQJFYBNQMFDPNVTFSTDSFBUF ৽ن࡞ • IUUQBQJFYBNQMFDPNVTFSTTIPX
औಘ • IUUQBQJFYBNQMFDPNVTFSTVQEBUF ߋ৽ • IUUQBQJFYBNQMFDPNVTFSTEFMFUF আ $36%ͱ<$SFBUF 3FBE 6QEBUF %FMFUF>ͷ͜ͱ
❹「$36%関数名を使わない」 • 1045IUUQBQJFYBNQMFDPNVTFST ৽ن࡞ • (&5IUUQBQJFYBNQMFDPNVTFST औಘ
• 165IUUQBQJFYBNQMFDPNVTFST ߋ৽ • %&-&5&IUUQBQJFYBNQMFDPNVTFST আ )551ϝιουΛ༻͍ͯಈ࡞Λࣔ͢
ʮϑΟϧλʔॲཧΫΤϦύϥϝʔλͰʯ • IUUQBQJFYBNQMFDPNVTFST SFHJPO64" 64"ͷΈදࣔ • IUUQBQJFYBNQMFDPNVTFST TPSUCJSUIEBUF
ੜͰιʔτ ϑΟϧλϦϯάɾιʔτͳͲ
·ͱΊ 3&45$PPMͳ63-ʹ͍ͭͯҙࣝͯ͠ αϚʔΠϯλʔϯʹࢀՃ͠·͠ΐ͏ʂ
ࢀߟࢿྉ • "SDIJUFDUVSBM4UZMFTBOE UIF%FTJHOPG/FUXPSLCBTFE4PGUXBSF"SDIJUFDUVSFT • IUUQTXXXJDTVDJFEVdGJFMEJOHQVCTEJTTFSUBUJPOUPQIUN 3PZ5IPNBT'JFMEJOH • 3&45"1*5VUPSJBM •
IUUQTSFTUGVMBQJOFU • ʮ8FCΛࢧ͑Δٕज़ʯ ࢁຊཅฏ ٕज़ධऀ ॳ൛ • $PPM63*TEPO`UDIBOHF • https://www.w3.org/Provider/Style/URI