読者です 読者をやめる 読者になる 読者になる

プリコンパイル済みのアセットを作成する

概要 Rails 3.1で新しいプロジェクトを作ったところ、本番環境でアセットがプリコンパイルされていないというエラーが発生しました。対策として、3.1から導入されたアセットパイプラインのために、プリコンパイル済みのアセットを作成しました。 ActionView:…

JavaScriptエンジンをインストールする

概要 Rails 3.1で新しいプロジェクトを作ったところ、本番環境でJavaScript runtimeが見つからないというエラーが発生しました。対策として、3.1から導入されたCoffeeScriptのために、JavaScriptエンジンをインストールしました。 Could not find a JavaScri…

Ruby 1.9.2のインストール

概要 Ruby 1.9.2のソースコードからRPMパッケージを作成し、インストールします。 構成 CentOS release 5.6 (Final) checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] 準…

ImageMagick + RMagickのインストール

概要 ImageMagickとRMagickをインストールします。 構成 CentOS release 5.7 (Final) ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] バージョンの選択 今回のプロジェクトではRuby 1.9 + Rails 3を使うことが決定しています。http://rmagick.r…

デプロイと同時にbundle installを実行する

検証環境 Ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] Rails 3.0.10 Bundler version 1.0.18 Capistrano v2.8.0 準備 準備といってもやるべきことはひとつだけです。BundlerにはあらかじめCapistrano用のcapタスクが用意されているので、$RA…

RVMのインストール 〜 CentOS 5.6編

検証環境 CentOS release 5.6 (Final) RVM 1.6.31 インストール 依存パッケージをインストールします シェルのバージョンを確認します。 $ bash --version GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2005 Free Software…

RDocでドキュメントを生成する

ドキュメントを生成する前にRDocをアップデートする場合は、 re RDocのアップデート - 祈れ、そして働け 〜 Ora et labora とりあえず生成してみる $ rdoc.rbファイルがあるディレクトリに移動して、rdocコマンドを実行します。RDocを意識したマークアップを…

RVM+Ruby 1.9.2+Rails 3.0.7+SandboxでTwitterもどきを作る

Mac OS X 10.6.6 RVM 1.2.8 Ruby 1.9.2 Rails 3.0.7 MySQL Sandbox 3.0.17 MySQL MySQL Community Server 5.5.10 Mac OS X ver. 10.6 (x86, 64-bit), Compressed TAR Archive Ruby 1.9.2のインストール $ rvm list known # MRI Rubies ... [ruby-]1.9.2-rc1 …

後置判定の繰り返し文

繰り返す内容を最低一回は実行したい、というときに使う後置判定の繰り返し文ですが、Rubyではこう書きます。begin〜endで括るのがポイントです。while文 begin # 繰り返す内容 end while 継続条件 until文 begin # 繰り返す内容 end until 終了条件

Rubyバージョン管理ツール『RVM』

概要 RVM = Ruby Version Managerとは、Wayne E. Seguin氏によって開発された、複数のRubyの処理系をインストール、共存させるためのツールです。MRI・REE・JRubyといった複数の有力な処理系が存在するとともに、1.8系から1.9系への過渡期でもある現在、複数…

swfmillとswfmill_rubyのインストール

CentOS 5.5 (Final) swfmill 0.3.1 いろいろハマッたので、最終的にインストールに成功するまでの経緯を残しておきます。なお、swfmill 0.3.1より前のパッケージは、Flash Lite 1.xの日本語エンコーディング形式であるcp932に対応していません。0.3.1より前…

RailsでURLエンコードする方法

ERB::Utilを使う方法 >> ERB::Util.url_encode("http://www.foobar.jp/baz/?qux=123&quux=xyz") => "http%3A%2F%2Fwww.foobar.jp%2Fbaz%2F%3Fqux%3D123%26quux%3Dxyz" CGIを使う方法 # エンコード >> CGI.escape("http://www.foobar.jp/baz/?qux=123&quux=xy…

RDocのアップデート

RDocをアップデートする Rubyと一緒にインストールされたRDocのバージョンが古いので、 # rdoc --version RDoc V1.0.1 - 20041108最新版にアップデートします。 # gem install rdoc NOTE: If you are running Ruby 1.9.2 you can ignore this message. RDoc …

Ruby Enterprise Editionのインストール

環境 CentOS 5.5 (Final) Amazon Linux 2010.11.1 (beta) 念のため、既存のyumパッケージをアップデートしておきます。 # yum check-update # yum update 開発ツール一式(GCCなど)をインストールします。 # yum groupinstall "Development Tools" ビルドに…

bz2

インストール bz2はlibbz2をRubyから扱うためのライブラリです。bz2をインストールするには、あらかじめbzip2-develパッケージをインストールしておく必要があります。 $ sudo yum install bzip2-devel $ sudo gem install bz2 --no-ri --no-rdocbzip2-devel…

RubyGems

$ gem install <gemパッケージ> --no-rdoc --no-riドキュメントが必要ない場合、--no-rdocと--no-riを指定することでインストール時間を短縮することができます。 --no-rdoc RDoc形式のドキュメントを生成しない --no-ri RIコマンドで読めるドキュメントを生成しない $ gem </gemパッケージ>…

ミリ秒の精度で時刻を表示する

ちょっと“実行時間を確認したい”ときに便利なTime.nowですが、秒の精度でしか表示できません。 >> Time.now => Sat Oct 30 01:46:23 +0900 2010 ボトルネックを探しているときなど、秒だと精度が足りないというときは、Time#usec*1を組み合わせることでマイ…

ハッシュにデフォルト値を設定する

例えばキーワードごとの出現回数を集計するとき、キーワードをキーに、出現回数を値にしたハッシュを使って集計することがあります。新しい要素のデフォルト値はnilですが、このようなときは0になっていて欲しいものです。要素を初期化する処理をブロックと…

Capistranoとcapistrano-ext

CapistranoはRubyで作られたデプロイツールです。Railsを作った37signalsという企業で、自分たちが使うための実用的なツールとして作られました。Railsと相性がよいのはもちろんですが、Capistrano自体は汎用的なデプロイツールとして作られています。capist…

Railsアプリケーションの実行環境を構築する

環境 CentOS 5.5 Apache 2.2.3 Phusion Passenger 2.2.15 MySQL 5.0.77 Ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] Rails 2.3.8 RubyGems 1.3.7 Rubyのインストール RubyとRubyGemsはソースコードから最新版をインストールするので、yumでイン…

capistrano_colors

$ sudo gem install capistrano_colors Capistranoの実行結果を色付けして表示します。 $ vim ~/.caprc require 'capistrano_colors' capistrano_colorsを有効にするためには、さらに~/.caprcに記述します。 $ vim config/deploy.rb require 'capistrano_col…

ハッシュのソート

ハッシュを値の昇順にソートします。値が同じときはキーの昇順にソートします。 h = {1 => 10, 2 => 1, 3 => 5, 4 => 5} h.sort {|(k1, v1), (k2, v2)| (v1 == v2) ? k1 k2 : v1 v2 }

Macで快適にVimを使う Vim/Ruby編

Vim/RubyはVimエディタでRubyを扱う上で最も基本的な拡張機能です。Rubyファイル(.rb)とeRubyファイル(.rhtml)でシンタックスハイライトが有効になるほか、オムニ補完(で表示される自動補完)も使えるようになります。Vim/Ruby本体はgemでインストールしま…