2007-05-27rubyにFiberが...

昨日行われたCometとその周辺技術(イベント処理、Erlangなどなど)に関する勉強会ではいろいろ得るところがあった(みなさんお疲れ様でした).ただ準備時間が短くて仕込み足らなかったので,次があるならリベンジしたい.
ところで非常にタイムリーなことにYARVにFiber相当を追加することが検討されている様子.
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30827
この分野の実装について勉強をはじめたばかりなので,rubyのFiberが
どういう実装になる(なっていく)のかとても楽しみ.
追記
勉強会の様子が詳細に書かれている.自己紹介に遅刻したので,どなたかわからない...(´・ω・`)
次は遅刻もしない方向で.
http://blog.8-p.info/articles/2007/05/28/comet
あわせて読みたい.
RubyThreadingの切り替えタイミング
http://www.headius.com/rubyspec/index.php/Ruby_Threading
Erlangの以下略
http://www.erlang.org/ml-archive/erlang-questions/200104/msg00072.html
2007-05-21Rails勉強会@東京 第18回に参加したよ

Rails勉強会@東京 第18回に参加した.出たセッションは下記の通り.
ActiveRecord::QueryCacheとMagic Multi Connection
rakutoさんによるActiveRecord::QueryCacheの説明と各種Railsの速度向上について.
おおむね遅いのはAR,view,routesの3つで解決方法として下記が提案された.
- AR(ActiveRecord::QueryCacheで)
- eRB(erubisで)
- routes(瀧内さんがそのうちがんばる)
自己紹介の時に出た好きなPluginとか一覧
- acts_as_bits フラグ管理を1カラムで(ref)
- annotate models DBのテーブル情報をモデルファイルに付加(ref)
- date helper ja(自作Plugin)
- auto test 変更があったファイルに関連するテストを自動実行
- event machine ???
- gettext_scaffold gettext対応scaffold
- file_column ファイルのアップロード,加工処理などを支援(ref)
- special generator スペッシャルで情熱的なscaffold
- AR fixtures 現DBからfixturteを生成(ref)
- acts_as_paranoid DBの論理削除を支援
- rspec on rails BDDを支援する
- selenium on rails ブラウザによるテストを支援
- scoped_access with_scopeをコントローラ側で制御
- ssl_requirement SSLが必要なアクションを制御
- ja scaffold 日本語対応scaffold
- simply_helpful DOMIDやクラス名をCoCで生成とか
- pragger mashfeed Ruby版Plagger
- ajax scaffold Ajax版Scaffold
- ar templates yuguiさん作.詳細不明
- Erubis viewを速くする(ref)
- Magic Multi-Connections DBの複数接続,切り替えを支援
ErlangとShootingStar
RBridge::Erangの紹介.実装はErlangでJSON-RPCを受け付けるサーバを立ち上げて,ruby側から各種メソッドを呼び出す.なるほど,これならどんな言語でもバインディングは簡単だ.
- 2000万のプロセスを同時に保持するって話とそれが効率よく実行されるかは別だよね.
- 効果的な適用分野はなんだろう? → シミュレータ,ライフゲーム,レンダリングとか?
- Erlangのプロセスの正体ってそもそも不明だよね→Comet&Erlang勉強会@ドリコムで
ShootingStarの説明
瀧内さんによるShootingStarの説明
- クラスタ対応のShootingStarがリリースされたよ
- とりあえず10分くらいでChatを立ち上げてみる.
- 時間がおしてるので,そのほかの話題とかはComet&Erlang勉強会@ドリコムで
その他
- ドワンゴの溝口さんとお知り合いに.
ニコニコ動画の勉強会に参加できなくて悔しかった旨を伝えて,次があれば呼んでもらう約束をした(やっほー!)
2007-05-12鳥頭でも大丈夫!(Annotate Models Plugin)

沢山のテーブルを扱うプロジェクトだとテーブルにどんなカラムがあるかすぐ忘れちゃいます.
modelに新しいvalidateを追加するときなど,そのたびにスキーマを調べたりするのは面倒なそんなアナタにAnnotate Models Plugin.
インストール
script/plugin install http://svn.pragprog.com/Public/plugins/annotate_models
使い方
% rake annotate_models
これでapp/models以下のファイルに下記のようなコメントをDBから抽出してつけてくれます.
# Schema as of Mon Feb 27 00:55:58 CST 2006 (schema version 7)
#
# id :integer(11) not null
# name :string(255)
# description :text
# image_location :string(255)
# price :float default(0.0)
# available_at :datetime
#
class Product < ActiveRecord::Base
validates_presence_of :name, :description
. . .
これで鳥頭なあなたも安心です.一応バックアップはとってください.
(おしまい)
あわせて読みたい
http://pragdave.pragprog.com/pragdave/2006/02/annotate_models.html
yamaz的日常
Annotate Models Pluginかなり便利でみんな使ってるはずなのにググっても日本語での紹介がほとんどない.使うのが簡単すぎるからみんな書いてないだけ??
しかたないことですが、頻繁にDBを更新&モデルが多いときに走らせるとチェンジセットがひどいことになるのが注意。とか。
(20テーブルくらいで、結局100くらいmigrationしたときはその都度泣けました)』
私はChangeSet見ないよ派です.
あと前回の勉強会の自己紹介で「オススメPluginを一つ紹介」ってのがよかったので,今後も続けたいキモチです.』