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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Akihito Koriyama
July 30, 2017
Technology
560
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hypermedia Affordance
Hypermedia Affordance with BEAR.Sunday
Akihito Koriyama
July 30, 2017
More Decks by Akihito Koriyama
See All by Akihito Koriyama
BEAR.Sunday — リソース指向 PHP アプリケーションフレームワーク
koriym
0
51
存在論的プログラミング: 時間と存在を記述する
koriym
5
1.2k
Be Framework: 生命システムとしての存在理解
koriym
0
180
新世界の理解
koriym
0
260
AI Centric
koriym
0
810
app-state-diagram
koriym
0
180
OOP, Double Dispatch and Visitor Pattern
koriym
3
220
BEAR.Sunday 2014-2024
koriym
0
100
イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)
koriym
5
9.8k
Other Decks in Technology
See All in Technology
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1k
tamachi.goを支える技術
rymiyamoto
0
110
AI時代のデータ基盤を考える問い
pacocat
0
740
Digitization部 紹介資料
sansan33
PRO
2
7.8k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
dbt in Microsoft Fabric
ryomaru0825
0
300
アクセスキーが漏れた日にやるべきこと- 無効化の先にある本当の対応
kazzpapa3
0
360
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
210
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
360
Claude Codeの体系的な理解と知識のフック
oikon48
8
6.1k
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
220
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
First, design no harm
axbom
PRO
2
1.3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
690
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
490
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
What's in a price? How to price your products and services
michaelherold
247
13k
Evolving SEO for Evolving Search Engines
ryanjones
0
270
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
The untapped power of vector embeddings
frankvandijk
2
1.8k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
450
The Pragmatic Product Professional
lauravandoore
37
7.4k
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