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.
- ホームページ: http://www.jruby.org/
- ダウンロード: http://www.jruby.org/download
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日木曜日
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のタッグチームです。