2010-01-01から1年間の記事一覧

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パッケージ>…

cache_fuプラグイン

インストール cache_fu*1プラグインはActiveRecordの結果をmemcachedにキャッシュしてくれるプラグインです。GitHubで公開されています。 ruby script/plugin install git://github.com/defunkt/cache_fu.git 使い方 サーバーの一覧を取得します。 >> CACHE.…

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

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

リソース情報を収集するためLinux標準ツール

故障発生時にCPU使用率やプロセス情報などのリソース情報を収集するツールをまとめてみました。 top $ top sar $ sar $ sar -u <取得間隔(秒)> <取得回数> # CPU使用率 $ sar -q <取得間隔(秒)> <取得回数> # プロセスの待ちキュー数 $ sar -r <取得間隔…

Gitのコマンドにaliasを定義する

毎日毎日 $ git branch $ git checkout $ git statusとか打つのに疲れてきたら、設定ファイル(.git/configか~/.gitconfig)にaliasを定義してみましょう。 [alias] st = status ci = commit co = checkoutあとはこんな風に、、、 # git st # git ci # git co …

メッセージを委譲する

あるオブジェクトがメッセージを受け取った(メソッドが呼び出された)とき、実際の処理を他のオブジェクトに委ねることを“委譲(delegate)”と呼びます。RailsではModuleクラスのdelegateメソッド*1によって、委譲を簡単に実現することができます。 class B…

S3Syncを使ってAmazon S3からローカルディレクトリにファイルをダウンロードする

「S3Syncを使ってローカルディレクトリからAmazon S3にファイルをアップロードする」の続きです。S3Syncのインストールとssl.certs.sharをダウンロードして実行するところまでは、そちらの記事を参考にしてください。アップロードにならって、自動実行するた…

バージョンを確認する

いろいろなバージョンを確認するコマンドをまとめておきます。CentOS $ cat /etc/redhat-release CentOS release 5.5 (Final)Fedora 8 $ cat /etc/fedora-release Fedora release 8 (Werewolf) /etc/system-releaseでもOKです。 $ cat /etc/system-release F…

MySQLドライバのインストール

CentOSにMySQLドライバをインストールしようとしたところ、思いがけずつまずいたので、後学のためにメモしておきます。 環境 CentOS 5.5 Apache 2.2.3 MySQL 5.0.77 Ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] Rails 2.3.8 デプロイしようとし…

Redmineからのメール通知がメーリングリストに届かない

Redmineからのメール通知、普通のメールアドレス宛だと届くのに、メーリングリスト宛だと届きません。いろいろ調べたところ、メールヘッダに設定された Precedence: bulkが原因だとわかりました。Precedenceフィールドは優先度を意味するフィールドで、メー…

S3Syncを使ってローカルディレクトリからAmazon S3にファイルをアップロードする

まずはS3Syncをインストールします。 $ wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz $ tar zxvf s3sync.tar.gz $ sudo cp -pr s3sync/ /usr/local/ローカルディレクトリとAmazon S3間の通信にSSLを使いたいので、ssl.certs.sharをダウ…

ユーザーにroot権限の一部を委譲する

ユーザーにroot権限の一部を委譲し、rootとしてコマンドを実行できるようにためには、/etc/sudoersを編集します。/etc/sudoersには、誰が・どのホストで・誰の権限で・どのコマンドを実行できるか、が定義されています。sudoersの編集には専用コマンドが用意…

ルーティング

ルーティングの定義を一覧として表示します。 >> rs = ActionController::Routing::Routes >> puts rs.routesルーティングが受け取ったパスをどのように解析するかを表示します。 >> rs.recognize_path "/store"ルーティングが受け取ったパラメタからどのよ…

Mac OS Xでスクリーンキャプチャを撮る方法

操作方法 デスクトップに保存スクリーン全体command+shift+3 選択した範囲command+shift+4 => 範囲を選択 選択したウィンドウcommand+shift+4 => space => ウィンドウを選択(クリック) クリップボードに保存スクリーン全体command+shift+3 選択した範囲com…

プログラムの実行時間を計測する time

ちょっと時間のかかるスクリプトを起動してから寝るときなど、ふと"で、このスクリプトには実際どれくらい時間がかかっているのだろう?"と疑問に思うものです。その疑問を解決してくれるのがtimeコマンド。引数に渡したコマンドの実行時間を計測してくれます…

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

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

Mac OS X 10.6 Snow Leopardを64bitカーネルで起動する

Snow Leopardは64bitカーネルでの動作に対応していますが、デフォルトでは32bitカーネルで起動*1するようになっています。Snow Leopardを64bitカーネルで起動するには以下の方法があります。 "6"キーと"4"キーを押しながら起動する。 32bitカーネルで起動す…

パターンにマッチする行を抽出する grep

ファイルを読み込んでパターンマッチングを行い、マッチする行を出力します。パターンマッチングには一部の正規表現を使用することが可能です。検索対象が指定されない場合は標準入力に対してパターンマッチングを行い、また複数のファイルに対して同時にパ…

行数、単語数、バイト数を調べる wc

ファイルを読み込んで行数、単語数、バイト数を調べます。左から順に行数、単語数、バイト数、ファイル名です。 $ wc access.log-20100920 9423473 141434037 2020211366 access.log-20100912標準入力を受け取れば、カレントディレクトリにファイル(ディレ…

attachment_fuプラグインでus-east以外のAmazon S3を使う

attachment_fuプラグインをインストールします。 # ruby script/plugin install git://github.com/technoweenie/attachment_fu.gitsauberia-aws-s3パッケージをインストールします。 # sudo gem install sauberia-aws-s3aws-s3の代わりにsauberia-aws-s3を使…

RSpec on Railsのインストール

RSpec on RailsはRuby on RailsでRSpecを使うためのプラグインです。GitHubで公開されています。 RSpecとRSpec on Railsはバージョンを合わせておかないとうまく動かないことがあるそうなので、ここでは明示的にバージョンを指定しています。 ※1.3.2は1.3.0…

RSpecのインストール

RSpecはRubyでテスト駆動開発を実践するための代表的なテスティングフレームワークです。GitHubで公開されています。 RSpecとRSpec on Railsはバージョンを合わせておかないとうまく動かないことがあるそうなので、ここでは明示的にバージョンを指定していま…

number_validationsプラグインのインストール

number_validationsプラグインは数値のバリデーションを拡張するプラグインです。acts_as_opensocialプラグインと同じmasarakki氏によって開発されており、GitHubで公開されています。 ruby script/plugin install http://github.com/masarakki/number_valid…

cache_fuプラグインのインストール

d:id:tetsuyai:20101114の記事にまとめました。

acts_as_opensocialプラグインのインストール

acts_as_opensocialプラグインはオープンソーシャルアプリケーションを開発するためのフレームワークです。職場の同僚であるmasarakki氏が開発しており、GitHubで公開されています。 ruby script/plugin install http://github.com/masarakki/acts_as_openso…

attachment_fuプラグインのインストール

attachment_fuプラグインはファイルをアップロードするときに使う代表的なプラグインです。いまはGitHubで公開されています。 ruby script/plugin install git://github.com/technoweenie/attachment_fu.git

無人応答ファイルに無効なプロダクトキーが含まれています

現象 Parallels Desktop 5にWindows 7をインストールしようとしたところ、インストールの途中で「無人応答ファイルに無効なプロダクトキーが含まれています。Windowsのインストールを続行するには無人応答ファイルから無効なキーを削除するか、または、無人…

Nginxのインストール

2011年8月23日、加筆・訂正しました。 概要 2011年8月23日現在、Nginxの安定版は1.0.5(2011年7月19日公開)、開発版は1.1.0(2011年8月1日公開)、旧安定版は0.8.55となっています。開発版とは文字通り現在開発中のバージョンです。新機能やバグフィックス…

Capistranoとcapistrano-ext

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