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
1
310
Webmachine (Ruby)
presented on KRUG
Paweł Pacana
March 12, 2013
Tweet
Share
More Decks by Paweł Pacana
See All by Paweł Pacana
DRUG Facts
pawelpacana
2
250
Other Decks in Programming
See All in Programming
Fluid Templating in TYPO3 14
s2b
0
110
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2.3k
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
120
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
550
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
180
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.8k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
350
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
800
Basic Architectures
denyspoltorak
0
620
Data-Centric Kaggle
isax1015
2
710
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
150
Writing Fast Ruby
sferik
630
62k
WENDY [Excerpt]
tessaabrams
9
35k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Fireside Chat
paigeccino
41
3.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
42
The agentic SEO stack - context over prompts
schlessera
0
600
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Accessibility Awareness
sabderemane
0
42
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
57
Utilizing Notion as your number one productivity tool
mfonobong
2
200
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