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
Webmachine (Ruby)
Search
Paweł Pacana
March 12, 2013
Programming
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webmachine (Ruby)
presented on KRUG
Paweł Pacana
March 12, 2013
More Decks by Paweł Pacana
See All by Paweł Pacana
Dynamic Consistency Boundary (on PostgreSQL)
pawelpacana
0
8
DRUG Facts
pawelpacana
2
260
Other Decks in Programming
See All in Programming
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
110
数百円から始めるRuby電子工作
tarosay
0
140
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
250
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
820
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
470
Android CLI
fornewid
0
220
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
120
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
230
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
220
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
510
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
500
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
A designer walks into a library…
pauljervisheath
211
24k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
Docker and Python
trallard
47
4.1k
A better future with KSS
kneath
240
18k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
Leo the Paperboy
mayatellez
8
2.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
56k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Transcript
WEBMACHINE THE HTTP TOOLKIT IN RUBY @pawelpacana
I’m not a native speaker DISCLAIMER
HTTP 1.1 SPEC RFC2616
TOOLKIT • „A toolkit for easily creating well- behaved HTTP
applications” • not a framework • Sinatra vs. Rails • extracted from Riak
RACK INTERFACE app = proc { |env| [ 200, #
Status {'Content-Type' => 'text/plain'}, # Headers ["Hello World!"] # Body ] }
RACK MIDDLEWARE • Head, ContentLength, ContentType, Deflater, …
HTTP IS HARD
WEBMACHINE • FSM modelling HTTP • negotiate hard decisions transparently
HTTP IS RESOURCES • data or service • identified by
URI • representations
WEBMACHINE • resources as a core building block • declare
resources, don’t perform actions • resource callbacks
EXAMPLES show me the code
ADAPTERS • WEBrick • Mongrel • Rack* • Reel •
Hatetepe
ECOSYSTEM • webmachine-test • webmachine-linking • webmachine-actionview • webmachine-sprockets •
irwebmachine
MY OBSERVATIONS • good as HTTP content delivery mechanism in
Ports and Adapters architecture • good for Hypermedia APIs • small enough to read and trust it
GOING DEEPER http://bit.ly/resources-for-real-this-time
THANK YOU @pawelpacana
DRUG #40 NEXT MONDAY 19:00 http://drug.org.pl