Ruby

名古屋Ruby会議でRedmineプラグインの作り方についてしゃべってきた

名古屋Ruby会議に参加してきました。 前日入りするつもりでしたが諸事情により当日入りすることに。 スライド 侵略Redmine 〜Redmineプラグイン開発入門 〜 #ngrk02 View more presentations from Ryo Suetsugu 感想 巷で噂になっている「名古屋はヤバい」が…

REXML とlibxml-ruby の解析速度を比較して Gruff で描画してみた

Rubyの文字列の連結速度を測定してGruffで表示してみた - すえひろがりっっっっ! の使い回し。 REXML は pure ruby なので個人的に使う分には気軽に使えていいのですがびっくりするぐらい遅いので、システムには組み込めません。というのをグラフで表示して…

Ruby の Mocha がとてもメタボの匂いがしたので読んでみた

テストにスタブとかモックを導入しようと思って、Mocha を使おうとしたら expects メソッドでつまづき id:mzp にヘルプ出したら 「test_* が終わった時点で呼び出されたかを判断するっぽい動き」 と説明されました。 なんでそんなことになるんだ、ということ…

Rubyの文字列の連結速度を測定してGruffで表示してみた

String と StringBuffer の文字列連結速度のテスト - すえひろがりっっっっ!と同様小ネタ。 社会人になって1年たちますが、仕事で「素人かよ!」って思うコードをよく見かけます。 そのトップ10に入るのが「Javaで+= で文字列を連結していてパフォーマンスが…

Cronのスケジュール記法を解決する

Rails + BackgrounDRb 環境で、柔軟なスケジューリングをしたくて、Cron の記法を簡単に解決できないかなぁ、とBackgrounDRbのソースを読んでいたら、CronTrigger という便利なクラスがありました。これを使えば Rails アプリから柔軟にスケジュールを制御で…

ActiveRecordとSequelでビューのモデルを作ってみる実験

ちょっと気になってやってみたら普通にできました。 環境 ActiveRecord 2.3.5 Sequel 3.8.0 ruby 1.8.7 (2008-08-11 patchlevel 72) sqlite3 3.6.12 実験データ $ sqlite3 test.sqlite3 sqlite> create table groups (id integer, name string); sqlite> cre…

HyperEstraierのRubyバインディングの実験

実験してみた。参考:無稽筆談(2009-06-24) #!/usr/bin/env ruby require "estraier" include Estraier class EstSearcher def self.search keyword, dbpath db = Database::new db.open(dbpath, Database::DBREADER) cond = Condition::new cond.set_phrase(…

ユーザエージェントを変更するプロキシを ruby で書いてみた

ブラウザで iPhone 用のサイトを見るためにプロキシでユーザエージェントを変更する. !/usr/bin/env ruby -Ku require 'webrick' require 'webrick/httpproxy' userAgent = 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like…

ruby プロファイル

$ ruby -r profile hoge.rb