2011年7月30日土曜日

JRubyKaigi 2011、RubyKaigi 2011 で喋ってきました。

凱旋(?)


2011年7月14日、Rubyで飯を食うようになって初めて帰国しました。タイトルにある通り、JRuby会議とRuby会議で喋る為です。東京への出張は2004年に一回ありましたけど、その時は別の会社で、しかもその会社のCEOの通訳みたいな感じで詰まる所「おまけ」だったので、今回は少し箔がついた感じの帰国でした。

帰国の便


余談ですが、今回の帰国便はデトロイト発の羽田行きでした。ボーイング777型機で、私の座った席には電源が付いていて、ラップトップの電池の残量を気にする事なく道中を楽しむ事が出来ました。惜しむらくはWiFiがなかったのでネットで遊べなかった調べものが出来なかった事です。乗機率がかなり酷くて、乗っていた人全員が最低三席を占拠して横になって眠れるくらいでした。東京への便が(昨今の事情で)全てそうなのかと思ったのですが、成田への便は結構混んでいたという同僚の話でした。

JRuby会議 2011


今回のJRuby会議は、Ruby会議の前夜祭といった雰囲気があって、50人くらいの方が参加されました。私は、トマス・エネボ氏のキーノートのスライドを翻訳して、弊社エンジンヤード社のAppCloudでJRubyを使ってRailsアプリケーションを動かす方法を紹介しました。


AppCloudではサーバのインスタンスを立ち上げる時必要なスクリプトをS3から取ってくるのですが、私のデモの時はどういう訳かこれに失敗してちょっとあたふたしました。結局もう一つの環境を作り直して何とかデモを終えたのですが、やはりインパクトが弱くなってしまった感は否めません。会議が終わった後、S3の問題も修正できたのですが参加して下さった皆さんにそのことが伝わったかどうかは疑わしいです。非常に残念。

生まれて初めての地震


因みにJRuby会議の最中に地震がありました。会場だった青山の日本オラクルのビルは耐震構造がしっかりしていて建物全体が数秒間ユラユラしただけで事無きを得ました。地震を体験したのは実はこれが生まれて初めてでした。地震国日本に生まれたというのに。

Ruby会議 2011


私は「Rubyを持て、世界に出よう」という演題で話しました。周知の通り、今年でRuby会議は終わりです。私にとっては初めてのRuby会議だったのですが、私の講演は、今の日本のRubyist達が次に目指すべきあり方の一つを示す事が出来たのではないかと思います。(講演についてのもう少し詳しい話は後日書きます。)

初めて会う人々


上記の通り、Rubyを使うようになって初めての帰国だったので日本の著名なRubyistの方々多数に初めてお会いする機会に恵まれました。とは言うものの、普段からTwitterなどでやりとりをしている所為で初対面という感じがしないのが不思議といえば不思議でした。


海の向こうにいる家族ともスカイプでほぼ毎日顔を合わせる事が出来たし、「凄い時代になったものだ」と感心しました。

2011年3月15日火曜日

JRuby 1.6.0 がリリースされました。

原文

The JRuby community is pleased to announce the release of JRuby 1.6.0.

JRuby 1.6.0 が正規にリリースされました。


JRuby 1.6.0 は過去最大のJRubyリリースです。
このリリースは、ユーザから報告のあった数百の不具合を直し、またRuby 1.9.2との高い互換性を実現しています。
またウィンドウズ上で継続的インテグレーションを行い、これをサポートするプラットフォームに加えました。
ウィンドウズでRubyを体験するのにJRuby 1.6は最適の方法と言えるでしょう。
このリリースではRubyのAPIに基づいたC拡張への対応を試験的に取り入れています。
更に、今までの主なリリースと同様、ユーザの声に耳を傾け、安定性とパフォーマンスの向上を実現しています。


今後一二ヶ月の間は1.6.0へのフィードバックを受けて1.6.1, 1.6.2等、細かくリリースを行う予定です。
1.6.0を是非使ってみて、報告をして下さい。

主な特長

  • Ruby 1.9.2言語とAPI互換性の実現

    • Encoding::Converterとripperは未対応
  • Rubyメソッド呼び出しのパフォーマンス向上

  • 組み込みのプロファイラ(–profile, –profile.graph)

  • RSpecを配布ファイルから外しました

  • C拡張のサポート(試験的)

  • MavenアーティファクトをRuby gemとして扱える(プレビュー)

  • Windowsプラットフォームへの対応

  • 1.9標準ライブラリをjruby-complete.jarに追加

  • 組み込みAPIの更なる改善

  • 2000のコミットと270を超える不具合の解消


2010年12月30日木曜日

JRubyの一年を振り返って

原文: チャールズ=オリバー=ナター

皆さん、こんにちは。

2010年ももうすぐ終わり。この一年を振り返ってJRubyにとって重要な出来事や人々を見て行きましょう。
2010年は、JRubyにとって素晴らしい年でした。様々なプロジェクトに採用され、また、第一級のRuby言語実装としても第一級のJVM言語としても人々に認知され、更にはJRuby自体も多いに進化した一年でした。早速みていきましょう。

2010年7月25日日曜日

Eclipse Memory AnalyzerでRubyアプリケーションのメモリリークを検知する

原文: チャールズ=オリバー=ナター


前回の記事「JRubyでメモリを観察するには」の後、何人かの人からEclipse MATのJRubyでの使い方について書いてみたらどうかとの意見を貰いました。これを早速取り上げる事にします。

2010年7月24日土曜日

JRubyのメモリを観察するには

原文: チャールズ=オリバー=ナター


Ruby言語の各実装において、どんなメモリ消費を解析するツールがあるのかが近頃ちょっとした話題になっています。 それもその筈、Rubyで書かれたアプリケーションの(不具合の調査は言うに及ばず)メモリ消費の具合を詳しく調べるのは容易い事ではありません。 JRubyを使わないのなら、そうです。


JRubyはJVM上で走るので、JVM向けに作られた何十ものツールの恩恵に授かる事が出来ます。 中にはJDKに同梱されているものを含め、メモリの調査、解析、レポートをするものもあります。 ヒープダンプが欲しければ、Hotspot系のJVM(SunまたはOpenJDK)に含まれるjmapやjhatが使えます。 もっと高度なツールが欲しければ、Eclipseを基にしたMemory Analysis Tool、 メモリ及びCPU性能解析ツールであるYourKit、 今ではHotspotに含まれているJavaVMを始め、 数多くの選択肢があります。 こうした数多くのツールのお陰でメモリの調査には事欠きません。


本稿では実際にこのうちの二つのツールをどの様に使いこなすか見ていく事にします。 取り上げたツールは起動中のJVMを観察するグラフィカルなツールであるVisualVMと、 ヒープをダンプして事後解析を可能にするjmapとjhatのタッグチームです。

2010年6月17日木曜日

今のJVMに欠けている物

原文: チャールズ=オリバー=ナター

今日ツイッターで、「JVM及びJDKが、あらゆるプログラミングにおいて真にイケてるプラットフォームになる為には未だ幾つかの欠陥が有る」と呟きました。沢山の人から「もっと詳しく」とせっつかれたので、ここに短く書き起こしておきます。勿論、これで全部という訳ではないのでしょうが、今日思いついたのはこれだけです。

2010年6月15日火曜日

JRubyのパフォーマンスの更なる向上を目指して

原文: チャールズ=オリバー=ナター

JVM上でJRubyが動く事の利点は折りに触れて述べてきました。JRubyのパフォーマンス数値はそこそこの結果を出しているのですが、多くの人々の期待に反して「抜群に素晴らしい」というものではありませんでした。詰まる所、他のRuby言語の実装に較べて良い結果を出したとしても、静的な型システムを用いる他のJVM言語には敵わないのでした。

しかし、それは今までの話し。