ruby

ついに Ruby の正式な仕様が登場するかも

第 1 回 Ruby 設計ミーティングのメモが公開された。 Unwinding the stack: First Ruby design meeting notes これによると、Rubinius が主導して作った RubySpec が、Ruby の正式な仕様およびテストスイートとなりそう。パチパチ。 RubySpec は、RSpec のサ…

RubyKaigi2008 のサブセッション

もう〆切っているけど。 サブ会場である多目的ホールで行われる「サブセッション」の応募〆切が、今週土曜の4月19日に迫っています。これを逃すと、発表の機会はライトニングトークス(LT)しかありませんが、例によってLTの競争率は例年とても高いです。「興…

Ruby 実装者たちによるミーティングが始まるらしい

Ruby 実装者が集まって、Ruby の仕様について話しあいをするようだ。しかも定期的に。 [ruby-core:16359] design meeting Ruby design meetings at #ruby-core 現在、Ruby は MRI 以外にもいくつかの実装が存在する。そこで問題になるのは、Ruby の公式な仕…

Ruby の予約語に endif やら endfor やらを追加するパッチ

前のエントリで、Ruby では複文の終わりを表すのが end しかないことを問題にし、それに対して endif や endfor を予約語に追加することを解決策として示した。 で、言うだけでなくて実際にパッチを作ってみた。 mismatched-end-1.0.0.tar.gz (追記: RubyFor…

Ruby が PHP に負けている点 #2: 複文の終わりを表す予約語が end しかない

負けているというと言い過ぎだけど、Ruby では複文の終わりを表すのが end しかない。 しかし PHP では、あまり知られてなさそうだけど endif や endwhile や endforeach が使える。 <table> <tbody> $value): ?> <tr> <td></td> <td></td></tr></tbody></table>

HAML

Mini reviews of 19 Ruby template engines をみると、HAMLをやけに推すやつがいたので、チュートリアルを見てみた。 ### eRuby <small class="code" id="message">Hello, World!</small> ### HAML %small{:class => "code", :id => "message"} Hello, World! ### eRuby <div id='content'> <div class='left column'> <h2>Welcome to our site!</h2> <p> <%…</p></div></div>

Ruby vs. Python は Lisp vs. Scheme に似ている

Python の好きなとこ・嫌いなとこを書いていて、よくわかった。 Ruby vs. Python は Lisp vs. Scheme に似ていると思うんだ。 Ruby, Lisp -- 機能がリッチで仕様は複雑、変数と関数の名前空間が違う Python, Scheme -- 機能を絞っていて仕様は簡素、変数と関…

tDiary の編集画面でアクセスキーを無効にする

(追記 2008-04-16: パッチの動作が逆だったのを修正。)tdiary-2.2.1 を試していたら、日記の編集画面で Control-A を押すと勝手に submit しやがった。クソッタレ!MacOS X ではいろんなところで Emacs ライクなキーバインドが使えて、たとえば C-p, C-n, C…

Ruby on Rails のリポジトリが GitHub で公開される

Rails premieres on GitHubRuby on Rails のリポジトリは GitHub へ移行すると発表されていたが、GitHub の正式公開に併せ、Rails リポジトリも公開された。 $ git clone git://github.com/rails/rails.git rails.git で Rails のリポジトリを複製できる。約…

RDoc 2.0.0 リリース

RDoc 2.0.0 がリリースされたそうです。rdoc version 2.0.0 has been released!いちばん大きな変更は、ri が高速になったことです。$HOME/.ri/ というディレクトリをつくり、そこにキャッシュすることで、高速化したみたい。

RubyForge で Git リポジトリが利用可能になったらしい。

Git for Rubyforge accountsRubyForge で Git リポジトリが利用可能になったそうです。Ruby 界では、やっぱり Mercurial は避けられているんだろうか。

Google App Engine SDK for Ruby では何が選ばれるのか

Google App Engine の開発者を増やしたい Google としては、近い将来、Ruby 版の SDK を出すだろう。今現在は準備中というところか。そうなってくると、どの Framework が選ばれるのか、俄然興味が湧いてくる。たぶん Ruby on Rails じゃないと個人的には思…

gettext の _('...') をエレガントに書く方法

gettext を使うと、_('...') というのを頻繁に書く。これをもっとエレガントに書くにはどうしたらいいか。 なんてことはない。Ruby ではメソッド呼び出しのカッコは省略できるから _('...') は _ '...' と書け、この場合ならスペースも省略できるので _'...'…

MountainWest Ruby Conference 2008: Strengthening the Ruby Ecosystem Part II: Merb

MountainWest Ruby Conference 2008: Strengthening the Ruby Ecosystem Part II: MerbRuby on Rails の alternative として注目を集めつつある Merb の作者である Ezra Zygmuntowicz のプレゼン。 Merb の開発方針として、しょっぱなから Prefer simplicity…

RubyKaigi2008 メインセッション・プログラム

RubyKaigi2008 メインセッション・プログラム見てみたけど、なんかよくわからんプログラムだ。 いちばん人気が高いと思われる Lightning Talks が 30 分しかない。サブセッションに応募しろということか? でもサブセッションは人集まんないよね、よほどの著…

RailsConf Europe 2007 プレゼン資料

RailsConf Europe 2007 のプレゼン資料。 http://www.railsconfeurope.com/pub/w/61/presentations.html 動画はないみたい。

Ruby on Rails のリポジトリが Subversion から Git に変更されるらしい

Rails is moving from SVN to Git We've been preparing for Rails to move the official source repository from Subversion to Git for some time now and it seems that it'll happen over the next week or so. The premiere will happen alongside the …

Ruby on Rails のほんとうにすごいところ

Ruby on Rails も一時の手放し絶賛状態が冷めてきて、いいところと悪いところを冷静に指摘する人が増えてきたように思う。個人的には、Rails の view layer まわりがあんまり好きじゃないし、performance の悪さは許容範囲を超えていると思うので、Ruby の他…

InfoQ: Ruby 1.9 のSymbol#to_procと(入ったばかりの)Procのカリー化

InfoQ: Ruby 1.9 のSymbol#to_procと(入ったばかりの)Procのカリー化 それでもやはり疑問は残る。確かに、 (1..100).map(&:to_s)は (1..100).map{|x| x.to_s } よりも短く書ける(この例では5文字短かい)。しかし、これは複雑さを増すに見合ったものだろうか…

hikidoc_pre.rb: Hiki の を拡張する plugin

Hiki では「<<<」と「>>>」で <pre></pre> を表現できるけど、それを拡張する plugin。 行番号をつける。開始番号も指定できる。また JavaScript で on/off できる。 インラインで <strong> と <em> が使える。「{{*foo*}}」が「<strong>foo</foo>」に、「{{/bar/}}」が「<em>bar</em>」になる。 class 属性…

勧誘

みなさん、るびまで記事を書きませんか。 最近は記事が少なくて寂しすぎる・・・Blogに書くのもいいけど、それをぜひるびまの記事に!

RubyKaigi2008 では海外スピーカーの応募がかなり多いらしい

噂によると海外スピーカーの応募がかなり多くて、このままだとプレゼンの多くが英語になってしまうという、英語アレルギーの私にはかなり恐ろしい事態が待ち受けているとかいないとか。 RubyKaigi日記(2008-02-10) プレゼンテーション募集の締め切り迫る! こ…

おまけ: Erubis のベンチマークテストを Ruby1.9 で実行するためのパッチ

Erubis の benchmark/bench.r を Ruby1.9 で実行するためには、以下のパッチが必要。 Index: benchmark/bench.rb =================================================================== --- benchmark/bench.rb (revision 96) +++ benchmark/bench.rb (work…

Ruby1.9 や Rubinius は MRI と比べて本当に速いのか

Ruby1.9 や Rubinius は MRI と比べて本当に速いのかどうか、確かめてみた。結論からいうと、fibonacci sequence のような「ベンチマーク向き」のテストでは確かに速くなっている。しかし、文字列操作を多用するような実アプリケーションに近づくほど、速く…

InfoQ: ThinはRubyの高速Webサーバ

InfoQ: ThinはRubyの高速Webサーバ Mongrel より速いそうな。速いだけでなく、メモリ消費虜も減らしており、さらに Rails 以外のフレームワークも数多くサポートしているのが素晴らしい。

Google TechTalk: Ruby 1.9

YouTube: Ruby 1.9 まつもとさんによる、Google での講演。で、下の画面は 28 分ごろに出てくるスライド。 絶望した! Ruby 作者に忘れられている Rubinius に絶望した! ・・・うそです。そのあとの質疑応答で Rubinius の名前がでてました。

スクリプト言語の起動時間を調べてみた

実行してみると分かるが、Rubinius の起動は実に遅い。どのくらい遅いかというと、間違って Java を起動したんじゃないかと思うほど遅い。あまりに遅いので、Ruby と Rubinius の起動時間を調べてみた。ついでに、他のスクリプト言語の起動時間も計測してみ…

Ruby の CGI スクリプトで Exception をブラウザに表示させる

そこで、Ruby の CGI スクリプトでも、エラーをログファイルではなくブラウザに表示させるための小さなライブラリを書いてみた。cgi_exception.rb ## HTML エスケープ def _esc_html(s) s.to_s.gsub(/&/,'&amp;').gsub(/</,'&lt;').gsub(/>/,'&gt;').gsub(/"/,'&quot;') end ##…

Ruby が PHP に負けている点 #1: エラー内容がブラウザに表示されない

Ruby で CGI プログラムを書いていると、ときどき「PHP のほうが簡単だよなー」と思うときがある。そのひとつが、エラーが発生したときに、その内容が PHP ではブラウザに表示されるのに対し、Ruby ではブラウザには 500 Internal Server Error しか表示され…

eRuby のファイルから Ruby の文と式だけを抜き出す

eRuby ファイルに Syntax error があると、該当箇所を見つけるのはかなり困難である。理由は簡単で、HTML と Ruby コードとが混じっているから。 たとえば と のあいだにたくさんの HTML タグが入っていると、それだけで for と end の対応を確認するのが難…