2012年4月20日金曜日

herokuで複数アカウントを管理する

----

追記:
複数アカウントを導入すると、どうしてもエラーまみれになってしまってうまくいかなかったので、複数アカウントにするのを諦めました。
しかし、もし複数アカウントでやるならどうやらaccountのプラグインを使うのが一番良いみたいです。

・heroku-accountsプラグイン
http://journal.sooey.com/162
・わたしはheroku-accounts導入しようとしたらいろいろこけまくって諦めてしまった。ねばって成功した人もたくさんいるみたいなので、とりあえず上のサイトを参考にしながら試してみるとよいかもしれない。

----

ayuminさんのところに詳しくは書かれていた。
http://d.hatena.ne.jp/ayumuaizawa/20120120

けれど、一応自分でもメモメモ。


$ heroku login
Enter your Heroku credentials.
Email: (herokuに新しく登録したアドレスを記入)
Password: (herokuのパスを入れる)

そしたらどっちのssh使うの?ってでてきた。

Found the following SSH public keys:
1) github_rsa.pub
2) id_rsa.pub
Which would you like to use with your Heroku account? 

ふええ〜 どっちだっけ〜 忘れちゃったよ〜

考えてみるに、多分(1)がgithubに登録したやつで、(2)が前にherokuに登録したとき発行したやつかなあ、多分。多分。

というわけで再びssh発行。


$ ssh-keygen(ようっし!発行!)
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ikezawaayaka/.ssh/id_rsa): /Users/ikezawaayaka/.ssh/td_rsa(td_rsaとどのアカウントで使っているのかわかりやすい名前にしてみたキリッ)
Enter passphrase (empty for no passphrase): (普通にエンターでok)
Enter same passphrase again: (普通にエンターでok)
Your identification has been saved in /Users/ikezawaayaka/.ssh/td_rsa.
Your public key has been saved in /Users/ikezawaayaka/.ssh/td_rsa.pub.
The key fingerprint is:
28:bc:c4:06:a2:93:e3:92:06:cd:42:84:c9:36:5d:7c ikezawaayaka@ikezawa-ayanobana-no-MacBook-Pro-2.local
The key's randomart image is:
+--[ RSA 2048]----+
|oo. o.           |
|++ . . E         |
|o.o   .          |
|o= +   .         |
|B o * . S        |
|o= o o           |
|oo  .            |
|o                |
|                 |
+-----------------+

これでsshが3つになりまして、


$ heroku login
Enter your Heroku credentials.
Email: (メアド入力)
Password: (パスワード入力)
Found the following SSH public keys:
1) github_rsa.pub
2) id_rsa.pub
3) td_rsa.pub
Which would you like to use with your Heroku account? 3(3番目のつかうぜ!)
Uploading ssh public key /Users/ikezawaayaka/.ssh/td_rsa.pub


無事herokuに複数アカウントでログインできたわけであります。




2012年4月17日火曜日

Ruby on Railsでのアプリ開発の基本

今回は簡単なRailsアプリの開発をMac OS X でやっていきます。

・Ruby on Rails とは
Ruby on Rails(ルビーオンレイルズ)はオープンソースのWebアプリケーションフレームワークである。RoRまたは単にRailsと呼ばれる。その名にも示されているようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。(Wikipediaより)

・開発環境を整える
MacにはRubyがデフォルトではいっています。
Rubyのバージョンを確認してみます。
ターミナルを開いて、以下のコマンドで確認します。
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
続いて、Railsのバージョンも確認してみましょう。
$ Rails -v
Rails 3.2.1

Rubyのバージョンは1.9以上が望ましいので、1.9以下の方はアップデートを推奨します。
Railsはデフォルトでは入っていないので、インストールしましょう。

Railsのインストールは、
Macportをインストール後、
$ sudo port install rb-rubygem
$ sudo gem install rails
とコマンドをうち、Railsを導入します。

余談ですが、RVMとgemsetを利用して、RubyとRailsのバージョン管理をするととても便利です。

・簡単なアプリを作る
はじめてのアプリの定番はやはりToDoリストです。
本当にあっという間にできて感動します。

$ cd
$ rails new todo
$ cd todo

cdコマンドで、一番下の階層に移動し、rails new で新しいアプリを作成します。
今回はToDoリストをつくるので、アプリ名は「todo」とします。
そして再度cdコマンドで今度は新しくできたtodoのファイルへ移動します。

$ rails g scaffold note body:text title:string
$ rake db:migrate
rails g scaffold note body:text title:stringで、本文とタイトルが入れられるToDoリストを作ります。noteは適当につけた今つくった機能の名前です。アプリ名とかぶらないように気をつけます。
次に、rake db:migrateでtodo情報を登録するためのデータベースをつくります。
またまた余談ですが、firefoxのアドオンでSQLite Manegerというものがあるのですが、
このアドオンを入れるとデータベースを可視化することができます。

早速ブラウザで確認してみましょう。
ローカルでサーバーを立てて、確認。
$ rails s
ブラウザで「http://localhost:3000/notes」を開いてチェックしてみましょう。

ちゃんとこうなっていれば成功。



New Noteからいろいろと追加してみましょう!


以上で簡単にToDoアプリができました。

  • herokuで作った簡単にアプリを公開することができます。
  • twitter bootstrapを使うと見た目を簡単にtwitter風にすることができます。


2012年3月20日火曜日

hetemlにRubyGemを入れる

参考にしたのは以下のブログ
http://d.hatena.ne.jp/takkkun/20100313/1268503864
http://weble.org/2010/07/08/heteml-rubygems-install

組み合わせないと私の環境では動かなかったというw

まずは場所を確認。
$ ls
webとappsのこの2つがある領域へ。
(もし違う場所にいたら $ cd するなりする)

RubyGemsのインストール先ディレクトリを作成。
不可視ファイルつくるよ〜
$ mkdir .gem
適当にディレクトリを作ってRubyGemsのソースをダウンロード
$ mkdir src
$ cd src
$ wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
$ tar zxf rubygems-1.3.6.tgz$ cd rubygems-1.3.6
vimを起動してソースコードを修正する
本当はこのままgemをダウンロードすればいいらしいんだけど、
パスが違うらしく、このままではコケてしまうらしい。
$ vi lib/rubygems.rb
vimでの編集はここを参考にしておく
http://www15.ocn.ne.jp/~tusr/vim/vim_text0.html

vimで検索なんかして、
:bindir => RbConfig::CONFIG["bindir"],
という項目を見つける。

その項目を、
:bindir => '/usr/bin',
とする。

で、修正したらインストール
$ ruby setup.rb --prefix=~/.gem
その後、環境変数なるものを設定しなくてはいけないらしい。
$ export PATH=$PATH:~/.gem/bin
$ export RUBYLIB=$RUBYLIB:~/.gem/lib

これでインストール完了。
試しにgemのバージョンを確認してみる。
$ gem -v
1.3.6
バージョン確認ができれば成功。

よく使うUnixコマンドまとめ

cd
1階層上の階層にいく

cd ほにゃらら
その階層にある、ほにゃらら(存在するファイル名)に移動する

ls
その階層にあるファイル一覧を表示

ls -a
不可視ファイルも表示

mkdir ほにゃらら
ほにゃららっていうファイル(ディレクトリ)を作る

rmdir ほにゃらら
ほにゃららディレクトリを削除
でも中身あったら削除されない

rm -r ほにゃらら
中身あっても強制削除

which ほにゃらら
ほにゃららまでのパスを表示

wget http://~~~~~
ファイルをそこからダウンロード

tar
tar形式のアーカイブファイルを展開
逆の機能、複数のファイルをtar形式のアーカイブファイルを作成する機能も。
tarのコマンドの種類いっぱいあるよ。
http://x68000.q-e-d.net/~68user/unix/pickup?tar

vi なんちゃら
vimを起動して、そのファイルを編集。
これでターミナルからテキストデータとかを編集できるよ!
(個人的にはマジ使いにくいけど)

わかりやすいvim入門
http://www15.ocn.ne.jp/~tusr/vim/vim_text0.html

(ノーマルモード時)文字を削除
x

(ノーマルモード時)文字の挿入モードになる
aとかiでなる

(ノーマルモード時)変更したテキストを保存
:w

(ノーマルモード時)テキスト編集をやめる
:q

(文字挿入モード時)ノーマルモードに移動
escキー

そしてIE TESTERを入れてみる。

我がMacにWindowsが入ったので早速。
IE TESTERというアプリを入れてみた。
バイト先ではこのアプリ使って作ったHPのブラウザ間互換チェックを行っているのです。
IE6〜最新IEまでチェックできるという賢い子。(たまに落ちるけど)



これで互換チェックがスイスイできるようになりますね。

VMware FusionでMacにWindowsをいれる


PC関係の仕事をしている親戚のおじさんから、
成人祝いにWindows7のHome PremiumとVMware Fusionのライセンスをもらったので、
私のMacもついにWindows7デビューをすることにした。

VMware Fusionを使ったらかなり簡単にWindowsを入れる事ができた。

・My PC スペック
Mac OS X バージョン 10.6.8
プロセッサ 2.26 GHz Intel Core 2 Duo
メモリ8GB 1064 MHz DDR3

VMware Fusionのバージョンは4.1.1。

まずはじめにPCにHome Premiumのディスクを入れる。
64bitと32bit版のディスクがあって若干困った。

64bitと32bit版の違いWindows7 参考:
http://windows.microsoft.com/ja-JP/windows-vista/32-bit-and-64-bit-Windows-frequently-asked-questions
http://www.lifehacker.jp/2010/01/10010564os32os.html
ここ特に参考になるかな?↓
http://support.apple.com/kb/HT1846?viewlocale=ja_JP

よくわからないけど64bitを選択した。

その後はここのムービーの通りにいれればいけたよ。
http://www.vmwarefusionlearningcenter.com/intro-to-fusion.html#1

アプリの「チュートリアルを見る」からも飛べるね。

途中の選択肢にある、


これはMore Seamlessを選択すると、
MacWindows間でファイル共有をしてくれるらしく、
楽そうだなと思ってMore Seamlessを選んだ。

もうひとつの方はどうなんだろう。


とりあえず以上。

2012年3月19日月曜日

gemがはいらなくて苦労した

私はRubyをrvmで管理しているのですが、
(rvm:Rubyのバージョン管理ソフト)

rvmでRubyの1.8.6をいれたら
gemがインストールできなくなってしまいました。


コンソールには「Abort trap」って。

なんで?

どうしてもだめだったので、「.rvm」ファイルを直接いじった。
1.8.6で使いたいgemを1.8.7にダウンロードし、移植した(笑)

動いた(笑)

なんなんだ(笑)

「Abort trap」の原因は未だ分からず…