火曜日 7 01, 2008

jruby-users.jpができました

先週木曜日、用賀で行われました、JRubyセミナーの後、Charles Nutterを囲んで打ち上げのときなんだかJRubyコミュニティーを作ろうとか、そういう話になり、その場でjruby-users.jpというドメインを取得してみたり。その後、具体的にどう進めようと話していたかは覚えていませんでしたが、野澤さんがささっと、ホスティングサービスを設定してくださったおかげでとりあえずトップページが出来上がりました。
R0026186
とりあえず出来上がったのはいいのですが、まだノープランということで、コンテンツも何もありません。うーむ(そういえばグラジェーもまだまだ少ないし・・・)。せめてTopページぐらいはぱっとしてほしいなあ、なんて思わなくもないので、勝手にデザインコンペを始めて見ようと思います。一つ目の案です。こんなのどうでしょう。
Web design proposal for jruby-users.jp
Yokoso! jruby-users.jpって感じです。どこかでみたことあるようなないような。Dukeとお魚を描いたのに、肝心のルビーを忘れています。大失敗。

水曜日 6 25, 2008

RubyKaigi 2008に行ってきました

去年参加してすっかりRuby、というより、RubyKaigiの空気感が大好きになったので今回もワクワクしながら参加してきました。そして、今年もその期待を裏切らない楽しさ。
_DSC7640
HotSpot Server VMによる最適化の効果を実演するCharles。残念ながら寝坊のため前半聞けずorz
_DSC7650
サンの展示ブース。多目的ホールの入り口に場所をいただき、NetBeans、GlassFish、Solaris on Sunサーバのパネル、それにJRuby Tシャツを展示しています。JRuby Tシャツ売ってないの? と、言っていただいた方もいらっしゃったんですが残念ながら非売品です。
_DSC7655
GlassFishな高井さん(土曜日)。日曜日はスーツコスプレでした。
R0026126
エンタープライズRubyの発表。大場さんとの掛け合いがばっちりでした。たしかニコニコ動画に動画でアップされていますが、今年は高井さんのくねくねっぷりがみれませんでしたねえ。残念。
_DSC7671
あと、会場で売られていたRails本で、Ruby on Rails 逆引きクイックリファレンスを買って、しかも著者3名の方にサインをいただきました。ヤッター!
_DSC7687
懇親会。なんか、内容が難しすぎて会話に入れません・・・。Rubyソースコード完全解説ぐらいは読んでからじゃないとコアな話の片鱗すらわからないかも・・・。
_DSC7697
YoshioriさんのRejectKaigi向けCall for Paper。
R0026142
RejectKaigiもRejectされてRejectRejectKaigiで話されてました。最近テレビとか全くみないのでお笑い動向とかよく知らなくて、これの元ネタもよくしらないんですが、かなり笑えました。
R0026141
たくさんのコメントがついたボード。おつかれさまでした!

月曜日 6 09, 2008

Ruby/JRuby関連イベント

今月はRuby会議 2008がある、ということもあってRuby/JRuby関連のイベントが盛りだくさんです。
Web
いっぱいあるのでカレンダーにまとめてみました。無駄にイラレで描いてみたんですが、flickrに載せるとjpgになってしまうこともあって色とかぐだぐだです。結局カレンダーにしてもわかりやすくなかったので、ちゃんと文字で載せておきます (\^\^ゞ

今月の2時間で学ぶJava Hot Topicセミナー 6月号

いつもの通り、Sun用賀本社にて18:30よりスタートします。今回 JRubyでは高井さん、もう一つのトピックはSIPサーブレットとProject SailFinについて寺田さんより。暮しの手帖シリーズと並んで、〜〜パワーアップがシリーズ化されるかも密かに期待です。参加は無料ですが登録制となっておりますので、イベントページよりご登録ください。

JRuby が俺にもっと輝けと囁いている —— JRuby と DSL で Java をパワーアップ!

伊藤忠テクノソリューション株式会社 高井 直人 (たかい なおと)
JRuby に興味はあるけど、なかなか手が出せないという方も多いのではないでしょうか。JRuby は Web アプリケーションばかりではなく、開発のさまざまな場面で役に立つツールとして活用できます。今回は、開発ターゲットに合わせた DSL (ドメイン固有言語)を JRuby を使って作成し、Java による開発に役立てる手法を紹介します。

GlassFish の新星 SailFin —— Java で通信系のサービスもパワーアップ!

Java エバンジェリスト 寺田 佳央(てらだ よしお)
IP 電話やインスタントメッセージなどの通信系のアプリケーションを作ってみませんか。HTTP プロトコルに類似した SIP を使うと、Web アプリケーションのアナロジーで通信系のアプリケーションが開発できます。このときに重要な働きをするのが SIP サーブレットのコンテナ。このセッションでは GlassFish のサブプロジェクトで人気急上昇中のコンテナ SailFin についてデモを交えながら熱く語ります。

JRuby の最新動向と NetBeans, GlassFish, Solaris on Sun サーバ

こちらは、JRubyの最新動向はもちろん、その周辺ツール、アプリケーションサーバ、SolarisとSunサーバと、実行スタックの上からしたまでずずいと紹介しようと言う欲張りなセミナーです。こちらも参加は無料ですが、登録制となっていますので下記イベントページよりご登録のうえご参加ください。ちなみにこのセミナーでは岡崎もGlassFishとRubyの関係についてご紹介しますが、資料はこれから作りますので (\^\^ゞ
リクエストをこのブログエントリのコメント欄なんかに書いていただければ最大限取り入れるようにしようと思います。なにかGlassFish + Rubyでのトピックで気になるところがあれば。

NetBeans 6.1 で加速する Ruby on Rails 開発

JRuby エバンジェリスト 野澤 智(のざわ とも)
Java の開発環境としてだけではなく、(J)Ruby の開発環境としても有効な NetBeans 6.1。Ruby on Rails の開発での gem やプラグインの管理、rake タスクの実行、デバッグ、スニペットなど、NetBeans6.1 の特徴をご紹介いたします。NetBeans 6.1 を使うことでよりアジャイルに開発を加速します。

GlassFish で安心、エンタープライズ Ruby

Java エバンジェリスト 岡崎 隆之(おかざき たかゆき)
GlassFish は Java EE だけのアプリケーションサーバだと思っていませんか?実は GlassFish では JRuby を使って Ruby on Rails 実行環境を構築できるだけでなく、クラスタ環境などへの配備もサポートしています。ミッションクリティカル環境で使われている GlassFish の安心感をエンタープライズ Ruby でもご堪能ください。

JRuby 最新動向

米国サン・マイクロシステムズ社 Charles Nutter, Thomas Enebo

(J)Ruby on Rails Tuning Tips

Solaris エバンジェリスト 河原 一哉(かわはら かずや)
(J)Ruby on Rails でアプリケーションを構築する際の Tuning Tips をご紹介いたします。Web サーバの設定、データベースサーバの設定、OS のチューニング、アプリケーションのボトルネック解析など、さまざまな角度からチューニングを行うノウハウをご紹介いたします。

木曜日 5 22, 2008

RAILS OF RUBY ON RAILSを買ってきた

Nozawaさんのブログを見て思い出しました。前から買おうと思っていたのに忘れていた本、「 Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~」をさっき買ってきました。ぱっと見ではRubyの本だ!とは気づかないようなカッコイイデザイン。これがプログラマー向けの本の場合、Railsの使い方に終始して、サンプルアプリが幾つかある。というパターンが典型的ですが、この本ではブログの作り方とか、ショッピングカートの作り方のようにサイトをデザインする際に必要なユースケースごとに説明があることです。
Rubyは今までもコマンドラインでテキスト整形などに使っていましたが、実はRailsってほとんど触ったことがありません。ほとんど、というか、Scaffoldさえ触っていません・・。NetBeansのRuby/Rails機能を使っているのでそんなRails初心者の僕にうってつけの本です。

火曜日 6 12, 2007

日替わり実験室: JRubyとグラフィックス

JRubyのデモでは多くの場合、Javaとの親和性をデモンストレーションするためにSwingとの連携が披露されますが、実際にやってみると、JavaでSwingを書くのと同じ記述量が必要なのであまりうまみを感じません・・・。たぶん、フレームの作成とか、パネルの配置とかはJavaでNetBeansなりを使って書いて、スクリプトで書きたい一部分だけをJSR-223を使って呼び出すのが賢いやり方なのでしょう。
しかしながら、それでも負けずにコンソールからJRubyだけを使ってグラフィックスを使ってみることにしました。Swingだけだとおもしろくないので、今回はTimingFrameworkも使っています。
Java標準以外のライブラリをJRuby実行時に指定するには環境変数CLASSPATHにそれを入れておけばよいだけのようです。
$ export CLASSPATH=$CLASSPATH:~/Library/Java/timingframework/TimingFramework-0.54.jar
なお、Java SE 6のAPIを一部使っていますので、Java SE 6が使われるようJAVA_HOME環境変数を設定しておきましょう。Macなら次のような感じです (Java SE 6はApple Developer Conenctionからユーザ登録をして事前にインストールしておきます)。
$ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home 
こんな感じで指定すればよいでしょう。ではいきなりですがコーディングです。
#!/usr/bin/env jruby

require 'java'

include_class 'java.awt.Color'
include_class 'java.awt.Graphics'
include_class 'java.awt.geom.Path2D'
include_class 'javax.swing.JPanel'
include_class 'javax.swing.JFrame'
include_class 'org.jdesktop.animation.timing.TimingTargetAdapter'
include_class 'org.jdesktop.animation.timing.Animator'

def draw_suncurve(g, w, h, c)
  s = Path2D::Float.new
  s.move_to(0, 0)
  s.line_to(w, 0)
  s.curve_to(w, 0, w - h / 10, h / 4, w, h / 2)
  s.curve_to(w, h / 2, w + h / 10, h \* 3 / 4, w, h)
  s.line_to(0, h)
  s.line_to(0, 0)
  g.set_color(c)
  g.fill(s)
  s
end

class SunCurveAnimator < TimingTargetAdapter
  attr_accessor :panel

  def begin
    g = @panel.get_graphics
    g.set_color(Color::WHITE)
    g.fill_rect(0, 0, @panel.get_width, @panel.get_height)
  end

  def timingEvent(f)
    draw_suncurve(@panel.get_graphics,
       (@panel.get_width - @panel.get_height / 10) \* f,
       @panel.get_height, Color.new(231, 111, 0))
  end
end

class FrameExecutor 
  include java.lang.Runnable
  def run
    panel = JPanel.new
    frame = JFrame.new('Sun Curve')
    frame.set_default_close_operation javax.swing.WindowConstants::EXIT_ON_CLOSE
    frame.set_size 800, 600
    frame.get_content_pane.add panel
    frame.set_visible true

    sca = SunCurveAnimator.new
    sca.panel = panel

    a = Animator.new(2000, sca)
    a.set_acceleration(0.2)
    a.set_deceleration(0.2)
    a.start
  end
end

javax.swing.SwingUtilities.invoke_later FrameExecutor.new

では実行です。
Drawing Sun Curve
はい、実行されました。なお、JRubyのデモンストレーションでは手間を省くために、しばしばJFrameをメインスレッドから起動していますが、Swingのスレッド扱いの流儀からSwingUtilities#invokeLaterを使うのが本筋でしょう。

日替わり実験室: JRubyとGEM

この間の土日に行われたRuby会議2007で見聞きしたことを早速手元で試そうと、最近、いろいろとRubyをさわっているところなのですが、Javaとの連携も試したいのでJRubyを中心にさわっています。Ruby会議で興味を持ったのは朴 芝印さんが発表されたHpricotというHTMLパーサです。
これを使うと、Webスクラッピングなんかも簡単にできるとのこと。今までPerlを使ってちょっとしたHTMLの整形とかをやっていたのでこれには興味津々です。早速、JRubyで使ってみよう!、ということで gem (JRubyには最初からgemがついています)でHpricotをインストール・・・。と、思ったのですが早速つまずいてしまいました。インストールに失敗してしまいます。
最終的には片貝さんからにたまごほうれん草: JRubyでgemという日記に解決策が載っているということを教えていただきインストール完了です。
では早速、あるWebページからリンクだけ取ってくるというスクリプトを作ってみます。
#!/usr/bin/ruby

require 'rubygems'
require 'hpricot'
require 'open-uri'

events = Hpricot(open('http://jp.sun.com/company/events/').read)
(events/'a[@href]').each { |a| p a.attributes['href'] }
こんな感じですね。だいぶ楽ちん。

月曜日 6 11, 2007

Ruby会議2007, 2日目の日曜日

Jimさんも大絶賛のRuby会議2007の二日目の様子です。二日目は初日に比べればやや空席が目立ちましたがそれでも会場の熱気と一体感は一日目以上でした。
R0015663.JPG
個人的に一番注目していたのはNaoto TAKAIさんによるJRubyのお話です。そういえば前日の懇親会でCharles NutterTomas Eneboも高井さんの話は聞きたいと話していました。
R0015671.JPG
この会議ではIRCを使ってリアルタイムにセッションに参加できる、というおもしろい形式 (先月のCommunity Oneでも似たようなことをやっていましたが)をとっていましたが、会場からのつっこみによって様々なキーワードがピックアップされました。

この中で特にピックアップすると「愛」でしょうね。このRuby会議に参加していてどのセッションからも感じられたのはRubyへの愛です。愛と書くと大げさなような気がしますが、たとえば愛着があるか?と聞かれれば、必ずYesになるでしょう。
R0015760.JPG
今回のRubyKaigiは最後のDaveさんによるキーノートがうますぎた(?)ということもあり、IT系のイベントでは少なくともここ6年以上の中ではもっとも、感動的なイベントでした。Daveさんのプレゼンテーションの後にはスタンディングオベーションも。
R0015794.JPG
このパワーには本当に圧倒されるだけでなく、見習いたいところが本当にたくさんたくさんありました。

さて、話は変わって晩ご飯は今回、Tim Brayさん、Charles Nutterさん、Tomas Eneboさんらとしゃぶしゃぶを食べに行きました。

R0015827.JPG
うーん、さすが。皆さんよく食べます。ところで、Timさんは電気屋でカメラをいろいろみてきたそうで、しかもRICOHのGR DIGITALとCaplio GX100が気になっていたとのこと。
R0015832.JPG
(Photo by Tim Bray, by using Okazaki's GX100)

日曜日 6 10, 2007

Ruby会議2007, 1日目の土曜日

Ruby会議2007の一日目が終わりました。Ruby会議の内容は速報ログが随時更新されているようで、詳細な内容はそちらを参照していただくとして、個人的な感想をいくつか。
R0015484.JPG

とても活気がある

400人はいる会場がいっぱいになるほどの人で、画面にはIRCのログが映し出されていて会場(あるいは会場外から)のつっこみがリアルタイムではいるという感じでした。

年齢層が若い

年齢層も、Javaやそれ以外のイベントよりもかなり若いという印象がありました。若いから活気があるのか、活気があるから若いのかはよくわかりませんが。

どなたもプレゼンがうまい

どのプレゼンを見てもユーモア感たっぷりで、しかも、要点がわかりやすい。また、IRCからのつっこみにもうまく対応されているということで、技術系のイベントのなかでもかなりレベルの高いセミナーだったと思います。
R0015625.JPG
セミナーの後は懇親会が行われました。
R0015660.JPG
ミーハーなのでTim Brayさんと写真を撮ってもらいました。

木曜日 6 07, 2007

Ruby会議2007

今週末に行われるRuby会議2007に行けることになりました。Rubyというと、7〜8年前に何かの雑誌で見て、お!?これは!!と思っていましたがこれほどまでに盛り上がってくるとは予想もしていませんでした。当時、すでにPerlに手を染めていたのでもったいないことにRubyistになれませんでしたが、最近はちょっとしたスクリプトを書くときにもなるべくRubyを使うようにしています。
こういうちょっとしたスクリプトは1日ひとつぐらいは書くので、この調子で続けていけば3ヶ月ぐらいすればなんとか文法も身についてきそうです(まだ2〜3週間しか続けていませんが)。
About

okazaki

Search

Archives
« 7月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
今日