Ruby

Ditz はとても素晴らしいと思います!

つい先日、Rubyで書かれたDitzという分散型のITS(Issue Tracking System)がリリースされたようです。http://ditz.rubyforge.org/上のサイトをご覧になれば分かるかと思いますが、基本的にコンソールベースです。最近はtracとかredmineとかwebベースのITSが流…

Gruff でベンチマークをお洒落にしてみました

CSVをいじってグラフを描くのはとても面倒なので、gruffでそれっぽいグラフを描くようにしてみました。 % ruby -I lib benchmark/run.rb -a thin --format gruff --target "template" のようにすると、次のようなセクシーなグラフをファイル(graph.png)に出…

クラスのアンロードがうまく出来ません

うーん、クラスがうまくアンロードできません。クラスやモジュールがGCの対象となるのは、 そのクラス/モジュールを指す定数が削除され(remove_const) そのクラス/モジュールを利用するクラスが存在せず そのクラスのインスタンスが存在しない http://www.ru…

autoload は monkey patch と相性が悪いので困ります

autoload はとっても便利!なのですが、最近は monkey patch なライブラリが多いのでその利点が活かしづらく、ちょっと困ります。 autoload :YAML, 'yaml' {}.to_yaml こんな感じに書かれちゃうとYAMLを参照しないためにうまいこと require 'yaml' 出来ませ…

MIME型判別ライブラリの速度測定その2とメモリ使用量

以前「RubyにおけるMIME型判別ライブラリの比較」というものを書きましたが、RamazeさんにもMIME型判別のモジュール(Ramaze::Tool::MIME)がありました(ただしMongrel由来のもの)。じゃあせっかくだから、速度を測っておきましょう。以前書いたものにちょ…

Scaffolding Extensions は素晴しいと思います!

Jeremy Evans さんが開発された Scaffolding Extensions はとても素晴しいと思います。このライブラリはRailsにおけるいわゆる"scaffolding"を汎用にしたものです。つまり、モデルに対する一覧、編集、追加、削除などを簡単に行なうことが出来るインターフェ…

RubyWaves における AutoCode について

RubyWavesは結構面白いですよね。そんなわけで目玉機能のひとつであるAutoCodeがどのようなものか調べてみました。まず最初に断っておくと、AutoCodeは普通にRubyのライブラリなので、RubyWaves以外にも使えます。なので、これは素晴しい!と思ったら誰でも…

Bacon さん before/after 問題を解決するパッチを送りました

以前書きました「Bacon さん before/after」の問題を解決するパッチを作者さんに送ってみました。なんだか微妙にごちゃごちゃした修正になってしまったのですが、一応RSpecと動作を同じにしようと思ったらこうなってしまったので仕方ないかなぁ、と思います…

RSpecではbeforeの中で例外を起こすとどうなるの?

Baconさんをどう直すべきかを考えるにあたって、まず気になるのは、RSpecではbeforeの中で例外が起きた時にどうなるの?ということです。beforeで例外が起きた時にはafterを呼ぶべきなのでしょうか。beforeで失敗してるんだからafter呼び出しても無駄じゃな…

Bacon さん before/after

RSpecなんてゴチャゴチャしててソース読む気にならないじゃん!そんなもん使えるか!...と思ったかどうか分かりませんが、Ramazeさんはテストを記述するのに軽量RSpecとも言える Bacon を使っているんですよね。しかしこの Bacon、困ったことに after の呼び…

Sequel::Model におけるしなやかな validation

Ramazeさんと相性抜群な感じのORM(としても使える)ライブラリ Sequel は、Sequel::Model が Rails や DataMapper 的にモデルを定義できちゃったりしてもうとっても楽チンなわけです。しかし残念なことに現状 validation に関しては極めてイマイチではない…

ベンチマーク:値の参照いろいろ

微妙に気になったのでベンチマークを採ってみました。ある値を参照したい時に、定数を参照するのと関数(メソッド)の返り値として値を得るのでは、どのくらい差があるのでしょうか。とっても素朴な疑問ですが、測ってみたことがないのでやってみました。 re…

ウェブアプリケーションフレームワークWaves

またしても新たなRubyのウェブアプリーションフレームワークが登場しました。その名もWaves!なんだかRailsみたいな感じの名前だから、Ramazeさんよりも流行ったりするのかな?http://rubywaves.com/ざっと見た印象では、基本的にはRamazeさん同様に選択の自…

Thin 0.6.1 の変更点

Thin は一時期話題になったきりほとんど追いかけてる人居ないよね。と思ったのですがどうでしょう。ひょっとして皆様はmongrelに夢中なのでしょうか。そんなわけでRamazeさんのパッチを書くために Thin 0.6.1 の変更点(0.5.4からの変更点です)をまとめておき…

RA Certified Ruby Programmer Silverの認定証が届きました

昨年論文のせいでヴぁーっとよだれをたらしている真っ最中に受け、そして目出度くも合格した RA Certified Ruby Programmer Silver の認定証が本日届きました。さて、とにもかくにも人間国宝が漉いた和紙(出雲民芸紙)ですよ!見た目は一見藁半紙のようです…

RamazeさんのAmrita2テンプレートエンジンをアップデートしました

先日 Amrita2 の version 2.0.0 がリリースされました。Amrita2と言えば、説明が不要なくらい有名なRubyのテンプレートエンジンのことですね。長らく開発が停止しているように見えましたが、見えないところで着実に前進されていたのですね。大変に有り難いこ…

ohcountはとっても便利

オープンソースプロジェクトの格付け的サイトであるOhlohさんが ohcount を公開されたそうです。 Ohloh Goes Open Source Ohloh Labs ohcount以外のツールも今後公開される予定のようですが、とりあえず現在ではohcountだけです。ohcountは様々な言語で書か…

Mongrelもthinもkeep-aliveしない

今迄知らなかったんですが、Mongrelもthinもkeep-aliveしないで強制的に "Connection: close" しちゃうんですね。理由は以下のように書いてありました。 You may also work the HttpResponse object directly using the various attributes available for th…

Ramazeさんは素晴しいと思います

知名度こそまだ低いものの、Ramazeさんはとっても素晴しいウェブアプリケーションフレームワークです。特にRailsさんのような黒魔術がないところが素敵だと思います。Ramazeさんの魅力を知りたい方は以下の記事をご覧下さい。 Ramaze: Another Light Ruby We…

ruby-minpaso-0.1.0を公開しました

新年あけましておめでとうございます!Windowsエクスペリエンスインデックス(WEI)結果を検索できるMinpasoさんのAPIのRuby用ラッパーライブラリruby-minpasoを公開しました。 http://minpaso.rubyforge.org/ http://rubyforge.org/projects/minpaso/ インス…

ruby-kizapi-0.1.0 を公開しました

kizasi.jpさんが提供して下さっておりますAPI"kizAPI"のRuby用ラッパーライブラリruby-kizapiを公開しました。いつもの通りに有り難くrubyforgeを利用させて頂いております。 http://kizapi.rubyforge.org/ http://rubyforge.org/projects/kizapi/ インスト…

TypographicUnit-0.1.1 を公開しました

TeX流にタイプサイズの単位変換を行なうRubyライブラリの TypographicUnit 0.1.1 を公開致しました。 http://typographicunit.rubyforge.org/ http://rubyforge.org/projects/typographicunit/ インストールはいつもの通りgemって下さいませ。 sudo gem inst…

NTimeLine-0.1.0 を公開しました

@nifty TimeLine API のRuby用ラッパーライブラリであるNTimeLineの0.1.0を公開しました。前にruby-tumblrでちょこっと言及してたヤツですね。今回も有り難くrubyforgeさんを利用して公開させて頂きます。 http://ntimeline.rubyforge.org/ http://rubyforge…

Ruby 1.9.0 のリリースおめでとうございます!

無事に1.9.0がリリースされたようで大変に目出たいことです。時々 svn up しながら眺めていましたが、ここ数日はとにかくもの凄い勢いで色々なものがcommitされていてびっくりしました(謎のgorubyとか)。皆様お疲れ様でした。ところで先程 ruby-core に M. E…

Kernel.test に関する無駄知識

Ruby の Kernel.test の第一引数って普通は ?e みたいに ? 記法で渡すじゃないですか。あれって1.8までは ?e は数値が返ってきて、1.9では文字列が返ってくるようになったんですよね。だから 1.9 では Kernel.test(?e, "test.rb") と書くと結局は第一引数に…

第19回オープンソースサロンに行ってみました

Ruby1.9って良く分かんないから少しでも情報を仕入れておかなきゃねと思い、第19回オープンソースサロンに行ってきました。19日の19時に開催すれば完璧だったのに。 第19回オープンソースサロン日時:2007年12月21日(金) 18時30分〜20時00分 場所:松江オー…

TypographicUnit 0.1.0 を公開しました

TeX流にタイプサイズの単位変換を行なうライブラリでありますところの TypographicUnit 0.1.0 を公開致しました。これで rubyforge を利用したプロジェクトは6つ目です。rubyforgeさん、いつもいつもありがとうございます。 http://typographicunit.rubyforg…

ruby-dvi 0.1.0 を公開しました

DVI(DeVice Independent)及びTFM(Tex Font Metric)ファイルを読み込むためのライブラリであります ruby-dvi 0.1.0 を公開致しました。毎度ながらrubyforgeさんを利用して公開させて頂いております、感謝。 http://dvi.rubyforge.org/ http://rubyforge.org/p…

KanpouWatcher 0.1.0 を公開しました

独立行政法人国立印刷局インターネット版『官報』 から官報PDFファイルをダウンロードするためのツール及びライブラリでありますところの KanpouWatcher 0.1.0 を公開致しました。またまた rubyforge さんを利用して公開させて頂きます、rubyforge さん本当…

ruby-weatherhacks 0.1.1 を公開しました

livedoor さんの天気予報サービス Weather Hacks の wrapper library をrubyforgeで公開しました。 http://weatherhacks.rubyforge.org/ http://rubyforge.org/projects/weatherhacks/ これは Weather Hacks の LWWS を Ruby で簡単手軽に使えるようにしたも…