RubyにおけるRackについて

f:id:ryoutaku_jo:20190311230628p:plain

【結論】
・Rackとは、Rubyフレームワーク
 アプリケーションサーバーを繋ぐ為のインターフェイス

フレームワーク/アプリケーションサーバー双方が
 Rackにだけ対応させておけば良いので、
 それぞれの製作者にとって開発コスト低減のメリットがある
 

【目次】


【本題】

Rackとは

Rubyフレームワークアプリケーションサーバーを
繋ぐ為のインターフェイスです。

アプリケーションサーバーについては、
下記の記事でも取り上げ通り、Rubyを実行して、
動的にコンテンツを生成する箇所です。

ryoutaku-jo.hatenablog.com

Rackが必要な理由

RubyではRuby on Rails
フレームワークとして圧倒的な地位を占めていますが、
他にもRubyフレームワークは存在します。

代表的なものだと、下記の通りです。
Sinatra・・・手軽で学習コストが低い
Cuba・・・シンプルで軽量
Ramaze・・・自由度を重視
HANAMI・・・大量アクセス対策の機能あり
Padrino・・・Sinatraの機能拡張版

そして、Rubyに対応したアプリケーションサーバーも
いくつか種類があります。
Unicron
Puma
Passenger
Thin

フレームワークの製作者が、これら全てのアプリケーションサーバーに
自身のフレームワークを対応させようとすると、非常に手間が掛かります。

そして、アプリケーションサーバーの製作者

そこで登場するのが、Rackです。

Rackが、全てのアプリケーションサーバーに対応しているので、
フレームワークの製作者は、自身のフレームワーク
Rackにだけ対応させれば良くなったので、開発が非常にスムーズになりました。

《今日の学習進捗(3年以内に10000時間に向けて)》

就活

学習開始からの期間 :93日
今日までの合計時間:894h
一日あたりの平均学習時間:9.7h
今日までに到達すべき目標時間:849h
目標との解離:45h
「10,000時間」まで、

残り・・・「9106時間!」