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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
27
"複雑なデータ処理 × 静的サイト" を両立させる、楽をするRails運用 / A low-effort Rails workflow that combines “Complex Data Processing × Static Sites”
hogelog
3
5.6k
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
4
890
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
600
小3の子がいるエンジニアの昔と今。
hogelog
0
1.6k
Kaigi_on_Rails_2022_Talk-hogelog.pdf
hogelog
6
1.7k
Other Decks in Technology
See All in Technology
OCI技術資料 : 外部接続 VPN接続 詳細
ocise
1
10k
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
190
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
360
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
0
390
OSSで構築するIT基盤管理実践事例: NetBox・Snipe-IT・FreeRADIUS+PrivacyIDEA / Practical Case Studies of IT Infrastructure Management Using OSS
nttcom
0
180
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
1
770
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
230
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
290
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
7.7k
1 年間の育休から時短勤務で復帰した私が、 AI を駆使して立ち上がりを早めた話
lycorptech_jp
PRO
0
220
Master Dataグループ紹介資料
sansan33
PRO
1
4.4k
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
3
380
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
Writing Fast Ruby
sferik
630
62k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
150
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.8k
[SF Ruby Conf 2025] Rails X
palkan
2
800
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
68
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Scaling GitHub
holman
464
140k
Agile that works and the tools we love
rasmusluckow
331
21k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
460
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
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を理解してみよう! - というワークショップをします、よろしくおねがいし ます