Railsは簡単らしい…

Rails Hub情報局: 素人がWebサービスを作ってみて分かった9つのこと」を読むと、Railsは簡単らしい…

Ruby, PHP, Java, C# といったプログラミング言語はどれを使っても、まぁ、いいのですが、結局のところ、何かを創造するというのは、本人のモチベーションにかかっているのかなぁ、とちょっと思いました。ちなみに、Webアプリはメンテナンスが大変なんですよね… えーと、ちがった。それが楽しいんですよね 🙂

ChaSenとRubyをMac OS へインストール

いきおいで、ChaSenとRubyをMac OS へインストール。RubyからChaSenが使えるようになりました。いまどきだと、ChaSenより、MeCabの方を使う人が多いような気もしますが、その場合は、JRuby + Sen という選択肢があるはず(普通は Ruby + MeCab を選ぶでしょうが)。書籍では、Windows + Ruby + ChaSen の組み合わせの方がよく紹介されているような気がするのですが、気のせいでしょうか。

面倒なので下記の環境へ全部インストール
・アプリケーション: /Users/sssg/application/
・ソースコード:/Users/sssg/workspace/src/

http://www.chasen.org/~taku/software/darts/ からDartsの最新版をダウンロードして、インストール。

cd darts-0.32/
./configure --prefix=/Users/sssg/application/darts
make
make install

http://chasen-legacy.sourceforge.jp/ から、ソースコードをダウンロードしてコンパイル。参考にしたページでは、どこでも iconvとdartsを入れておくと楽、と書いてあったので、きっとそうなのだろう。

cd chasen-2.4.4
./configure --prefix=/Users/sssg/application/chasen \
  --with-darts=/Users/sssg/application/darts/include
chmod +x tests/*.sh
make && make check
make install

あとで使うので、先にtoUtf8.shというスクリプトを紹介しておきます。EUC-JPのファイルをUTF-8へ変換するスクリプトです。Mac OS へは iconv を入れてあったので、それを使うようにしています。dicファイルやchaファイルを変換する必要があるので、そのときに使います。

#!/bin/sh
for suffix in cha dic
do
  for f in `ls *.$suffix`
  do
    if [ -f $f ]; then
      echo $f
      iconv -f euc-jp -t utf-8 $f > tmpfile
      mv tmpfile $f
    fi
  done
done
exit

http://sourceforge.jp/projects/ipadic/ からIPA辞書をダウンロード。さきほどのtoUtf8.shを作成して、辞書ファイルなどをUTF-8へ変換しています。

mv ipadic-2.7.0 ipadic-2.7.0-utf8
cd ipadic-2.7.0-utf8/
./configure --prefix=/Users/sssg/application/ipadic
vi toUtf8.sh
chmod 755 toUtf8.sh 
./toUtf8.sh 
`/Users/sssg/application/chasen/bin/chasen-config --mkchadic`/makemat -i w
`/Users/sssg/application/chasen/bin/chasen-config --mkchadic`/makeda -i w chadic *.dic
mkdir /Users/sssg/application/chasen/etc
make install
iconv -f euc-jp -t utf-8 /Users/sssg/application/chasen/etc/chasenrc > \
  /Users/sssg/application/chasen/etc/chasenrc.utf8
mv  /Users/sssg/application/chasen/etc/chasenrc.utf8  \
  /Users/sssg/application/chasen/etc/chasenrc
echo "文字コード変更のテスト。" | /Users/sssg/application/chasen/bin/chasen -i w 

実行結果は次の通り。

文字 モジ 文字 名詞-一般
コード コード コード 名詞-一般
変更 ヘンコウ 変更 名詞-サ変接続
の ノ の 助詞-連体化
テスト テスト テスト 名詞-サ変接続
。 。 。 記号-句点
EOS

http://www.ruby-lang.org/ja/downloads/ からRubyをダウンロードしてインストール。当初は付属のものを使うつもりだったが、Ruby/ChaSenとかが、変なふうにインストールされたら面倒なので、とにかく簡単に戻せるように別途インストールした。

cd ruby-1.8.7-p249
./configure --prefix=/Users/sssg/application/ruby-1.8.7
make
make install
/Users/sssg/application/ruby-1.8.7/bin/ruby  -version

http://raa.ruby-lang.org/project/ruby-chasen から、Ruby/ChaSenをダウンロード。ChaSenと間違えないように、展開したディレクトリ名は変更。

mv chasen1.7 ruby-chasen-1.7
cd ruby-chasen-1.7/
/Users/sssg/application/ruby-1.8.7/bin/ruby extconf.rb \
   --with-chasen-dir=/Users/sssg/application/chasen
make
make install

テストプログラムの作成と実行

cd ~/Desktop
vi test.rb
chmod 755 test.rb 
./test.rb 

テストプログラム test.rb の内容は次の通り

#!/Users/sssg/application/ruby-1.8.7/bin/ruby
# -*- coding: utf-8 -*-

require "chasen.o"
#Chasen.getopt("-F", ‘(%BB %m %M)\n’, "-j")
Chasen.getopt("-F", ‘(%BB %m %M)\n’, "-i", "w")
puts Chasen.sparse("こんにちは。")
puts Chasen.sparse("今日はいい天気です。こんにちは。")

実行結果は次の通り。

(感動詞 こんにちは こんにちは)
(句点 。 。)
EOS
(副詞可能 今日 今日)
(係助詞 は は)
(自立 いい いい)
(一般 天気 天気)
(助動詞 です です)
(句点 。 。)
(感動詞 こんにちは こんにちは)
(句点 。 。)
EOS

関連書籍


関連リンク

JRuby徹底入門のサンプルコードがダウンロードできない件について

hiro345 ストア – JRuby 徹底入門」について、いまさら気がついたのですが、記載されているサンプルコードのダウンロードが見当たりませんでした。どこかで公開されているのでしょうか。まぁ、これぐらいの分量なら、なくてもかまいませんが。

本書は、Rubyの入門書を読んでからの方が理解しやすいのではないかと思います。RailsをJavaのコンテナで動かすあたりの話も参考になりますし、JavaプログラムをRubyプログラムに書き換えるところの説明も良いのですが、Rubyに関する前提知識なしで読むのはちょっと大変かもしれません。

Ruby入門

Rubyプログラムを勉強してみたいと思っているJavaプログラマは結構いるのではないかと思う。しかし、ターゲットが限定されるので、Javaプログラマ向けのRuby入門書というのは、なかなか書籍として実現されることは難しいのではないかと思い込んでいました。

しかし、チャレンジする人というのは世の中にはいるもので、「hiro345 ストア – JavaプログラマのためのRuby入門」という書籍が発売されていたので、おもわず購入してしまいました。

さっそく、ざっと読んでみているのですが、Javaとの対比が面白いので、単純にRubyの文法書を読むよりは、楽しく読めます。これは、なかなか、いい本です。JRubyの話もでていますから、Javaエンジニアにとっては嬉しいはずです。

マルチリンガルな人は、どこの世界でも重宝されますから、興味を持って、いろいろなプログラミング言語に接してみたいところです。

jrubystack

いまさらですが、BitNami :: JRubyStackというのがあるそうです。

Windowsマシンの整理をしていて、セキュリティアップデートをしているのですが、結構な時間がかかるので、久しぶりにJRubyについて調べていたところ、いろいろと世の中は進んでいることを知りました。

JRuby Users JPができていたり、SunがSun Developer Connection – JRubyとJavaによるアプリケーション開発をだしていたり。Windowsで最新のRailsをJRubyで動かす。 | AIRS Labsという記事も見つけました。要点がまとまっている感じです。

Fedora9 では、yum install jrubyでjrubyをインストールできるようですし、ちょっと驚きです。そう思ってインストールしてみたら、jruby 1.1.3が簡単にはいりました。ところがエラーがでるので、調べてみたところ、バグレポートではjruby 1.1.5 へバージョンアップするように、と書いてあって、yum版はとりあえずあきらめることにしました。ふつうにjrubyをダウンロードしてきた方が早そうです。

ところで、NetBeansもJRubyをサポートしているので、jrubystackと、どちらを選択するかは、ちょっと検討してみたいところ。