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
なぜ Rack を理解すべきかプレトーク / Why should you understan...
Search
hogelog
October 15, 2024
Technology
440
0
Share
なぜ Rack を理解すべきかプレトーク / Why should you understand Rack - Pre-talk
2024-10-15 Kaigi on Rails 2024 タイムテーブル解説会
hogelog
October 15, 2024
More Decks by hogelog
See All by hogelog
スマホでゲームをするか、漫画を読むか、開発をするか / Gaming, Reading or Coding on my phone.
hogelog
1
61
dentaku - Ruby製の電卓CLI / dentaku - A Ruby CLI Calculator
hogelog
0
42
"複雑なデータ処理 × 静的サイト" を両立させる、楽をするRails運用 / A low-effort Rails workflow that combines “Complex Data Processing × Static Sites”
hogelog
3
5.9k
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
4
960
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
240
RubyKaigi 2024 LT: Visualize the internal state of ruby processes in Real-Time
hogelog
0
310
Talk about CI and testing of the STORES
hogelog
2
620
小3の子がいるエンジニアの昔と今。
hogelog
0
1.7k
Other Decks in Technology
See All in Technology
Databricks 月刊サービスアップデートまとめ 2026年04月号
tyosi1212
0
110
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
420
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
140
2026年春のAgentCoreアプデ 細かいやつ全部まとめ
minorun365
3
220
AI-Assisted Contributions and Maintainer Load - PyCon US 2026
pauloxnet
1
100
Agent Skillsで実現する記憶領域の運用とその後
yamadashy
2
1.8k
小さいVue.jsを30分で作る
hal_spidernight
0
150
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
260
Shiny New Tools Won't Fix Your Problem
trishagee
1
120
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
140
[Scram Fest Niigata2026]Quality as Code〜AIにQAの思考を再現させる試み〜
masamiyajiri
1
310
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
350
Featured
See All Featured
Between Models and Reality
mayunak
3
280
Paper Plane
katiecoart
PRO
1
50k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Ethics towards AI in product and experience design
skipperchong
2
270
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
GitHub's CSS Performance
jonrohan
1032
470k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Become a Pro
speakerdeck
PRO
31
5.9k
Agile that works and the tools we love
rasmusluckow
331
21k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
270
Crafting Experiences
bethany
1
140
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
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を理解してみよう! - というワークショップをします、よろしくおねがいし ます