ruby

"sep".join(list) が気持ち悪い理由

list が必須で separator はオプションなんだから、list が receiver になるほうがどう考えても自然だろう。省略可能な separator が receiver にくるほうが不自然だ。

Rubyの例外クラス設計

具体的には、テストです *2 。例えば foo(1, 2) で wrong number of arguments が投げられることをテストしたいとします。以下のテストだと、wrong number of arguments 以外の ArgumentError が投げられる場合でも合格になってしまいます。 assert_raise(Ar…

裏番組が強力すぎ

RubyKaigi2009 のタイムテーブルが発表されたんだけど。。。裏番組、強すぎだろ。「ドリフ」と「ひょうきん族」が同じ時間にやってた時代のTVプロデューサの心境だわ。 調子こいて「1時間!」とか書いたら、こんな枠に allocate されてもうた。アホすぎる。 …

GitHub で gem を自動作成させるときの注意

GitHub では、gem パッケージを作成してくれる機能がある。 やり方: GitHub のプロジェクト管理ページから「edit」をクリックし、「RubyGem」のチェックボックスにチェックを入れる。 自分のプロジェクト用の *.gemspec ファイルを commit & push する。この…

るびま 25 号

唐突に記事の数が増えてびっくり。たぶん、ローソクの炎は消える前になんとかというやつ。今回担当だった編集さんは優秀っぽい。別に話したこともお会いしたこともないけど、メールを数回やりとりしただけで「仕事のできる男」を感じさせた*1。ソースはわし…

Ruby 1.9.1 がリリースされたけど・・・

たいへんお待たせしました。Ruby 1.9.1 が、ついにリリースされました (リリースについてのアナウンス:[ruby-list:45836])。 本リリースは、Ruby 1.9系統の、初めての公式な安定版のリリースとなります。 Ruby 1.9はRubyの新しい系統です。近代的に、高速に…

github で gem が生成されない・・・

MySQL ドライバを 1.9.1 用に修正し、ついでに RubyGems に対応させたバージョンを github に載っけたんだけど、gem が生成されない・・・ gem の作成がエラーになっているわけじゃなくて、そもそも gem を生成するコマンドが走ってくれない。 "RubyGem" の…

るびまに広告

るびまって広告つけないのかな。それなりに良質な独自コンテンツを持っていて、それなりにPVもあって、なによりビジターの傾向がはっきりしているんだから、広告媒体としてはけっこうよさげに見える。グーグルやアマゾンを使えば、サーバ代ぐらいは捻出でき…

Ruby 1.9 でアプリケーションが速くなるとしたら

個人的には、Ruby 1.9 を使っても業務アプリケーションや Web アプリケーションはそう速くはならないと思ってる。少なくとも、自分のプログラムでベンチマークした限りではそうだった。Ruby 1.9 による高速化の恩恵を受けるのは、数値計算を多用するようなプ…

ゴスリングだって間違える

Java の父と言われる Gosling。業界内では超有名人。 そんな彼でも、間違えることはあるさ。 -- 一部では"JavaはすでにCOBOLのようなレガシーに近い"という声も上がっていますが…。その意見にはまったく賛同しかねるね。そういうことを一部のRubyユーザなど…

Ruby で複文を書く方法

Ruby では「( )」で複文が書けるそうな。 つまり、(statement; statement; statement) みたいなことができるらしい。 括弧の中で改行があるとそれは独立した式とみなされます。括弧の中でも改行はセミコロンを置いたのと同じ意味になります。 Re: 複数行にわ…

まつもとさんが RubyFlow デビュー

まつもとさんが RubyFlow デビューを果たした。内容はフクオカ Ruby 大賞についてなんだけど、これって日本以外からの応募も可能なんだろうか。rubyflow.com に投稿したからにはきっとそうなんだろう。優勝賞金 100 万円は、ドル換算で約 1 万ドル? 海外の人…

Mac Ports の Ruby が遅かったのは修正されたみたい

MacPorts でインストールした Ruby は遅いらしいの続報。 Ruby port のバージョンがあがって、修正された模様。 手元の環境では、ruby@1.8.7-p72_1 だと問題があり、ruby@1.8.7-p72_2 だと修正されていた。 ### ruby port のバージョンを確認 $ port install…

MacPorts でインストールした Ruby は遅いらしい

Ruby のメーリングリストで出た話題。 MacPorts でインストールした Ruby は遅いらしい。というわけで、MacOS X 10.5 Leopard で確かめてみた。 $ /usr/bin/ruby -v # MacOS X 付属 ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0] $ /usr/lo…

Apple は Merb を本番稼働中?

InfoQ より: SproutCore is the toolkit Apple uses for the client side of it's MobileMe applications. ...(snip).. SproutCore also uses Generators, written in Ruby, to create models and other aspects of the SproutCore application. Generation …

RubyGems 1.3 インストール

RubyGems 1.3 が出てたのでインストール。 $ sudo gem install rubygems-update $ sudo update_rubygemsというか、Merb を 1.0 にアップデートしようとしたら RubyGems 1.3 が必要だった。

Merb 1.0 リリース記念に、Merb がどんだけすごいのかを紹介した海外の記事を翻訳してみた

まつもとさんもお気に入りという Merb フレームワークの 1.0.0 がリリースされた。これは Rails 一辺倒だった時代から、複数のフレームワークが入り乱れる時代への切り替わりを告げる、大変重要なリリースだと思っている。 しかし日本のニュースサイトでは何…

Plugging Ruby Memory Leaks: heap/stack dump patches to help take out the trash.

Ruby 用のメモリ分析ツールらしいっす。 In this blog post I'm releasing some patches to MRI Ruby 1.8.7p72 that add heap dumping, object reference finder, stack dumping, object allocation/deallocation tracking, and some more goodies to MRI Ru…

Merb 1.0 RC2 release

Merb 1.0 のリリース候補 2 回目がリリースされた。 今回のリリースによって、Windows 環境で動作するようになった。 1.0 正式リリースは 11 月はじめを予定しているそうです。正式リリースのあかつきには、PC Web とかで紹介してくれんかのう。

ふざけんな旭山動物園

ただいま休園中!(10/20-31は休園します) 11月1日より冬期開園が始まります 旭山動物園では冬囲いや寒さに弱い動物たちの引越,色々な工事を行うことから,10月19日で夏期開園を終了しました。 10月20日〜31日は休園し,11月1日から冬期開園が始まります。 …

Merb 1.0 RC1 Release

Alternative Rails として期待を集めている Merb のバージョン 1.0 候補がリリースされた。インストールする前に、まず RubyGems 1.2 またはそれ以降のバージョンをインストールすること。古いバージョンだとインストールに失敗する可能性がある。RubyGems 1…

Ruby にとって JRuby や Rubinius が必要な理由

Ruby には、本家実装である MRI 以外に、JRuby や Rubinius といった alternative implementation が登場している。 でも、いちばんよく使われるのは本家 MRI だし、それはこれからも変わらないだろう。じゃあ MRI 以外の実装は必要ないじゃん、と言われるか…

るびま 24 号

Rubyist Magazine 24 号編集部の皆様、お疲れさまでした。 ところで、るびまはフェードアウトするみたいだ。 そしてそれは Ruby の会や、この「るびま」にも同様のことが当てはまる。 あまり遠くない将来、 ネガティブなものであれ、ポジティブなものであれ…

named_scope が Rails 1.2.6 と 2.0.4 に back port されたらしい

RubyFlowより。 Ruby on Rails の named scope は、O/R マッパーの使い勝手を大きく改善するが、これは Rails 2.1 からの新機能であり、古い Rails では動かない。 しかし、これを古い Rails に移植したツワモノがいるそうだ。 NamedScope For Those Left Be…

なぜ File.read() でなくて IO.read() なのか? なぜ File.read() はあって File.write() はないのか?

Ruby 1.9.1 仕様変更締め切りを記念して、Ruby で前々から疑問に思ってたことを書いてみる。 (1) IO.read() は、なぜ IO.read() であって File.read() でないのか。引数に filename を取るんだから、filename に関係ない IO より、関係のある File のほうに…

Perl vs. Ruby

いい加減Ruby信者がうざい件 なんか、「古くさい」だの「時代遅れ」だのと Java 屋にいじめられて涙目になって反論している COBOLer かと思った。 Perl が古くさいのは事実だと思うけどね。あとから出た Ruby や Python や PHP はどれもデータ型で $var と @…

NeverBlock が Ruby 1.8 対応?

NeverBlock Now Supports Ruby 1.8 Utilizing Aman Gupta's Poor Man's Fibers we were able to add Ruby 1.8 support to NeverBlock. Thankfully this does not mean that applications written for NeverBlock now require full thread safety. Aman's imp…

オープンソースな Rails アプリを集めたサイト

RubyFlowより。 オープンソースな Rails アプリをひたすら集めてカタログ化したサイト。スクリーンショットもあるよ。OpenSourceRails.com残念ながら、検索したりとかジャンル分けしてるわけじゃないから、目的のアプリを探し出すのには向いてないかもしれな…

日本製の Rails アプリってなんかあったっけ?

RubyFlowで、What are the flagship Japanese open-source Rails apps? という質問が。よく考えたら (よく考えなくても)、日本製の Rails アプリケーションって何かあったっけ? 最近は企業での採用も増えてきたけど、どれも自社サービスものばかりで、オープ…

RubyGems で Gem::RemoteFetcher::FetchError 発生

gem コマンドを使うと、Gem::RemoteFetcher::FetchError が発生するようになった。 $ gem outdated ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) bad response Not Found 404 (http://gems.datamapper.org/latest_specs.4.8)gems.datam…