複数のリポジトリに push する

heroku には push したくないけど、とりあえず他のマシンでも作業がしたい。
その場合は他のリポジトリに push しておく必要がある。
要は git remote でリモートリポジトリを増やすという意味。

$ git remote add name path

heroku へ push する場合は

$ git push heroku master

としているはず。
他のマシンで git clone した場合は

$ git remote add heroku git@....git

と実行したはず。それと同じで

$ git remote add bb git@.........git

とすれば bb という名前で登録されたということになる。
ちなみに bb は bitbucket を略していたり。
bitbucket はプライベートリポジトリを無料で作れるので重宝しています。
まぁ、 heroku にしかリポジトリがなかったら master でもいいんですけどね。
何個も登録できるのでバックアップに push しておくのもいいでしょう。
同期取るのが面倒だけど。

1発で複数のリポジトリに push する方法もあるようなので調べてみるのもあり。

heroku で ssl を使用する

heroku にはアドオンがたくさんある。

ssl もアドオンで用意されており、 ****.heroku.com の場合のみ
無料で使用できる。

アドオンを使用するにはクレジットカード情報等を登録しておかないといけない。
有料プランもあるので当たり前。

無料の ssl プランは

Piggyback SSL

です。

使用方法は、管理画面から追加するか、

$ heroku addons:add piggyback_ssl

を実行するだけ。

これで ssl 対応になった。
が、 http 通信も可能なのでアドレス直打ちされてしまうと困ってしまう。
アプリでそこは対応しないといけない。

Rails3.1 以降の場合、簡単に強制的に ssl アクセスする方法がある。

config/environments/production.rb

config.force_ssl = true

上記はコメントアウトされているのでそれを解除するだけ。
これで http 通信で来られても強制的に https 通信になる。

rails3 で twitter bootstrap を使えるようにする 2

twitter bootstrap が予定通りアップデートされていたので bundle update して
もう1回 generate したら成功しました。

レイアウトファイルが出来上がったので起動したらこんな感じです。

いい感じですね。
haml になれないと…。

っと assets のログが大量に出ているのでここを参考にして表示させないようにした。
しかし、以下のワーニングは出力され続ける。

WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

どうやらここによると Ruby のバージョンが 1.9.3 で起こるみたい? たしかに 1.9.2 のときは出てなかった。
ちょっと Ruby 1.9.2 で実行してみよう。

実行したらたしかに出ませんでした。 1.9.2 でやるか。heroku と同じバージョンだし。

rails3 で twitter bootstrap を使えるようにする

何かと話題の twitter bootstrapRails で使えるようにします。
って、まだ実際に使ったときないので初めて使う…。
デザインとか迷ったらとりあえず今っぽい感じに作れそうなのでいい!

以下のプラグインを使います。
twitter-bootstrap-rails

Gemfile に追加

gem 'twitter-bootstrap-rails', :group => :assets

#もともとある group :asset do ... の中に入れてしまうのもあり

bundle install したらインストール

$ rails g bootstrap:install
insert app/assets/javascripts/application.js
insert app/assets/stylesheets/application.css
create app/assets/javascripts/bootstrap.js.coffee
create app/assets/stylesheets/bootstrap.css.less

生成されました。

んじゃ、試しにレイアウトを生成してみますかねと

$ rails g bootstrap:layout application fluid
Bootstrap helpers installs to application_helper...
insert app/helpers/application_helper.rb
create app/views/layouts/application.html.haml
(erb):55:in `block in template': undefined local variable or method `flash' for # (NameError)

あうち。エラーが出た。
issue を見ると haml-rails が悪さをしているみたいで、パッチ作ったよ〜って
ちょうど見ているときに投稿されてたのでそれが取り込まれるのを待つ!
多分、 erb なら問題ないでしょう。 今回は haml でやる!

次回にいろいろつくります。

PostgreSQL をインストール

heroku は PostgreSQL なので ubuntu にもインストールする。

$ sudo add-apt-repository ppa:pitti/postgresql
$ sudo apt-get update
$ sudo apt-get install postgresql libpq-dev

インストール後に postgres というユーザが作られる
このユーザを database.yml に設定する(test, production も同様)

development:
  host: localhost
  adapter: postgresql
  encoding: unicode
  database: app_name_development
  pool: 5
  username: postgres
  password: 

host がないとうまく接続できなかった。

pgadmin で管理したい場合は postgres にパスワードを設定する。

まずはユーザのパスワード

$ sudo passwd postgres

そして PostgreSQL 内のパスワード

$ su - postgres
$ psql template1
$ alter user postgres with password 'password';

psql を抜ける場合は 「\q」 です。

PostgreSQL を再起動

$ sudo /etc/init.d/postgresql restart

heroku で Rails 3.2.1 を動かす。

環境
ubuntu11.04
Ruby 1.9.3 (heroku は 1.9.2 をサポートしている)
Rails 3.2.1

heroku は言わずと知れたクラウドプラットフォーム。
Rails アプリだけでなくいろいろな種類のアプリを走らせることができます。
今回は Rails で紹介します。

無料で DB を 5MB まで使用できます。ただし、無料では PostgreSQL のみです。
アプリも 100MB まで使用できます。この 100MB についてはこちらを確認してください。
簡単に言うと git や gem などを省いて圧縮した状態でということみたいです。

# heroku のツールをインストール(こちらのやりかたでもOK)
gem install heroku

# キーを登録してデプロイしやすくする
heroku keys:add
Enter your Heroku credentials.
Email: your@email
Password:
Found existing public key: /home/user/.ssh/id_rsa.pub
Uploading ssh public key /home/user/.ssh/id_rsa.pub

# rails アプリ作成
rails new heroku-sample -T -d pg --skip-bundle
bundle install --path vendor/bundle

〜 適当にアプリを作って下さい。 〜

# git の設定
git init
適度に .gitignore を作る

# assets:precompile を実施する!
rake assets:precompile

# ソースコミット
git add -A
git commit -m "initial commit!"

# heroku のアプリを作成(名前未入力の場合は適当な名前がふられる)
heroku create [app_name]
Creating app_name... done, stack is bamboo-mri-1.9.2
http://app_name.heroku.com/ | git@heroku.com:app_name.git
Git remote heroku added

# heroku に push!
git push heroku master

# heroku 上で DB のマイグレーション
heroku rake db:migrate

# ブラウザで開く
heroku open

ざっとはこのような流れです。
assets:precompile をしないとエラーになりました。
heroku 上で precompile してくれないみたい。
コマンドがあるのかもしれない。

config/database.yml は heroku 上で勝手に再作成されるので
意識する必要はない。らくちんですね!

L-07C に機種変更

近所の電気屋で6,800円だった。
オプションは5つのサービスに加入することだが、お試しサービスということで
30日後には使えなくなる。まぁ、すぐ削除するけど。
ドコモポイント充当で実質無料。

ガラケーをメインに使うので SIM カードは差し込まず WiFi 運用のみとする。
WiFi は GP02 を使う。 GMO とくとく BB のキャンペーンで2年間は2,120円/月
というのを申し込んだので安くネット環境ができあがった。株主優待も含めれば月額換算すると
相当安くなるはずだ。パケット通信に6,000円も出していられない…。

ガラケーは タイプSS + パケホダブル もしくは タイプシンプル + パケホシンプル にするつもり。
会社に連絡もするので タイプSS の方になりそうだけど。

これで本格的に GP02 が役に立つ。そして、 android 端末も手に入ったので
アプリの開発とかやる気が出てきたかも。