てぃーだブログ › 笑い男はかく語りき(^0^)/ › GeeK › 久々にgeekな感じ

久々にgeekな感じ

2008年08月28日

Posted by John at 17:48 │Comments( 1 ) GeeK
Ruby on Rails




※画像はイメージです

以下、Wikipedia引用
●Ruby on Rails
Ruby on Rails(ルビーオンレイルズ)はオープンソースのWebアプリケーションフレームワークである。RoRまたは単にRailsと呼ばれる。その名にも示されてるようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。

実アプリケーションの開発を他のフレームワークより少ないコードで簡単に開発できるよう考慮し設計されている。 Railsの公式なパッケージはRubyのライブラリやアプリケーションの流通ルートであるRubyGemsにより配布されている。

●哲学
Railsの基本理念は「同じことを繰り返さない」(DRY:Don't Repeat Yourself)と「設定よりも規約」(CoC:Convention over Configuration)である。

「同じことを繰り返さない」というのは、定義などの作業は一回だけですませろとの意味である。Railsはフルスタックのフレームワークであり、コンポーネントの統合は手動での設定を必要とせず自動で行われる。例えばRuby on Railsに組み込みのORMライブラリであるActiveRecordではクラス定義において、データベースから読み取るべき属性名等を指定する必要はない。ActiveRecordはRDBMSの表定義から自動的にその情報を取得する。従ってプログラムとRDBMSの両方にそれを定義するというような無駄な作業を行う必要はない。

「設定よりも規約」とは、標準的な設定は決まったルールに従い、共通でない部分の設定のみを行うようにするべき、ということである。





ということで。
本日はRuby on Railsです。

Ruby自体の構文は独特ながら、他のWebアプリ系に用いられる言語とほぼ同等な感じ。
制御構造体の書き方がきもちわりぃ以外は、PHPやJavaと同じ。

まずは必要なバイナリをDLしてきてはコンパイル→設定。
自社Proxyの所為でgemコマンドが使えないのにムカついたので、VPNでWeb規制の甘い某社に潜り込んでそっからgemコマンド実行→難なく行けた。さすがユルイ系のCP様は格が違うぜw

そっからMySql用コネクションモジュールをgemで取得、Railsもgemで取得&インストール。
GUI環境でのサーバ構築は初めてだが、こんなに簡単なものなのかと思った。
CUIでカリカリコマンド叩いてる方がよっぽど楽しいが、ここまで楽に出来ると病みつきになりそうだ(*´д`*)ハァハァ

でだ。
RubyやRailsのインスコは終わったものの、RubyForApacheの設定に手間取っているわけだ。

LoadModule rewrite_module modules/mod_rewrite.so
そうそう、自分の環境のmod_rewriteが使用不可だったことにconfを見て初めて気がついて驚愕したわけだが、まぁ、そもそもmod_rewriteなんてlocalhostの環境じゃあんまし使わないからいいかなぁと思ったことは君と僕のだけの秘密だ。

んで、LoadModuleでmod_ruby.soを読み込んでifModuleで詳細に設定するわけだが
LoadModule ruby_module modules/mod_ruby.so

RubyRequire apache/ruby-run

SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
Options +ExecCGI


SetHandler ruby-object
RubyHandler Apache::RubyRun.instance


「apache/ruby-run」ってどこやねん。
新規でディレクトリ作成してやんのかなぁ。と思いhttpd.confの書き方からすればApacheのディレクトリ以降から書くので「C:\Program Files\Apache2\」配下にapache/ruby-runとmkdirしてやった。ApacheをGracefulしてやるがエラーが消えない。

LocationとFilesの設定はコレで間違い無さそう。
てなるとやっぱり最初に指定してるRubyRequireがミソっぽいんだよなぁ。
RubyRequireディレクティブを調べねぇとラチがあかなさそうだなぁ。

まぁ、別にApache80番ポート経由で動作できなくても個人的は全然構わないんだが、ほら、Server技術者の肩書きを持っているわけだ、confファイル一つに手間取っているのでは名が泣くわけだ。

と言う事で備忘録のつもりで書いているんだが、もうすぐ定時なので、今日はこの辺で。









あ、ちなみに↑のは仕事じゃなくて趣味ですヾ(゚ω゚)ノ゛


この記事へのコメント
オトだ!

お前はまた宇宙語を並べやがってwwww

聞きやがれ!ついに俺は店長終わったぜw
いやぁ、結局店長らしいことなんて何もしてねぇわけでww

そっちの方が心配だわwww


          
  ●< 私だ   )   ●<お前だったのか)
/▼\   /▼\
/>              <\
Posted by スワンパクティスワンパクティ at 2008年08月28日 18:18