やはりというべきか、mod_railsを使ったホスティングサービス登場
RailsのホスティングサービスであるHosting Rails.comで、mod_railsを使ったホスティングオプションがはじまりました。Mongrelプランと同じで、$9.79/月となっています。
パフォーマンスがどの程度かによりますが、$9.79というのは格安ではないでしょうか。テスト的に立ち上げてみたい方にお勧めです。
Hosting Rails – Ruby on Rails Hosting – Robust & Affordable Plans
http://www.hostingrails.com/
CSSとHTML、そしてRailsを使ってPDFを作成するTips
subLog : HTML / CSS to PDF using Ruby on Rails
答えを言ってしまうと、Prince XMLを使います。各種プラットフォーム向けに提供されているライブラリなので、これを使えば手軽に作成できそうです。そのためのライブラリprince.rbとpdf_helper.rbが公開されています。ちなみにPrince XMLは個人の非商用利用に限りフリーのライブラリなのでご注意ください。

Prince XMLのトップページ
subLog : HTML / CSS to PDF using Ruby on Rails
http://sublog.subimage.com/articles/2007/05/29/html-css-to-pdf-using-ruby-on-rails
オープンソースなRailsアプリケーションは集合!「Open Source Rails」
Railsを勉強するには手を動かすのも良いけれど、人の書いたソースを見て勉強するのも良い。その方法でいくと、オープンソースのRailsアプリケーションは最高の勉強材料になるだろう。
Open Source RailsではそんなオープンソースのRailsソフトウェアを9個ほど(執筆時)紹介している。概ねMOONGIFTでも紹介済みだが、幾つかは未紹介のものもある。そちらについては後日紹介していくだろうが、先にチェックしたい方はぜひ見てみて欲しい。
例は以下。
Amazon EC2でmod_rails環境を構築するサンプル
Amazon EC2でmod_railsを使ってサーバ構築を行う記事をOpenServiceにて記述しました。mod_railsに興味のある方はぜひご覧ください。
元々はCentOSを使おうと思ったのですが、Rubyが1.8.5であったため+色々あったので断念しました。そこでUbuntuを使って構築を行っています。所用時間は待つ時間を入れても20〜30分あれば完了できます。ごく手軽です。
mod_railsを使った場合、HTMLやJavaScript、CSSファイルなどの静的ファイルにはApacheからレスポンスを返してくれます。この点がごく気軽に使えていいですね。レスポンスもそこそこです。
Open Service » Blog Archive » Amazon EC2を使ってWebサービスを公開する「インスタンス編」
http://openservice.jp/2008/04/using_amazon_ec2_2/
ホスティングサービスでもRailsが利用できるようになるかも、な「Passenger」
MOONGIFTでも紹介したmod_railsと呼ばれるPassenger。Creative Commonsによるオープンソース・ソフトウェアです。
今回はその導入方法を書きたいと思います。インストールは簡単で、gemを使って行えます。
$ sudo gem install passenger
Password:
Bulk updating Gem source index for: http://gems.rubyforge.org
Building native extensions. This could take a while...
Successfully installed passenger-1.0.1
Installing ri documentation for passenger-1.0.1...
Installing RDoc documentation for passenger-1.0.1...
次に、Apacheに組み込むためのコマンドを実行します。詳細は以下にて。
Atom.builderもキャッシュするxmlcacheプラグイン
RailsでRSSやAtomを出力する際に利用するAtomFeedHelperがあると思いますが、これは通常のキャッシュが使えません。普通にcacheを使うと、
undefined local variable or method `_erbout' for #<ActionView::Base:0x24dde68>
というエラーが出てしまいます。
そこで利用するのがxmlcacheプラグインです。インストールは、
ruby script/plugin install http://xmlcache.googlecode.com/svn/trunk/xmlcache
と行います。これをインストールした状態で、
cache_xml "cache name" do
hogehoge
end
とすれば、通常のキャッシュ(フラグメントキャッシュ)同様の処理が可能になります。これでフィード生成が高速化されるようになりますね。ちなみにcaches_pageはアクションごとの設定なので、フォーマットによってキャッシュする、しないといった設定ができない模様…。これはこれで面倒だ。
Railsで開発するときにはキャッシュを予め想定に入れておく
via En attendant Jérémie on Flickr – Photo Sharing!
今回、まともにキャッシュを使おうと思い始めたのですが、ある程度組み上げた段階でキャッシュを組み入れようとすると色々問題が起こることが分かりました。まず知識としては、Railsのキャッシュは3パターンあります。
- Page
- Action
- Fragment
があります。Pageは一番強力で、一度生成後はApacheやlighttpdなどのWebサーバレベルでレスポンスを返してくれます。アプリケーションサーバを通さない分、高速です。が、逆に言えば生成した後はRails側で制御できない状態になるので、表示を細かに変更することはできません。
次にAction Cacheがあります。これはPageアクション同様に生成されるページ全体をキャッシングしますが、Railsのアクションは実行するという点が異なります。アクションを通るので、DBにアクセスして情報を取得することが可能というメリットはありますが、DBへのアクセスがボトルネックになっている場合は使えません。
最後にFragmentキャッシュです。これはViewの中で細かく利用できます。言わば部品を定義していくことで、一部分だけの表示をキャッシングしていくことができます。細かく制御できる利点はありますが、裏を返せば多数使うと管理が大変になります。
では次に問題点や解決策を挙げてみたいと思います。
iTunesをRailsで動かす「iTunesRails」
これは面白い。RubyCocoaとRailsを組み合わせることで、WebブラウザからiTunesを操作できるようになっています。ベースはRails2.0.2を使って開発されています。RubyCocoaは大きな可能性を秘めていますので、OSXとRubyの組み合わせで新しいアプリケーションが次々と生まれていきそうです。
RubyはOSX標準のものではなく、MacPortsのものを使っていたのですが、この場合RubyCocoaが使えません。その場合はrequire ‘osx/cocoa’ができない。 – Hirameki InspirationとBuild – RubyCocoa wiki を参考にしてインストールします。
2008年4月7日時点でのコマンドは、
$ tar xfz RubyCocoa-0.13.2.tgz
$ cd RubyCocoa-0.13.2
$ ruby install.rb config --prefix=/opt/local --build-universal=no
$ ruby install.rb setup
$ sudo ruby install.rb install
です。バージョンは変わっても、他は同じかと思います。後は通常のRailsアプリケーションのように起動すればOKです。
そしてこちらがiTunesRailsの画面です。




