MacでImageMagick+RMagickを使う

ImageMagickとRMagickを使うべくhomebrewとgemでインストールした。

$ brew install imagemagick
$ gem install rmagick

で、使ってみるとSegmentation faultがでる。検索した結果、以下のように再インストールすれば使えるようになった。

brew install -f imagemagick --disable-openmp

つぎにannotationを使おうとするとフォントが無いと言われる。ので
ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/ghostscript-fonts-std-8.11.tar.gz
をダウンロードして、以下のように/usr/local/share/ghostscriptに展開する。

$ mkdir /usr/local/share/ghostscript
sudo tar xzf ghostscript-fonts-std-8.11.tar.gz -C /usr/local/share/ghostscript

これでやっと利用できるようになった。

Rails3の書籍はどれが良いか

Ruby on Rails3がリリースされたので、書籍がでてないか調べてみました。するとすでに発売されているものがありました。早いですね。

ただしこの書籍、US Amazonでレビューが一つついてて、Rails3の重要な機能のいくつかがカバーされてなくて、多くの章の内容がRails2らしいです。☆一つ。本当か?と思ってしまいますが、購入がためらわれてしまいました。

で、良さそうなのがこれ。ただし発売は2010/10/25です。

予約しとこうかな?

Homebrewをインストール

HomebrewはMacPortsの代替パッケージインストールシステム。MacPortsはあるソフトウェアをインストールすると、それが依存しているライブラリが、Macにデフォルトでインストールされていても、新しくインストールされてしまう。一方Homebrewはデフォルトでインストールされているものを利用する。

$ ruby -e “$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)”

wgetをインストールするには

$ brew install wget

iUnitTestのインストールでエラーが発生

iPhoneアプリの開発を始めたのでiUnitTestを導入しようとしました。

チュートリアルを参考に

> git clone git://github.com/katsuyoshi/iunittest.git
> cd iunittest
> sudo ./setup

と入力したところ

setup.rb:27: invalid multibyte char (US-ASCII)
setup.rb:27: invalid multibyte char (US-ASCII)
setup.rb:27: syntax error, unexpected $end, expecting ')'
  context.gsub!(/iUnitTest/, "«PROJECTNAME»")

というエラーが発生しました。

setupファイルでsetup.rbを起動しているのですが、その指定を

ruby -Ku setup.rb

と修正してインストールしました。

子供がたし算の勉強をしているのでたし算練習ソフトをRubyで作ってみた

といってもコマンドラインにたし算の問題が出て、答えるだけのものなんですけど。

while(true)
  first = rand(9)
  second = rand(11 - first)
 
  print "#{first} + #{second} = "
  result = gets.chomp
 
  if result == "q"
    break;
  elsif result.to_i == first + second
    puts "あたり!"
  else
    puts "はずれ!正解は #{first + second}"
  end
end

0から9の数字のたし算で、足して10以下の答えの問題を出題。
Webアプリにして、いろいろ機能を付けてみたくなった。

groongaとRuby/groongaをインストール

HyperEstraier+Ruby binding使おうとしたら、Ruby bindingが動かなかった。Tokyo系に注力なさってるからTokyo系のを使おうねってことですか(?)、ということで、じゃぁgroonga – an open-source fulltext search engine and column store.を使ってみますということでインストール。

groongaは全文検索ライブラリです。Sennaの後継で

  • マルチプロトコルサーバ
  • 参照lock不要なストレージ
  • 複数プロセス・複数スレッドで共有できるストレージ
  • カラム指向ストレージを採用し、集計系クエリを高速に実現
  • Sennaの転置インデックス実装をさらに改良

1. groongaの特徴 — groonga v0.1.4 documentation

という特徴がある。

Download groongaからファイルを取得して解凍。ホームにインストール。

./configure --prefix=/Users/username/local; make; make install

。普通はprefix無しでsudo make installかな。

Ruby/groongaは

$ sudo gem install groonga


使い方はgroongaをRackに載せて全文検索 – ククログ(2009-07-31)が参考になる。

HyperEstraierでGemのRDocを検索できるようにしてみた

まずはMacPortsでHyperEstraierのインストール。

$ sudo port install hyperestraier

~/local/varにクローラルートディレクトリを作成しました。クロール範囲を先日設定したsinatra-rubygemsのアドレスに設定。

$ estwaver init est_gemdoc
$ nano est_gemdoc/_conf
# seed documents
seed: 1.0|http://gems.local
allowrx: ^http://gems.local

クロールさせてみる。

$ estwaver crawl -revcont est_gemdoc

検索用CGIスクリプトを設置して設定を変更。

$ mkdir Sites/estraier
$ cp /opt/local/libexec/estseek.cgi ~/Sites/estraier
$ cp /opt/local/share/doc/hyperestraier/locale/ja/estseek.* ~/Sites/estraier
$ nano ~/Sites/estraier/estseek.conf
indexname: /Users/username/local/var/est_gemdoc/_index

Apache2の設定を変更。

$ sudo nano /etc/apache2/httpd.conf
    AddHandler cgi-script .cgi
$ sudo nano /etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
    ServerName estgd.local
    DocumentRoot "/Users/username/Sites/estraier"
    <directory "/Users/username/Sites/estraier">
      Order allow,deny
      Allow from all
      Options ExecCGI
    </directory>
</VirtualHost>
$ sudo apachectl graceful

で、estgd.localにアクセスすると、検索ページが表示された。

で、作業途中でRDocディレクトリをクロールさせてreplaceでURLに書き換えれば、クローラは必要ないんじゃないかと思った。それから~/Sites/estraierって名前だと抽象的すぎるよね…。

それからそれから、検索CGIをsinatraで作ってみたくなった。時間無いけど。