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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hogelog
October 15, 2024
Technology
0
430
なぜ 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
dentaku - Ruby製の電卓CLI / dentaku - A Ruby CLI Calculator
hogelog
0
31
"複雑なデータ処理 × 静的サイト" を両立させる、楽をするRails運用 / A low-effort Rails workflow that combines “Complex Data Processing × Static Sites”
hogelog
3
5.7k
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
4
910
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
230
RubyKaigi 2024 LT: Visualize the internal state of ruby processes in Real-Time
hogelog
0
300
Talk about CI and testing of the STORES
hogelog
2
610
小3の子がいるエンジニアの昔と今。
hogelog
0
1.7k
Kaigi_on_Rails_2022_Talk-hogelog.pdf
hogelog
6
1.7k
Other Decks in Technology
See All in Technology
Phase08_クイックウィン実装
overflowinc
0
1.5k
SaaSに宿る21g
kanyamaguc
2
140
20260320_JaSST26_Tokyo_登壇資料.pdf
mura_shin
0
110
コンテキスト・ハーネスエンジニアリングの現在
hirosatogamo
PRO
6
750
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
110
LLMに何を任せ、何を任せないか
cap120
6
2.3k
Kiroで見直す開発プロセスとAI-DLC
k_adachi_01
0
120
スピンアウト講座01_GitHub管理
overflowinc
0
1.2k
スピンアウト講座04_ルーティン処理
overflowinc
0
1k
中央集権型を脱却した話 分散型をやめて、連邦型にたどり着くまで
sansantech
PRO
1
280
Phase02_AI座学_応用
overflowinc
0
2.5k
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
340
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
The Language of Interfaces
destraynor
162
26k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Are puppies a ranking factor?
jonoalderson
1
3.1k
RailsConf 2023
tenderlove
30
1.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
Context Engineering - Making Every Token Count
addyosmani
9
770
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
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を理解してみよう! - というワークショップをします、よろしくおねがいし ます