Rails3 + Paperclip + RMagickで画像アップロード&加工

前提

  • Rails3がインストールされている
  • ImageMagickとRMagickがインストールされている

参考: Rail3 + RMagick(ImageMagick)の環境をCentOS上に作る - Rブログ

バージョン

Rails 3.0.1
PaperClip 2.3.5

概要

Rails3のPaperclipプラグインを使って画像のアップロードを行うついでにRMagickで画像の加工まで行ってしまおうという一石二鳥な処理を実現する。

準備

Gemfileに以下を記述。

gem 'rmagick'
gem 'paperclip'

そしてインストール。

$ bundle install

コード

(あとで書く)

ポイント

- require 'RMagick'はControllerに書く
- Paperclipのprocessor処理はlib/paperclip_processors/に置く
- Modelに「require 'paperclip_processors/{processor名}'を書く
- config/initializers/以下に置く云々という記事も見かけたが、上記の記述でも動作している。というか、initializerに置く方法ではエラーがでてうまく動かせなかった。が勘違いかもしれない。まだ確認中。

第19回 ジャパンカップサイクルロードレース観戦

観戦記

ニュースサイトにレースレポートが上がっているので、主観で感じたことを記そう。

観客

前回行った4年前より確実に多くなっていたし、よりお祭りムードが高まっていた。
メイン会場から古賀志林道頂上までの間は人が途切れる間がないぐらい沢山いた。
痛自転車軍団も見かけた。

会場の雰囲気

選手集団はあっという間に通り過ぎてしまうが、周回コースなので大体20分ぐらいで戻ってくる。
選手が来る5分ぐらい前に先導車が走っており、レースの状況を伝えてくれるのが良かった。
また、マビックバイクの人が周回を重ねるたびにお握りやらお菓子やら違うものを手に持っておりそんなものを見ているのも楽しい。さすがに終盤は仕事をしていたが(笑
選手が行き過ぎてからは特段何もないが、お祭りな雰囲気なので待ち時間はあっという間に過ぎてしまう。そこにいるだけで楽しい感じがしてくるから不思議だ。
メイン会場にはオーロラビジョンがあって終始レースを見ることもできるが、ラジオで実況を聞きながら遠くから観客の声とともに近づいてくる選手を待ちわびるのもまた乙である。

アタックの瞬間!

6週目の山岳賞争いで先頭集団の中から選手がアタックする瞬間を目撃し、そのスピードに圧倒された。
ものすごい加速であっという間に見えなくなってしまった。
TV観戦で解説者が飛ぶように駆け上がると形容したりするが、生で見るとプロのサイクリストのスピードは本当に凄い。
これが見れただけでも来た甲斐があった。

終盤

ガーミンのアシスト陣が一気に加速して集団を分断し、エースのマーティンが飛び出して一人旅が始まった。
そこからはラジオで実況を聞きつつハラハラしつつゴール方向へ移動しながら観戦していた。
ここでも情報源はラジオだけだったのでアタックの声がかかるたびに観客が盛り上がるが、選手が帰ってくるまでの間が本当にもどかしかくて、でも遠くに選手が帰ってくる姿をみたら感激して会場が一体になり、一気に勝者を称える雰囲気になるさまは最高だ。
2位争いも最後まで熱く、さらに日本人選手も多数含まれていて非常に盛り上がった。

レースが終わって

表彰式で優勝者のマーティンが観客の応援が凄くて辛い時も頑張って走れたと言ってくれた。リップサービスかも知れないが、ヨーロッパからはるばる来てくれた選手にこう言って貰えると応援し甲斐がある。
来年はクリテリウムも含めて観戦したい。

自転車を持参すべし

車で会場近くまで移動する過程で自転車を積んだ車を結構な頻度で見かけたし、駐車したロマンチック村でも実際に自転車に乗り換えている人も多かった。
ジャパンカップではコース上を結構移動することになるので、自転車があると便利である。
来年は自転車を持参して、平坦区間も見たいと思う。

Rail3 + RMagick(ImageMagick)の環境をCentOS上に作る

Ruby on Rails3でRMagickを使おうと思ったが、インストールが面倒だったのでここにメモっておくことにする。

概要

CentOS5.5にyumImageMagickをインストールすると古いバージョンが入ってしまうため、gem install rmagickを実行してもバージョン合わないエラーが発生してしまい途方にくれる。
なので、自力でインストール。

前提条件

  • rootでログイン
  • rubyとかrailsとかインストール済み

インストール作業

# mkdir imagemagick
# cd imagemagick

  • ImageMagicと依存関係のあるパッケージインストール

yum -y install fontconfig-devel libtool-ltdl-devel

  • EPEL パッケージを使えるようにする

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

  • EPELのパッケージインストール

# yum -y install openexr fftw3 fftw3-devel

  • graphvizパッケージを使えるようにする

# wget http://www.graphviz.org/graphviz-rhel.repo
# mv graphviz-rhel.repo /etc/yum.repos.d/

# yum -y install graphviz

  • dagパッケージを使えるようにする

# vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for CentOS5
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
enabled=0
gpgcheck=1

# rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt

  • djvulibreのインストール

# yum --enablerepo=dag -y install djvulibre

  • jasperダウンロード(i386)

# wget http://centos.karan.org/el5/extras/testing/i386/RPMS/jasper-1.900.1-7.el5.kb.i386.rpm
# wget http://centos.karan.org/el5/extras/testing/i386/RPMS/jasper-devel-1.900.1-7.el5.kb.i386.rpm
# wget http://centos.karan.org/el5/extras/testing/i386/RPMS/jasper-libs-1.900.1-7.el5.kb.i386.rpm

※64bit番のパッケージは「http://centos.karan.org/el5/extras/testing/x86-64/」以下にある。ファイル名も若干違うので注意。

  • ImageMagicダウンロード(i386)

# wget http://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-6.6.5-2.i386.rpm
# wget http://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-devel-6.6.5-2.i386.rpm
# wget http://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-c++-6.6.5-2.i386.rpm
# wget http://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-c++-devel-6.6.5-2.i386.rpm

※64bit番のパッケージは「http://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/x86-64/」以下にある。ファイル名も若干違うので注意。

  • 署名のチェックを一時的に無効化

# sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.conf

  • jasperインストール

# yum -y install jasper-libs-1.900.1-7.el5.kb.i386.rpm
# yum -y install jasper-1.900.1-7.el5.kb.i386.rpm
# yum -y install jasper-devel-1.900.1-7.el5.kb.i386.rpm

# yum -y install ImageMagick-6.6.5-2.i386.rpm
# yum -y install ImageMagick-devel-6.6.5-2.i386.rpm
# yum -y install ImageMagick-c++-6.6.5-2.i386.rpm
# yum -y install ImageMagick-c++-devel-6.6.5-2.i386.rpm

  • 署名のチェックを有効化

# sed -i 's/gpgcheck=0/gpgcheck=1/g' /etc/yum.conf

  • RMagickのインストール

# gem install rmagick