Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Webmachine (Ruby)
Search
Paweł Pacana
March 12, 2013
Programming
350
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
12
DRUG Facts
pawelpacana
2
270
Other Decks in Programming
See All in Programming
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.4k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
310
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
270
一人だけ、Kiroが静止する日
hideg
0
130
setup-vp GitLab対応の裏側
naokihaba
0
120
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
750
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
330
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
Webの地図
yosuke_furukawa
PRO
6
4.7k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
220
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Typedesign – Prime Four
hannesfritz
42
3.2k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
The Spectacular Lies of Maps
axbom
PRO
1
1k
New Earth Scene 8
popppiees
4
2.6k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Ethics towards AI in product and experience design
skipperchong
2
380
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
KATA
mclloyd
PRO
35
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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