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
530
Hypermedia Affordance
Hypermedia Affordance with BEAR.Sunday
Akihito Koriyama
July 30, 2017
Tweet
Share
More Decks by Akihito Koriyama
See All by Akihito Koriyama
新世界の理解
koriym
0
160
AI Centric
koriym
0
380
app-state-diagram
koriym
0
97
OOP, Double Dispatch and Visitor Pattern
koriym
2
150
BEAR.Sunday 2014-2024
koriym
0
69
イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)
koriym
4
8.4k
Unconf: RWA読書会
koriym
0
610
REST 6+4の制約
koriym
2
2.8k
RESTful Web API 読書会 #1
koriym
3
300
Other Decks in Technology
See All in Technology
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
許しとアジャイル
jnuank
1
140
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
2
910
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.1k
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
4
1k
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
110
extension 現場で使えるXcodeショートカット一覧
ktombow
0
220
スタートアップにおけるこれからの「データ整備」
shomaekawa
1
280
Git in Team
kawaguti
PRO
2
200
Azure Well-Architected Framework入門
tomokusaba
1
330
AWSにおけるTrend Vision Oneの効果について
shimak
0
140
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Being A Developer After 40
akosma
91
590k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
What's in a price? How to price your products and services
michaelherold
246
12k
The Invisible Side of Design
smashingmag
301
51k
Six Lessons from altMBA
skipperchong
28
4k
4 Signs Your Business is Dying
shpigford
185
22k
Code Reviewing Like a Champion
maltzj
525
40k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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