Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
なぜ Rack を理解すべきかプレトーク / Why should you understan...
Search
hogelog
October 15, 2024
Technology
0
420
なぜ Rack を理解すべきかプレトーク / Why should you understand Rack - Pre-talk
2024-10-15 Kaigi on Rails 2024 タイムテーブル解説会
hogelog
October 15, 2024
Tweet
Share
More Decks by hogelog
See All by hogelog
"複雑なデータ処理 × 静的サイト" を両立させる、楽をするRails運用 / A low-effort Rails workflow that combines “Complex Data Processing × Static Sites”
hogelog
3
4.6k
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
4
850
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
1.2k
ruby/irbへのコントリビュートと愉快な仲間たち / RubyKaigi 2024 Wrap Party
hogelog
0
220
RubyKaigi 2024 LT: Visualize the internal state of ruby processes in Real-Time
hogelog
0
260
Talk about CI and testing of the STORES
hogelog
2
580
小3の子がいるエンジニアの昔と今。
hogelog
0
1.6k
Kaigi_on_Rails_2022_Talk-hogelog.pdf
hogelog
6
1.6k
クックパッドインターンシップ 2018 API 編(前半)/ Cookpad internship 2018 Day 3: API
hogelog
0
9.7k
Other Decks in Technology
See All in Technology
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
4
2k
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.4k
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
440
20251222_サンフランシスコサバイバル術
ponponmikankan
2
140
日本Rubyの会: これまでとこれから
snoozer05
PRO
5
230
Next.js 16の新機能 Cache Components について
sutetotanuki
0
170
New Relic 1 年生の振り返りと Cloud Cost Intelligence について #NRUG
play_inc
0
220
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.9k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
160
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
400
さくらのクラウド開発ふりかえり2025
kazeburo
2
970
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
150
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
36
Raft: Consensus for Rubyists
vanstee
141
7.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
63
Accessibility Awareness
sabderemane
0
24
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
A Tale of Four Properties
chriscoyier
162
23k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
120
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
Exploring anti-patterns in Rails
aemeredith
2
200
How to train your dragon (web standard)
notwaldorf
97
6.4k
Transcript
@hogelog 2024-10-15 Kaigi on Rails 2024 タイムテーブル解説会 なぜ Rack を理解すべきかプレトーク
なまえなど 2 - @hogelog (GitHub, Twitter X, 社, …) -
小室 直 (Komuro Sunao) - STORES 株式会社 ソフトウェアエンジニア
私とKaigi on Rails 3 - Kaigi on Rails 2022に登壇 -
オンライン、事前収録 - むずかしかった!
私とKaigi on Rails 4 - Kaigi on Rails 2024ワークショップ登壇(登壇?) -
Kaigi on Railsはじめてのワークショップ - おそらくまだ若干名の空きが……? (なかったらごめんなさい)
Rackとは
Rackとはなんですか 6 - RubyでHTTPアプリケーションを書くインターフェース - RackアプリケーションはHashを受け取り配列を返すだけ class HelloRack def call(env)
# CGI-style environment [ 200, # status {"content-type" => "text/html" }, # headers ["Hello, Rack!" ], # body ] end end
Rackアプリケーションを動かすRackアプリケーションサーバ 7 class HelloRack def call(env) # CGI-style environment [
200, # status {"content-type" => "text/html" }, # headers ["Hello, Rack!" ], # body ] end end
Rackアプリケーションを動かすRackアプリケーションサーバ 8 - Puma, Pitchfork, Unicorn, Thin, … class HelloRack
def call(env) # CGI-style environment [ 200, # status {"content-type" => "text/html" }, # headers ["Hello, Rack!" ], # body ] end end run HelloRack .new
Rails on Rack 9 - RailsはRackアプリケーションを記述するフレームワーク - `Rails .application` がRackアプリケーション
- Railsの多くはRackミドルウェアとして実装されている - `bin/rails middleware` require_relative "config/environment" run Rails .application Rails .application.load_server
よくあるRailsエンジニアの業務 10 - Rackアプリケーション: 書く - Rackミドルウェア: たまに書く - Rackサーバ:
あまり書かない
Rackアプリケーションサーバを理解する 11 - Rackをアプリケーション、ミドルウェア、サーバまで 一通り実装してみてRackを理解してみよう! - というワークショップをします、よろしくおねがいし ます