2010年5月27日木曜日

NetBeans で Maven ソースの文字コード

Scala と lift で開発していて気づいたこと。
NetBeans 6.8 だと標準で Maven プロジェクトを開くことが出来て便利だが、プロジェクトのデフォルトのソースコードの文字コードの指定の方法が分からなかった。ファイルを新規作成して保存するとShiftJISで保存され、コンパイルの際にエラーになった。
デフォルトのソースコードの文字コードを UTF-8 にしたかった。


プロジェクト -> [右クリック] プロパティー -> ソース






このダイアログで、「ソース/バイナリ形式」 のバージョンと「エンコーディング」の文字コードを指定出来る。ここで、何回「エンコーディング」を "windows-31j" から "UTF-8" にして「了解」ボタンを押しても、再度ダイアログを開くと元の「windows-31j」に戻ってしまう。


そこで、POMファイルの "maven-compiler-plugin" の記述を以下のようにしてみた。


<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.0.2</version>
  <configuration>
    <encoding>utf-8</encoding>
    <source>1.6</source>
    <target>1.6</target>
  </configuration>
</plugin>


再度、ダイアログを開いてみてみると、ちゃんと、「ソース/バイナリ形式」が "1.6" に「エンコーディング」が "UTF-8" に変わっていた。


要はPOMファイルに従うということ。


アップル 時価総額でマイクロソフトを抜く

おお!


この前Google抜いたと思ったら、マイクロソフトも抜いちゃった。
Appleって株式時価総額で全米2位か。
まだ景気が良くないから他の会社が良くないのと、iPad 予想以上に売れちゃったせいか。


でも Mac ってそんなに普及してないんだけど。Mac OS X も使いやすいことだし、法人の購入も、もっと増えないかな。


米アップル株の時価総額、20年ぶりMS逆転
http://news.goo.ne.jp/article/yomiuri/business/20100527-567-OYT1T00552.html

アップル、株式時価総額でマイクロソフトを抜く
http://japan.cnet.com/news/biz/story/0,2000056020,20414086,00.htm

Java のスクリプト言語サポート

今更ながら、まとめ。

Java(JVM上)でスクリプト言語が動くのは Java SE 6 以降。

ただし、
・Ruby や Python は Java SE 6 以前から動作可能であった。
・Scala はコンパイルしてバイトコードにしてから実行するので、スクリプト言語サポートの機能を利用しているわけではない。
・JDKに組み込まれていて、すぐ使えるのは JavaScript(Rhino)だけ。

確認してみたら、Javaで動作するスクリプト言語って、かなり前からあったんだな。


安藤幸央のランダウン これは使える!Java風スクリプト
http://www.atmarkit.co.jp/fjava/column/andoh/andoh10.html

2010年5月26日水曜日

MySQLのライセンス

商用でのいかなる場合でも、グレーな気がする。
開発言語が何であれ、クライアントライブラリーやドライバーをアプリケーションに組み込んでいるので、商売で使ってる以上商用ライセンスが必要という解釈が出来る。


MySQL ライセンスで頭が痛い
http://d.hatena.ne.jp/kurosaka/20071214/p1

MySQLのラインセンスについて
http://oshiete.goo.ne.jp/qa/2530620.html?ans_count_asc=20

MySQL 商用ライセンス
http://www-jp.mysql.com/about/legal/licensing//commercial-license.html

MySQLが特に必要なければPostgreSQLで良いと思う。最近はVACUUMも自動で出来るし。
MySQLって手軽で軽いイメージがあってついつい使っちゃうけど、仕事で使う場合はエンタープライズ版の購入も視野に入れなきゃね。

2010年5月13日木曜日

Grailsプラグインのインストール時間が遅い


grails install-plugin hoge とかすると、公開されているプラグイン情報の読みに時間がかかり過ぎる。
grailsのバージョンは1.2.2
何とかならないかな。

2010年5月11日火曜日

GrailsアプリケーションとIDE

私はNetBeansとEclipseを場合によって使い分けている。
これまでJavaのアプリケーションの開発ではプロジェクト作成の際に、NetBeansではプロジェクトディレクトリーのなかに"nbproject"ディレクトリー、Eclipseの場合は".project"と".classpath"ファイルが出来て、プロジェクトの管理がされていた。
最近、Grailsでの開発をはじめて気がついたのだが、NetBeansでGrailsアプリケーションのプロジェクトを作成した場合、"nbproject"ディレクトリーが出来ていないのに気づいた。Eclipse(STS)ではこれまで同様に".project"と".classpath"ファイルが出来ている。
また、"grails create-app"コマンドでGrailsアプリケーションのプロジェクトを作成した場合も".project"と".classpath"ファイルが出来ている。内容もEclipseで作った時と同様。
ということは、同じプロジェクトディレクトリーをNetBeansとEclipse両方で開発出来るということ。メンバー間ででバージョン管理でプロジェクトを共有していて、各メンバーの好みでNetBeansもEclipseも使っているという場合に便利だ。

2010年5月5日水曜日

バイバイcygwin

職場で使うマシンはWindowsばかりだったのでcygwinにはお世話になった。cygwin無しではWindowsで仕事が出来なかったと言っても過言ではない。
特にPostgreSQLをWindows上で稼働させるにはcygwinはどうしても必要だった。CGIの開発もcygwin上のApacheとPerlを使えば、スクリプトの実行パスの記述を変えなくてもローカルマシンで動かせた。

PostgreSQLもMySQLもWin32ネイティブ版がリリースされて、cygwin上で実行するより高速で、何よりインストールが簡単なそちらを使うようになった。PostgreSQLもMySQLも、いつしかcygwinのsetup.exeでインストールしたり、ソースコードからビルドすることは無くなった。

Perlはシェルコマンドと連携させるちょっとしたスクリプトを書くことが多くてcygwinのPerlを最近までづっと使い続けてきたけど、DB連携のモジュール(DBD::Pg, DBD::mysql)のインストールがどうしても面倒になってActivePerlを入れてしまった。

スクリプト言語の実行環境、PerlもPHPもPythonもWin32ネイティブ版のほうが扱いやすくなった。
それにVMwarePlayerが普及して、本当のLAMP環境で開発したければ、仮想マシンでやれば良くなった。それに日本じゃまだまだだけど、GoogleやSunのような大手企業の開発者のあいだでも、仕事でもMacという人が増えた。MacはUNIXだからLAMP環境の導入が楽々。

そー言えば、cygwinはWindowsNT 4.0のころから使っているから、もう10年以上になる。
そろそろcygwinも積極的に使う時代では無い。Win32ネイティブのLAMP環境、スクリプト言語の実行環境も充実した。VMwareも無料で使える。

cygwinで使いたい機能
・bash
・tailコマンドでログ表示。さらにsed, awkコマンドとの組み合わせ。
・sshとscp, rsync
・vim
・csv, subversion, gitをコマンドで使いたい時。

これだけはcygwinがいいけど、あとはどうでもいいいや。