Hatena::ブログ(Diary)

まくろぐ

2008-12-31

Railsのscaffoldを動作させる

前回まででRailsの環境が出来たので,簡単なアプリを動かしてみる.

環境は以下の通り.portsportsで入れたRubyGemsで環境を構築した.

Rails実行

% rails -d mysql hellorails

データベースファイル設定

hellorails/config/database.ymlを編集.ここではdatabaseとpasswordのみ修正

scaffold作成

ここでは,値段と名前を値として持つ,買い物リストを作る.

% ruby script/generate scaffold Purchase name:string price:integer
% rake db:migration

起動

% ruby script/server

これで,http://localhost:3000/purchases でアクセス可能.

2008-12-30

Rails動作確認

前回のとおりRubyバージョンアップしてRailsを使おうとしたが,下記のようなエラーで動かず.

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
MissingSourceFile (no such file to load -- mysql):
    /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
    /Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
...(略)

gemRuby用のmysqlを入れなければならないみたい.

まずは,portで入れたRubyと,デフォルトで入っているRubyGemsが混在しているのがイヤなので修正.

Railsも入れなおす.

% sudo port install rb-rubygems
% sudo gem install rails --include-dependencies

% which gem
/opt/local/bin/gem

% which rails
/opt/local/bin/rails

修正してから同じようにアクセスすると,エラーメッセージが短かくなった.

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
127.0.0.1 - - [31/Dec/2008:12:33:22 JST] "GET /contact/hello/ HTTP/1.1" 500 14203
- -> /contact/hello/

下記のように入れなおすも上手くいかず.

% sudo gem install mysql --include-dependencies
ERROR:  Error installing mysql:
	ERROR: Failed to build gem native extension.

/opt/local/bin/ruby extconf.rb install mysql --include-dependencies
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
...(略)

色々調べた結果,ここの通りやるとうまくいった.

% sudo gem install mysql -- --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config
% gem list
..
mysql (2.7)
..

2008-12-23

Railsバージョンアップ

ふとRuby on Railsプログラムがしたくなり,調べてみた.

LeopardではデフォルトRuby, RubyGemsRailsが入っている.

自分の環境ではRuby1.8.6と,RubyGems1.0.1,Rails1.2.6.

特に何もしなくとも利用可能なようだが,どうせなら最新版を,ということで以下.

% sudo port -d selfupdate
% sudo gem update --system
% sudo gem update

これで,RubyGems1.3.1,Rails2.2.2に更新された.

% sudo gem list

RubyGemsで入れたものが全部見えるけど,最初から色々入っている模様.


ついでに,

% sudo port installed

でportでインストールした一覧が見えて,

% sudo port outdated

で既に更新済のパッケージがわかる.

% sudo port upgrade installed

とすることで更新可能..だけど時間がかかりそうなので,

% sudo port upgrade ruby

とすると,rubyだけの更新ができる.

2008-11-15

AquaSKKでの句読点変更

まず以下のようにファイルをコピー。

$ cp /Library/Components/AquaSKKInputMethod.component/Contents/Resources/kana-rule-list ~/Library/AquaSKK/

このkana-rule-listの中は、

タイプするキー,全角モード時の変換,カタカナモード時の変換,半角カナモード時の変換

とならんでいる。

通常「。」「、」部分は以下のようになっている。

.,。,。,。
,,、,、,、

全角モードのみで「.」「,」に変更したければ以下のようにする。

.,.,。,。
,,,,、,、

変更後再起動で反映される.

2008-10-09

MacでOpenCV + OpenGL(準備編)

Mac上でのOpenCVOpenGLを組み合わせてみる。

OpenGLここなどを見ると、どうやらMacには最初っからOpenGLが開発環境中に入っている模様で、

コンパイル時のオプションに-frameworkと付けてGLUTOpenGLを追加すれば良いみたい。

というわけで、以下のMakefileを使えば、OpenCVOpenGLを同時に使えるようになる。

SRC = hello.c
DST = hello

prefix=/opt/local
INCPATH=$(prefix)/include
LIBPATH=$(prefix)/lib 
FRAMEWORK= -framework OpenGL -framework GLUT

OPT= -lcv -lcvaux -lcxcore -lhighgui 

CC=g++ -O

CFLAGS= -I. -I$(INCPATH)/opencv
LDFLAGS=-L. -L$(LIBPATH) 


all:
	$(CC) $(FRAMEWORK) $(SRC)  -o $(DST) $(CFLAGS)  $(LDFLAGS) $(OPT) 


上記に加えて、Mac上のフレームワークを使う場合(?)は、ヘッダのインクルードは下記のようにすればOKだった。

#include <GLUT/glut.h>
#include <OpenGL/gl.h>

GLUTOpenGLは、-frameworkでの指定のみでヘッダファイルを見つけてくれるみたいで、便利。