mysql memo

CentOSruby のバージョンが古かった(1.8.5 だった)ので色々苦労した。メモっておく。


【インストール】
wget http://rubygems.org/downloads/mysql-2.7.gem
gem install mysql -- --with-mysql-config=/usr/bin/mysql_config


【ソケットがなかったので起動】
service mysqld start


【データベース作成】
mysql -u root -p
mysql> create database xxx_production;
mysql> exit


【migration】
rake --trace environment RAILS_ENV=production db:migrate

memo

apache+mod_proxy_balancer+mongrelRailsを動かす方法】
http://www.kaeruspoon.net/articles/300


Apache+MongrelRailsを動かす】
http://www.fraction.jp/log/archives/2006/09/1020


MySQLへデータベースを作成しよう】
http://maskana.homedns.org/rails/pro/body/17


railsmongrel で動かす 2】
http://synth.jp/pg/2007/05/rails_mongrel_1.html


RailsPostfixで受信メールを処理する方法】
http://www.kaeruspoon.net/articles/466


【[Tips] Postfix + Rails で空メール対応】
http://www.8811.org/posts/tips-postfix-rails-%E3%81%A7%E7%A9%BA%E3%83%A1%E3%83%BC%E3%83%AB%E5%AF%BE%E5%BF%9C.aspx


ruby on railsmysqlにテーブルを自動作成するrake migrateに成功!!】
http://d.hatena.ne.jp/shingotada/20070117/1169043983

Ruby on Rails メモ

script/server を実行したときのメモ(多分 2.3.5)。

このスクリプトは3行しかなく、2行目で config/boot.rb が実行される。
boot.rb の中身は、量はないが処理があちこち飛んでいてわかりにくい。
デフォルトでは #{RAILS_ROOT}/vendor/rails が存在しないので、GemBoot.load_initializer が実行されるようだ。

GemBoot.load_initializer でバージョンチェックやモジュールの読み込み(rubygems.rb)が行われる。
0.9.4 より上のバージョンでないと例外が投げられるようになっているが、今使っている環境は 1.3.5 だった。

その後、load_rails_gem の中で

・Kernel::gem → Gem::activate

という順に実行されている。
実装部分は Gem::activate だが、詳細はまだよく見てないが、どうも gem からインストールしたライブラリを使うときはこういった方法でロードするようだ。

で、ようやく Rails::Initializer.run で初期化処理が行われる。
中身を見てみたが、処理があちこちに飛んでいる上に、実装部分が長い。
後で見てみることにする。

scala メモ

scala のクラスを実行するために、直接 jvm を叩く必要はないだろうが、/usr/bin 配下にある scalaシェルスクリプトだったので、内部でどんなコマンドを叩いているかを貼り付けておく。


[jaianism@jaianism bin]$ /usr/lib/jvm/java/bin/java -Xmx256M -Xms32M -cp "/usr/share/scala/lib/jline.jar:/usr/share/scala/lib/scala-compiler.jar:/usr/share/scala/lib/scala-dbc.jar:/usr/share/scala/lib/scala-library.jar:/usr/share/scala/lib/scala-partest.jar:/usr/share/scala/lib/scala-swing.jar" -Dscala.home="/usr/share/scala" -Denv.classpath="" scala.tools.nsc.MainGenericRunner "HelloWorld"


java の Main メソッドに相当するものは標準でついてるライブラリに内蔵されていて、そこから引数に渡された scala のオブジェクトが実行されるようだ。
どうりで起動が遅いわけだ。