JRuby on Rails システム構築入門を読んでみる

本屋で見かけて衝動買い。

JRuby on Railsシステム構築入門 (DB Magazine SELECTION)

JRuby on Railsシステム構築入門 (DB Magazine SELECTION)

DB Magazineの連載をまとめた一冊。このシリースは僕にとってツボ。いい感じのレベル設定と丁寧さで僕は好き。

まだ半分ぐらいしか読んでいないけど、面白いのはNetbeansを開発IDEとして選んでいる点。JRubyが使えて、Railsアプリが簡単に作れるRuby IDE環境ってNetBeansぐらいだしね。これまで知らなかったNetBeansの設定を知ることができていい感じ。

この本ではWindows + Oracleって環境で作っているんだけど、Macな僕はMac + SQLite3でやっている。とりあえず、詰まったところはdatabase.ymlの設定。初期で自動生成されたadapterではうまくデータベースに接続ができなかった。

最初はこんな感じになっていたんだけど。

development:
  adapter: sqlite3
  database: db/development.sqlite3
  timeout: 5000

adapterを「jdbcsqlite3」にしたらOK。

development:
  adapter: jdbcsqlite3
  database: db/development.sqlite3
  timeout: 5000

とりあえず、第5章まで読みきった。他の本では省略しがちの部分もちゃんと説明されていて、いい感じ。

世間では6.9って言っているのに・・・

世間でははやくも6.9の話が出てきているのに、未だ安定機ではNetbeans 6.7を使っています。単にサボっているだけですが。開発機は6.8入れているんだけどねぇ。

で、開発機でやっていたことを完全忘れていたので、とりあえずメモ。

Netbeansでの出力ウィンドウで日本語が文字化けに対する対処。NetBeansの内部ファイルnetbans.confを編集する。

nozomi.local{miyohide}% sudo vi /Applications/NetBeans/NetBeans\ 6.7.app/Contents/Resources/NetBeans/etc/netbeans.conf

このファイルのnetbeans_default_optionsに「-J-Dfile.encoding=UTF-8」を追加してあげれば良い。僕の環境では次のようになる。

編集前

netbeans_default_options="-J-Dorg.glassfish.v3.installRoot=/Applications/NetBeans/sges-v3-prelude -J-Dcom.sun.aas.installRoot=/Applications/NetBeans/SUNWappserver -J-Dorg.glassfish.v3.installRoot=/Applications/NetBeans/sges-v3-prelude -J-Dcom.sun.aas.installRoot=/Applications/NetBeans/SUNWappserver -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true"

編集後

netbeans_default_options="-J-Dorg.glassfish.v3.installRoot=/Applications/NetBeans/sges-v3-prelude -J-Dcom.sun.aas.installRoot=/Applications/NetBeans/SUNWappserver -J-Dorg.glassfish.v3.installRoot=/Applications/NetBeans/sges-v3-prelude -J-Dcom.sun.aas.installRoot=/Applications/NetBeans/SUNWappserver -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true -J-Dfile.encoding=UTF-8"

まぁ、慣れてしまえば単純なんだけど、こういうのを弄らせるツールっていうのはちょっとハードル高いなぁと感じてます。こういうのがあると、開発の現場にNetbeansを推し進めることが厳しい気がします。考えすぎ?

Netbeansのベータテスト参加賞が届いた

twitterでは当日に呟いていたのですが、このBlogにも。

最初はTシャツだけかなぁと思っていたのですが、なんだかいろいろついてきた。

動作確認と触ったときに感じた違和感をメールしただけなので、「え?!いいの?」って感じだったんですが、もらえるものなのでありがたくもらっておきました。

それよりも、自分が報告したバグが直っているっていうのが嬉しいですね。なんか貢献したよって思えますし。

今度もあったら参加したいですね。どれだけ出来るかわかりませんが。

ぎゃ〜!すでにRC2がでてる!

この記事を書いたときにはすでにRC2が出ているってこと!?

というわけで、Netbeans 6.8 RC2がでているようです。
http://ja.netbeans.org/downloads/

ユーザーテストプログラムも今週まで。
http://wiki.netbeans.org/JaNetBeans68NetCAT

あんまり貢献してない気がするけど、気にしない。とりあえず、どんどんメール書こう。

体力が持つかなぁ。

RC1が出たよ

NetBeans 6.8 RC1が出てました。
http://ja.netbeans.org/downloads/

これまで気になっていたのですが、時間がなくてインストールできず。無理やり作ってインストールしてみました。

で、触ってみるとちょっと早くなっている?気がします。気のせいかもしれませんが。まだRubyしか有効にしていないので、Javaを有効にした場合の速度はこれから試してみて全体的な速度を見てみることにします。

そういや、この前ベータ版で「ちょっとおかしくね?」って報告したものが直っているかどうか見てみることにしました。報告記事はこれね。

コードは前回と一緒。テストコードを書いてみる。

$:.unshift File.join(File.dirname(__FILE__),'..','lib')

require 'test/unit'
require 'sample1'

class Sample1Test < Test::Unit::TestCase
  def test_myadd
    assert_equal(1,Sample1.myadd(1,0))
  end
end

んでもって、「実行」→「ファイルを実行」でテストを実行すると、下の方に次のような画面が出てくる。

次に、同じファイルを編集して、テストコードを追加する。

$:.unshift File.join(File.dirname(__FILE__),'..','lib')

require 'test/unit'
require 'sample1'

class Sample1Test < Test::Unit::TestCase
  def test_myadd
    assert_equal(1,Sample1.myadd(1,0))
  end

  def test_myadd2
    assert_equal(2,Sample1.myadd(2,0))
  end

end

下の画面にある>>な感じのアイコン(再実行)をクリックする。前回まではテストとしては2件実行されているのに、右側に出ているのは1個って書かれていたんだけど、今回は・・・

ちゃんと2個になっている。

テストファイル実行時に出力される文言が違う

たまたま気がついたので、メモ。後で報告もしておこう。

まずは、Rubyプログラムを何でもいいので書いてみる。

class Sample1
  def self.myadd(v1,v2)
    return v1 + v2
  end
end

んでもって、それに対するテストコードも書く。

$:.unshift File.join(File.dirname(__FILE__),'..','lib')

require 'test/unit'
require 'sample1'

class Sample1Test < Test::Unit::TestCase
  def test_myadd
    assert_equal(1,Sample1.myadd(1,0))
  end
end

これで「実行」→「ファイルを実行」でテストを実行すると、下の方に次のような画面が出てくる。

んでもって、テストコードを追加、下の画面にある>>な感じのアイコン(再実行)をクリックする。

$:.unshift File.join(File.dirname(__FILE__),'..','lib')

require 'test/unit'
require 'sample1'

class Sample1Test < Test::Unit::TestCase
  def test_myadd
    assert_equal(1,Sample1.myadd(1,0))
  end

  def test_myadd2
    assert_equal(2,Sample1.myadd(2,0))
  end

end

すると、テストとしては2件実行されているのに、右側に出ているのは1個って書いてある。

再実行じゃなくて、「実行」→「ファイルを実行」とクリックするとちゃんと2個となります。

NetBeans6.8 ベータを使ってみる

ベータテスト参加中なのでいろいろ触ってみているのですが、Javaを有効にしたとたん、一気に重くなった。機種はMacBookAirの初号機。そんなに遅いマシンではないと思うんだけど。
う〜〜ん、IDEがバージョンアップの度に重くなるのは分かるし、NetBeansの使われるまで有効にならないっていうスタイルもいいんだけど、ちょっと重すぎないかなぁ。それともベータだからかなぁ。
ちょっと感覚値で申し訳なくて、報告できずにいる。