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
Hypermedia Affordance
Search
Akihito Koriyama
July 30, 2017
Technology
5
490
Hypermedia Affordance
Hypermedia Affordance with BEAR.Sunday
Akihito Koriyama
July 30, 2017
Tweet
Share
More Decks by Akihito Koriyama
See All by Akihito Koriyama
AI Centric
koriym
0
270
app-state-diagram
koriym
0
50
OOP, Double Dispatch and Visitor Pattern
koriym
2
120
BEAR.Sunday 2014-2024
koriym
0
62
イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)
koriym
4
7.6k
Unconf: RWA読書会
koriym
0
550
REST 6+4の制約
koriym
2
2.7k
RESTful Web API 読書会 #1
koriym
3
290
RESTの力 / The Power of REST
koriym
10
7.7k
Other Decks in Technology
See All in Technology
Restarting_SRE_Road_to_SRENext_.pdf
_awache
0
160
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
570
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
360
「ラベルにとらわれない」エンジニアでいること/Be an engineer beyond labels
kaonavi
0
120
モジュラーモノリスでスケーラブルなシステムを作る - BASE のリアーキテクチャのいま
panda_program
7
2k
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
280
PostgreSQL Unconference #52 pg_tde
nori_shinoda
1
200
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
1.3k
OPENLOGI Company Profile
hr01
0
61k
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
1.2k
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.9k
大規模アジャイル開発のリアル!コミュニケーション×進捗管理×高品質
findy_eventslides
0
520
Featured
See All Featured
Fireside Chat
paigeccino
37
3.3k
Music & Morning Musume
bryan
46
6.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Become a Pro
speakerdeck
PRO
27
5.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Adaptive Systems
keathley
41
2.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
500
Typedesign – Prime Four
hannesfritz
41
2.6k
The Cult of Friendly URLs
andyhume
78
6.3k
Embracing the Ebb and Flow
colly
85
4.6k
Transcript
Hypermedia affordance with BEAR.Sunday @koriym 2017
None
IUUQTFOXJLJQFEJBPSHXJLJ"⒎PSEBODF
IUUQFLSJUTKQXQDPOUFOUVQMPBETDPNJDB⒎PSEBODFQEG
None
GET /menu
None
None
no affordance
None
None
rel=“order” !
/order but how ?
OPTIONS /order
None
None
POST /order/?name=latte ☕
None
PUT /order?id=123&extra=shot
None
GET /order?id=123
None
OPTIONS /payment
PUT: the payment should be idempotent
IUUQTXXXJOGPRDPNKQBSUJDMFTXFCCFSSFTUXPSLqPX Resource interface for state machine URI as state "
" "
200 GET /menu 201 POST /order/?name=latte 100 PUT /order/?order_id=1234&extra=shot 200
PUT /payment?order_id&card_num=123&expire=101018 URIs as event source
* CQS * CQRS * Discoverable * Cache * Observe
* Message Driven Development * Micro Service * Event Sourcing * Decoupled Component REST++
Hypermedia API
Hypermedia Driven Development
None
IUUQTXXXXPSHJOUFHSBUJPOXPSLTIPQQIZQFSNFEJBPSJFOUFEEFTJHOQEG
IUUQTXXXJOGPRDPNKQBSUJDMFTXFCCFSSFTUXPSLqPX
None
None
Self-Descriptive API
None
CURIEs (Compact URI) IUUQTFOXJLJQFEJBPSHXJLJ$63*&
None
None
None
IUUQKTPOTDIFNBPSH
backend + front-end UPEPKTPO UPEPTKTPO
None
? REST API
REST != CRUD over HTTP
REST != Return JSON with pretty URI
None
IUUQTXXXJOGPRDPNOFXT$36%3&45
IUUQTUXJUUFSDPNpFMEJOHTUBUVT
None
None
Network affordance
Information (+ affordance) NFOV SFMlPSEFSz
hypermedia affordance SFMlPSEFSz
Internet Programing
= Programing Internet
BEE B⒎PSEBODF