This is just a signpost.
Does anyone know other tools?
See Also
- [rails][負荷分散]RailsのDB負荷分散調査のための資料(Japanese)
This is just a signpost.
Does anyone know other tools?
See Also
RaPT については以前 「RaPT: Railsプラグイン管理ツール」 で紹介しましたが、 手短にRaPTを使ってRailsプラグインを使う方法をまとめておきます。
インストール
1 # gem install rapt
プラグインをインストール
RAILS_ROOT
1 $ rapt install http://repo.pragprog .com/svn/P ublic/plug ins/annota te_models
プラグインをアップデート
まさにこの為にRaptを使う価値があるという代物。
1 $ rapt update annotate_models
便利です。
プラグインを作るのに手間取ったのでメモ。
ARに機能を追加させるようなプラグインのテストを書く際、AR派生クラスをnewしてメソッドを呼び動作を確かめたりしたくなります(私の場合、privateメソッドを呼びたくなった)。でもテストのためだけにテーブルを作るのはばからしい。でMockを使う方法、ARのテスト用Mockの登場です。
ポイントとしては、MockBaseで一旦ARを派生させてから、MockBaseを派生させたクラスを作るのがミソです。そうすることで他のテストに影響を与えないようにすることができます(tips from takiuchi)。
あともう一つ、environmen
1 #acts_as_notifiable_t est.rb 2 begin 3 require File.dirname(__FILE__) + '/../../../ ../config/ environmen t' 4 rescue LoadError 5 require 'rubygems' 6 gem 'activereco rd' 7 require 'active_rec ord' 8 end 9 10 class MockBase < ActiveReco rd::Base; end 11 MockBase.class_eval do 12 alias_meth od :save, :valid? 13 def self.colum ns() @columns ||= []; end 14 15 def self.colum n(name, sql_type = nil, default = nil, null = true) 16 columns << ActiveReco rd::Connection Adapters::Column.new(name.to_s, default, sql_type, null) 17 end 18 end 19 20 class MockModel < MockBase 21 acts_as_no tifiable :callback => :after_crea te, :message => "hello", :recipients => "test@gmail.com" 22 end 23 24 class ActsAsNoti fiableTest < Test::Unit ::TestCase 25 def test_optio n_message_ string 26 assert_equ al "hello", MockModel.new.instance_e val{jabber_mes sage} 27 end
自分用メモ。
1 class Post 2 private 3 def title; "My blog"; end 4 end
1 p = Post.new 2 p.instance_eval(title) 3 # => "My blog"
http://doc
はじめまして。 合同会社S21Gで経理を担当している瀧内真理です。 これまでは日陰の身だったのですが、このたびブログデビューをすることとなりました。 社員二人のようなプログラムの知識はまったくありませんので、技術者の皆さんには興味がないかもしれませんが、経理に興味のある方の参考になれば嬉しく思います。
去年から簿記をはじめて、S21Gの創立の手続きを行い、各種届出をしました。 何もかもが初めてのことで、戸惑うことばかりでしたが、何とかこれまで大きなトラブルもなく進めていくことができました。 もうすぐ決算期を迎え、さらに慌しくなりそうです。その辺りの現在進行形の話や、簿記の話などを中心に書いていきたいと思います。 簿記に関しては人に教えられるようなところにはいませんが、勉強したことと、実際の経理との違いなどをご紹介していければと思っています。
つたない文章になるかと思いますが、よろしくお願いいたします。
Redmineを使っていて、Issueの追加/変更通知がGTalkで来たらうれしいかもと思って作りました:acts_as_no
NOTE:
http://svn
XMPP4Rをインストール: http://xmp
1 $sudo gem install xmpp4r
プラグインをインストール
1 #{RAILS_ROOT}/config/ac ts_as_noti fiable.yml 2 to: 3 recipients : you@gmail.com me@gmail.com 4 from: 5 id: your_notif y_account@gmail.com 6 password: pass 7 connect: talk.google.com
1 class Issue 2 acts_as_notifiable :message => Proc.new {|o| "[#{o.project.name}:#{o.class.name}##{o.id}]#{o.status.name}:#{o.subject}\n #{o.journals.last.notes unless o.journals.blank?}"}
NOTE: 通知を受け取るIM側でyour_notif
In my company, we're using a Redmine. And I thought it would be more useful if I could receive some activities
NOTE:
http://svn
Install XMPP4R: http://xmp
1 $sudo gem install xmpp4r
Install plugin
1 #{RAILS_ROOT}/config/ac ts_as_noti fiable.yml 2 to: 3 recipients : you@gmail.com me@gmail.com 4 from: 5 id: your_notif y_account@gmail.com 6 password: pass 7 connect: talk.google.com
1 class Issue 2 acts_as_notifiable :message => Proc.new {|o| "[#{o.project.name}:#{o.class.name}##{o.id}]#{o.status.name}:#{o.subject}\n #{o.journals.last.notes unless o.journals.blank?}"}
NOTE: Don't forget to add your_notif
Rails-2.0から、FunctionalTest::UnitからActionCont
に変わりました。
それに伴って、テストクラス内にsetupメソッドやteardown
メソッドを書いても実行されなくなっています。
Rails 2.0.2のファンクショナルテスト機構が壊れている件・謝罪と訂正Comments
今日は久しぶりにRails 2.0.2を使い、久しぶりに付属のファンクショナルテスト機構を使っていたのですが、そこでひどいバグに遭遇しました。
Functionalsetupやteardownを使う機会がなかったので
今まであまり気になってなかったですが、確かに使ってる人からすると
困る問題ですね。
バグだとして、パッチが採用されたら直るんだろうけど、
2ヶ月間放置されてる状況からすると、setupやteardown
を使わない方向が「Convention
See Also
Ebbは以前にも紹介しましたが (ポストMongrel時代のWebサーバ参照)、 Thinより高速といわれている軽量・高速なWebサーバです。
Ebb aims to be a small and fast web server specifical
ly for hosting web frameworks like Rails, Merb, and in the future Django.
こちらでも紹介されています。
Ebb: C-Powered Web Server That Uses Rack - Faster than Mongrel and Thin
非常に興味深いですね。 ということで、ちょっと使ってみました。 先日からgemインストールできるようになったので、 いつものように
1 # gem install ebb
でインストールできます。 ただし、EbbはRuby拡張でglib2のヘッダファイルに依存しているため、 あらかじめそちらもインストールしておく必要があります。 以下はDebianの場合。
1 # apt-get install libglib2.0-dev
インストールが完了したら、RAILS_ROOT
1 % ebb_rails start
また、ebb_railsコマンドのオプションは以下の通り
1 Usage: ebb_rails [options] start|stop 2 3 Server options: 4 -p, --port PORT use PORT (default: 3000) 5 -e, --env ENV Rails environment 6 (default: developmen t) 7 -c, --chdir PATH Rails root dir 8 (default: current dir) 9 -d, --daemoniz e Daemonize 10 -l, --log-file FILE File to redirect output 11 -P, --pid-file FILE File to store PID 12 -t, --timeout SEC Request or command timeout in sec 13 (default: 60) 14 15 Common options: 16 -h, --help Show this message 17 -v, --version Show version
とりあえず、単純なアプリケーションでテストした限りでは、 問題なく動いている模様です。 楽しみなプロジェクトですね。
See Also
参加者の皆様、お疲れ様でした。 おかげ様で非常に面白い話が聞けました。 特に梅澤さん、質問ばかりですみませんでした。 梅澤さんのお陰で勉強会の体をなしていたといっても過言ではないと思います。 ありがとうございました。
確かに動き続けるプログラムを語る上でSmalltalkは避けて通れない、 大変参考にすべきものですね。 GemStone の話がとても興味深かったです。あと GLASS も。Smalltalk+マルチユーザ環境が僕が求めていたものなのかもしれません。 マルチユーザ環境を実現する過程で、他にあげた要素が必然的に 必要になってくる気がしますし。
惜しむらくは、マルチユーザっぽいSmalltalkの処理系で、 フリーで使える環境がないということですね。 しかしなんにしても、Smalltalk面白いなあ。
See Also