フォーチュンサモナーズ
最新 追記

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2005-10-10 この日を編集

_ [Ruby]Ruby Code & Style このエントリーを含むブックマーク

ruby-doc.org によれば、Ruby Code & Style というコーナー?が Artima で始まったそう。

例えば、Code Generation in Action(Ruby による Java コードジェネレーションを説いた本) や Podcasting Hacks の著者 Jack Herrington が Modular Architectures with Ruby という記事を書いてます。これは、クラス設計に関するお話(Ruby では Java みたいな factory パターンの使い方はあんまりしないようなと思ったりもしますが)。

他には PDF::Writer を使った PDF ドキュメント生成のお話Linux Cluster で科学計算をするときに Ruby で job 制御をすると楽という話(これは前に Linux Journal に載った記事ですね)など。

Advisory Board に錚々たる面々が名前を連ねてますし、記事が充実していくことを期待します。入門者向けや包括な内容のドキュメントだけでなく、こういった特定の目的に特化したドキュメントが増えていくのは良い傾向だと思います。

_ [Ruby]るびま 0010 号 このエントリーを含むブックマーク

こういった特定の目的に特化したドキュメントが増えていくのは良い傾向だと思います。

とか何とか書きましたが、るびまはまさにそれですねえ。


2005-10-11 この日を編集

_ [Ruby] Typo Theme Contest このエントリーを含むブックマーク

rails weblog より。

typorails 製の weblog ツールです。typo には見た目を簡単に変更できる theme という機能があるんですが、typo を使っている人リスト を辿ってもわかるようにデフォルトテーマを使っている人がほとんどです。配布パッケージにはデフォルトテーマしか含まれていないからでしょう(CSS 作成だけではなく eruby なテンプレートを作成する必要があるので自作するには敷居が高いかな)。

で、Typo Theme Contest が開催されています。優秀作品には iPod nano を初めとした賞品が贈られるようです。

デザイン性はブログツールを選択する時に割と重要視されるポイントですので(今の typo のデフォルトテーマもすっきりしていてなかなか良いです)、このコンテストで優秀なデザインで集まれば普及の弾みになるかもしれませんね。


2005-10-12 この日を編集

_ [Rails] Plugging into Rails このエントリーを含むブックマーク

追記: 詳細はここより、川o・-・)<2nd life - Plugging into Rails を読むと良いと思います。

Plugging into Rails によれば、拡張を簡単に追加するための仕組(plugin)が Edge Rails(latest SVN trunk なコード)に追加されたそう。

先方の記事の引き写しになるけれど簡単に説明すると、vendor/plugins ディレクトリに、

  • acts_as_chunky_bacon/
  • acts_as_chunky_bacon/init.rb
  • acts_as_chunky_bacon/lib
  • acts_as_chunky_bacon/lib/acts_as_chunky_bacon.rb

といった調子でファイルを配置すると、lib がロードパスに追加され、init.rb が自動的にロードされる。init.rb には、

ActiveRecord::Base.send :include, ActsAsChunkyBacon

と書いておくと準備完了。model クラスで、acts_as_chunky_bacon が使えるようになる、とのこと。

追記: ruby1.9 系(つまりおそらく将来の 2.0 系でも)では send, __send__ で private メソッド を呼び出せなくなっています(なかださんいつもありがとうございます)。代わりに instance_eval を使います。

ActiveRecord::Base.instance_eval "include ActsAsChunkyBacon"

参考

↓のように言っていますので、これは別に acts_as 系の拡張に限った話ではないみたいです。

We are using it for things like email notification on errors, or common before_filter’s

うーん、どういう作りなのかは実際に触ってみないとよくわからないですね。まあ、リリースに含まれるのを待ちます。

本日のツッコミ(全3件) [ツッコミを入れる]

_ なかだ [そのsendの使い方は1.9以降はdeprecatedになりましたので注意。]

_ だて [追記しました。2.0 への移行は大変そうな予感です。]

_ なかだ [fcallは確定ということのようです。]


2005-10-14 この日を編集

_ [Rails] What Is Ruby on Rails このエントリーを含むブックマーク

ONLamp の rails 記事第四弾。7 ページの大作ですね。後で読むためにメモ。ついでに過去記事のリストをメモ。


2005-10-15 この日を編集

_ [Ruby]Rubyの入門書 このエントリーを含むブックマーク

Pythonで学ぶプログラム作法 の Ruby 版があるといいなと思うことはありますね。 プログラミング入門 - Rubyを使って - をもう少しボリュームアップした感じ。

_ [Ruby] ruby-lang.org でエラー このエントリーを含むブックマーク

http://www.ruby-lang.org/ja/200301.html がエラーになりますです。

2005/10/25 追記) 直っていました。担当者の方ありがとうございます。


2005-10-16 この日を編集

_ [Rails]ModelSecurity このエントリーを含むブックマーク

アクセス制御機構により、多重防御(defense in depth)セキュリティを rails に実装するプロジェクト。開発しているのは Bruce Perens。おおー。


2005-10-24 この日を編集

_ [サイト運営] Trac を試しに入れてみる このエントリーを含むブックマーク

仕事では BTS として 影舞Trac を併用しています。同じ機能のソフトウェアが二つあったら、とりあえず Ruby 製の方を選んだりするわけですが、subversion との連携機能は重宝するため Trac も。

で、個人的にも rails のアプリを SCM でコード管理しつつタスク管理もしたいと思い立ち、subversion と Trac を試しに導入しました。今はインストールしただけで空っぽですが。

TachTrac を見ながらインストールしたところ、割とすぐに終了。使っている Apache が 1.3 なので、SuexecUserGroup の代わりに User と Group にしています。また、--suexec-docroot が /var/www なので、ちょっとあれですがパスをそっちにしています。

_ [Rails] Typo テーマコンテント その後 このエントリーを含むブックマーク

Typo Theme Contest に書いた Typo のテーマコンテストのその後です。二週間弱経ちましたが、エントリーされたテーマは一つだけのようです。賞品当選率がやたら高そうですので、腕に覚えがある方は参加してみてはいかがでしょうか。

本日のツッコミ(全1件) [ツッコミを入れる]

_ 通りすがり [> 同じ機能のソフトウェアが二つあったら、とりあえず Ruby 製の方を選んだりするわけですが それでしたらCol..]


2005-10-28 この日を編集

_ [Ruby] ActiveRecord とオンメモリ sqlite を使ってログのデータ集計をする このエントリーを含むブックマーク

ActiveRecordでon memory sqliteを使う に触発されて。

サーバに蓄積されるアプリケーションのログをデータ集計したくなることがあります。例えば、

[Thu Oct 27 00:04:35 2005] 2426 user 7 get 4065472 points.
[Thu Oct 27 07:16:39 2005] 7910 user 9 get 5114016 points.
[Thu Oct 27 08:44:30 2005] 3018 user 9 get 3120554 points.
[Thu Oct 27 10:48:51 2005] 4132 user 3 get 4832890 points.

というようなのが日々溜まっていくわけです(あくまで例です)。

このログから日付とユーザごとにポイントの合計を出したいとします。順当にプログラムをするなら、

  • 一行一行パースして 日付、ユーザ ID、ポイントを抜き出す
  • 日付をキーにしたハッシュを作る
  • さらにユーザ ID をキーにしたハッシュを作る
  • ポイントを足していく

という処理になるかと思います。データ構造が複雑で面倒な感じですね。ログファイルじゃなくてデータベースに入れてあれば SQL を使って集計できるのになあ、と後悔する次第です。

Hash.new{|h,k| h[k] = [] } などといったコードを書いているとき、ふと ActiveRecordでon memory sqliteを使うを思い出しました。sqlite をオンメモリで使えば集計を sqlite に任せられてウマーな感じです。

ということで、以下のようなコードを書いて楽ちんに集計ができました。

#!/usr/local/bin/ruby
require 'activerecord'
class Point < ActiveRecord::Base
end
 
ActiveRecord::Base.establish_connection(
  :adapter => "sqlite",
  :dbfile  => ":memory:"
)
ActiveRecord::Schema.define do 
  create_table :points do |table|
    table.column :time, :datetime
    table.column :pid, :integer
    table.column :user_id, :integer
    table.column :point, :integer
  end
end
 
PAT = /^\[([^\]]+)\] (\d+) user (\d+) get (\d+) points.$/
ARGF.each do |line|
  if mached = PAT.match(line)
    point = Point.new
    point.time = mached[1]
    point.pid = mached[2]
    point.user_id = mached[3]
    point.point = mached[4]
    point.save
  end
end
 
result = Point.find_by_sql(<<-_SQL_)
  SELECT sum(point) as sum, user_id, substr(time, 1, 10) as day
    FROM points
    GROUP BY day, user_id
    ORDER BY day, user_id
_SQL_

追記) activerecord-1.12.2 じゃないと、ActiveRecord::Schema はないみたいです。


最近のコメント:

  1. 通りすがり (10-24)
  2. なかだ (10-14)
  3. だて (10-14)

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).