D.

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

ブログを移転しました。

いままでこの「はてなダイアリー」にブログを書いてきましたが、以下のアドレスにブログを移転することにしました。このブログはもう更新されません。以下の新しいブログを購読してください。http://id774.net/blog/

Ruby で序数 (1st, 2nd, 3rd...) を生成する。

こんな感じ。 def number_to_ordinal(num) num = num.to_i if (10...20)===num "#{num}th" else g = %w{ th st nd rd th th th th th th } a = num.to_s c=a[-1..-1].to_i a + g[c] end end number_to_ordinal(3) => "3rd" number_to_ordinal(13) => "13th" …

マルチアーキテクチャなステージング環境で bundler を利用する。

Ruby on Rails 等で使われる bundler はアプリケーションに依存する gem パッケージをバンドルすることができ、パッケージの管理に役に立つ。しかしアーキテクチャ固有のパッケージを保持してしまうことで、ステージング環境で複数のアーキテクチャが混在し…

Linux ディストリビューションを安全に利用するための基本。

これらはすべて基本中の基本、絶対に守るべき原則と言っても良い内容である。しかしながら企業や学校の内部等ではこれらが遵守されていないような場面も多々見受けられるため、ここに書き記しておく。 root ログインを避け、管理作業には sudo を利用する。 …

LVM のサイズをオンラインのまま変更する。

lvm

最近のメジャーな Linux ディストリビューションでは標準で LVM が利用可能となっている。この LVM のオンラインリサイズを利用すると、システムの停止無しにファイルシステムのサイズを変更できる。これは非常に便利なのでやり方をまとめておく。 ここでは …

Kaminari で超お手軽にページネートを実装する。

Kaminari を使うと超簡単にページネートが実装できる。 sudo gem install kaminari Gemfile で gem 'kaminari' を指定して bundle install する。 あとはコントローラーで Model.all の代わりに .scoped メソッドを利用する。ページ数はモデルで指定しても良…

二度押し防止機能をデフォルトで付ける。

昔からよくある Form が Submit された瞬間にボタンを disable にするというアレ。これをデフォルトの挙動にする。 config/initializers/submit_with_disable.rb # -*- encoding: utf-8 -*- module ActionView module Helpers module FormTagHelper alias_me…