22:32
HerokuはRailsのPaaS環境です。ここで作っておけば、簡単にスケールさせる事ができるのかな?いまいちわかってませんが、容量を5Mしか使わなければ、ただで使用する事ができます。だから、ちょっとしたものを公開するにはもってこいの環境かな。
早速プロジェクトを作成しましょう。まずはサインアップをします。トップページにサインアップボタンがあります。

サインアップが済むと、アプリケーションの導入のページが表示されます。それに従います。
sudo gem install heroku
これで、必要なgemがそろいます。次に、既に作成してあるRailsアプリに移動し、gitにコミット
cd myapp
git init && git add . && git commit -m "first commit"
次に、Herokuアプリケーションを作成します。
heroku create
Created http://sharp-autumn-42.com/ | git@heroku.com:sharp-autumn-42.git
Git remote heroku added
しかし、ここでSSHのエラーが出る場合があります。こんな感じ
No ssh public key found in /Users/hoge/.ssh/id_[rd]sa.pub. You may want to specify the full path to the keyfile.
ですので、sshのキーを作成しましょう。
ssh-keygen
是を実行すればsshのエラーが出なくなり、heroku createコマンドは成功します。
1:50
例えば次のようなロールバックを期待するソースコードを書いても実際にはコミットされてしまう。
どうしてもスレッドを使いたかったら、スレッドの外でModelを作成するのがいいんじゃないかと思う。
begin
ActiveRecord::Base::transaction() do
h = Thread.start do
Bookmark.create
throw 'hoge'
end
h.join
end
rescue
p $!
end
p Bookmark.find(:all).size
1:03
おおかた、世間に出回ってる方法でOK。
MacOSX LeopardにRailsをめちゃ綺麗にいれる簡単な方法 - デキルプログラマーになるのだより引用
(1)OSを最新の状態に保つ
ソフトウェアアップデートによってOSを最新版にすること。
(2)ADCから最新版のXcodeをインストール
ほぼ1G近く、ダウンロードに30分を要します。
http://developer.apple.com/jp/
(3)MacPortsをインストール
普通にパッケージ形式で落ちているのでインストールして下さい。
(4)MacPortsをUpdateする
http://www.macports.org/
ここからターミナルを立ち上げます。
sudo port -d selfupdate
sudo port sync
(5)portでMySQLとMySQLデーモンをインストール
sudo port install mysql5 sudo port install mysql5-server
(6)my.cnf(設定ファイル)を作成
sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /etc/my.cnf
(7)my.cnfの設定(編集はvimなりemacsでも使って下さい)
・ソケットの場所変更
socket = /opt/local/var/run/mysql5/mysqld.sock
となっている所全てを
socket = /tmp/mysql.sock
に変更する。
・文字コードを設定 [mysqld] の下に
default-character-set=utf8
skip-character-set-client-handshake
を追記する
(8)MySQLの初期化
sudo -u mysql mysql_install_db5
(9)MySQL自動起動の設定
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
(10)Rubyをportでインストール
sudo port install ruby
(11)Ruby Gemsをportでインストール
sudo port install rb-rubygems
(12)GemsからRailsをインストール
sudo gem install rails
(13)port でrubyのMySQLアダプタをportから入れる
sudo port install rb-mysql
(14)Terminalの設定を変更(デフォルトシェルがbashの場合)
~/.profileに以下の一文を追加
alias mysql="mysql5"
(15)おもむろに再起動
方法はおまかせ(sudo shutdown -r now ・ sudo reboot ・ りんごマーク>再起動)
(16)MySQL接続の確認
mysql -u root
で接続できたら無事完了。後はrailsで適当なプロジェクトを作って実行して下さい。(mysql用dbオプションを忘れずに!)
だいたいこれでOKなんだけど、追加でmysqlのgemをインストールしなければいけない。このときちょっと引数が必要。
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
あとは、下のように、railsのenvironment.rbを変更すればアクセスできます。
# SQLite version 3.x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: mysql
database: hoge_development
username: user
password: pass
socket: /opt/local/var/run/mysql5/mysqld.sock
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000