2009年4月18日土曜日

[GalleryView] 画像をクールに魅せるjQueryプラグイン


画像をカッコ良く見せるためのjQueryプラグインは数あれど、これはなかなかスゴい。

GalleryView
http://www.spaceforaname.com/jquery/galleryview

いわゆるLightbox系のような、サムネイルをクリックすると大きな画像を前面に表示するタイプとは違う。
どういうものかはこちらのデモを見てもらえれば一目瞭然だろう。

HTML

<div id="photos" class="galleryview">
<div class="panel">
...
<img src="http://www.blogger.com/img/gallery/02.jpg" />
<div class="panel-overlay">
<h2>Eden</h2>
<p>Photo by <a href="http://www.sxc.hu/profile/emsago" target="_blank">emsago</a>.
View full-size photo <a href="http://www.sxc.hu/photo/152865" target="_blank">here</a>.</p>
</div>
...
</div>

<ul class="filmstrip">
...
<li><img src="http://www.blogger.com/img/gallery/frame-03.jpg" alt="Snail on the Corn" title="Snail on the Corn" /></li>
...
</ul>
</div>


Javascript
$('#photos').galleryView({
panel_width: 800,
panel_height: 300,
frame_width: 100,
frame_height: 100,
});


プラグイン内でデザイン面のコーディングも行っているので別途CSSを指定しなくてもデモのような画面を描画できる。
(もちろん自分でカスタマイズも可能)

特徴的なのは、デフォルトでjQuery Timersを利用して一定時間ごとに画像を切り替える仕様になっているところ。
(オプションでタイマー利用の有無や切り替えの周期をコントロールすることは可能)


プラグインのホームページにはダウンロードのリンクが見つからなかったので、利用する場合は
こちらからダウンロード


気に入ったのでLibroSpotのトップページで使ってみました。

2009年4月11日土曜日

『プログラミング言語 Ruby』を読んだ

Rubyそのものというより Ruby on RailsありきでRubyを覚えたというWeb系のプログラマ(含自分)が読むと、「へぇ~」と関心することしきり。


今まで何となくgemとかrailsのプラグインを利用してて、ソースコードもあんまりよく理解できてなかったけど、この本を読んでから改めてコードを読み直すと、なお勉強になるかも。

後半メタプログラミングとかリフレクションとか高度な内容も含まれてるけど、使う機会はないかもしれない。

「翻訳に難あり」という意見もあるみたいだけど、そんなに気にならなかったな。
ただ、Rubyを全然知らない人がいきなりこの本を手にするべきではないと思う。
『たのしいRuby』 => 『プログラミング言語 Ruby』という流れがおすすめ。

プログラミング言語 Ruby
2009-01-26発売
まつもと ゆきひろ David Flanagan
鬱にされる鬱然たるRuby教科書
翻訳に難あり?
Mille Records: プログラミング言語 Ruby

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング
2006-08-05発売
高橋 征義 後藤 裕蔵
Rubyの入門書としては最適
プログラミングが楽しくなること間違いなし。
Ruby入門書としてはこれが一番お薦め。
プログラミング初心者にとっては少し難易度が高いかも
変数のスコープと寿命について詳しく書いて欲しかった
Mille Records: たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

2009年4月8日水曜日

Google App EngineでCronジョブ!

Google App Engineに動きがありましたね。(Google App EngineでJavaが使えるようになったというニュース)

Java使いではないので、正直ピンときませんが、同じ記事の中にこんなくだりが...

The team has also been working on many other improvements to App Engine, which we're really excited to launch to you as well:

* Access to firewalled data: grant policy-controlled access to your data behind the firewall.
* Cron support: schedule tasks like report generation or DB clean-up at an interval of your choosing.
* Database import: move GBs of data easily into your App Engine app. Matching export capabilities are coming soon, hopefully within a month.


おお、ついにGAEでcronが使えるようになった!

無料なのに、すんごい太っ腹。さすがです。

2009年4月7日火曜日

Ruby on Railsでバッチ処理をするためのメモ

Ruby on Railsを使ってcronジョブを実行するためのメモ。

例えば朝の5時にある処理を行いたい場合
crontabに次のように書く

0 5 * * * /usr/bin/ruby /path/to/rails_app/script/runner 'User.do_something'

キモはscript/runner
rails環境(activerecordとかactivesupportとか)を利用したスクリプトを実行できる。

model/user.rb
class User < ActiveRecord::Base
def self.do_something
# ~何か処理を書く
end
end

ただし!
production環境で実行する場合は注意が必要。
実行環境(environment)をきちんと明示しないと、デフォルトでは開発development環境として実行されるようだ(要確認)。
production環境下で実行しようとしたら自分の場合MySQLのエラーが発生した。

# ruby script/runner 'User.do_something'
#`real_connect': Host 'hostname' is not allowed to connect to this MySQL server (Mysql::Error)


production環境を明示する必要があるようだ。

# ruby script/runner 'User.do_something' -e production