『心を整える。』
- 作者: 長谷部誠
- 出版社/メーカー: 幻冬舎
- 発売日: 2011/03/17
- メディア: 単行本(ソフトカバー)
- 購入: 34人 クリック: 2,660回
- この商品を含むブログ (197件) を見る
読んだ本を日記にして行こうと思う。じゃないと年間何冊読んでいるのか
忘れてしまう。。基本、移動時間等のスキマ時間で読んでいます。
サッカー日本代表の長谷部さんが書いた本。
なぜか1時間前行動をしているところが、やたらと印象に残った。
当たり前のことをきちんと愛情込めてやるという感じかな。
久しぶりにこっち系の本読んだので新鮮だった。
『Ruby On Rails Tutorial』Screencasts lesson1
Herokuへのdeployの手順を忘れるので、順番をメモ。
・まずは、マシンを変えた時等、初期設定として下記のコマンドを実行。
heroku keys:add
※これを実行しないと、
Permission denied (publickey)
のエラーが出ることがある。
・アプリを作ったら、下記を実行。
heroku create
・Herokuへmasterをpush
git push heroku master
・deploy後、自動で生成されるアプリ名を変更
heroku rename XXXX ※XXXXは任意の名称
Herokuへdeployしたアプリケーションの名前を変更するには
Herokuへdeployしたアプリケーションの名前を変更するには
HerokuのMy Appsページにて画面から変更可能であるが、変更後、
必ず以下のリンクにあるように、リモートリポジトリの名称も変更すること。
忘れないように覚え書き。
$ git remote rm heroku $ git remote add heroku git@heroku.com:newname.git
http://devcenter.heroku.com/articles/renaming-apps#manually_updating_a_git_remote
※『Manually Updating a Git Remote』の箇所
※newnameの箇所は、変更後のアプリ名を入力
Rubyの素晴らしさ〜配列
Rubyの素晴らしさは、配列にあり!?
オフィシャルのサンプルにもありますが、本当に美しいと思う。
>> a = [[2,1],[1,2],[0,3]] => [[2, 1], [1, 2], [0, 3]] >> p a [[2, 1], [1, 2], [0, 3]] => nil >> b = [[5,1],[4,2],[3,3]] => [[5, 1], [4, 2], [3, 3]] >> p b [[5, 1], [4, 2], [3, 3]] => nil >> ab = a + b => [[2, 1], [1, 2], [0, 3], [5, 1], [4, 2], [3, 3]] >> ab.sort! => [[0, 3], [1, 2], [2, 1], [3, 3], [4, 2], [5, 1]]
素晴らしい!
scaffold実行時の 『wrong number of arguments (1 for 2)』エラーについて
先ほどご紹介した『Head First Rails ―頭とからだで覚えるRailsの基本』の12頁で
scaffoldの説明があるのですが、その頁にサンプルとしてある
下記のコマンドを実行しても、何度も『wrong number of arguments (1 for 2)』エラーが出続けていて
困っていました。直前の『create app/views/tickets/index.html.erb』までは上手く行っている
ようでしたので、その辺りの情報も探ってみたのですが、中々情報が無く、一日置いてみることにしました。
ruby script/generate scaffold ticket name:string seat_id_seq:string address:text price_paid: decimal email_address:string
で、一日空けて再度実行したコマンドをよーく見てみると、、
『price_paid: decimal 』の項目名と型の間に、半角スペースが入ってました。。
正しくは『price_paid:decimal 』ですね。
よって、
ruby script/generate scaffold ticket name:string seat_id_seq:string address:text price_paid:decimal email_address:string
と打ち直したところ、無事に動きました。。ちょっと仕事の疲れもあったのかもしれません。
凡ミスですが、若干はまりそうだったので、同じようなエラーが出た方はご注意下さい。
『Head First Rails 頭とからだで覚えるRailsの基本』
Head First Rails ―頭とからだで覚えるRailsの基本
- 作者: David Griffiths,松田明,児島修
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/01/18
- メディア: 大型本
- 購入: 8人 クリック: 226回
- この商品を含むブログ (31件) を見る
Railsの勉強用に購入。この本は名著だと思います。
オライリーの本は難しいという印象をお持ちの人が多いようですが、
この本は試してみる価値があります。
私のような初心者には完璧な内容かと。
一般的に知られている『RailsによるアジャイルWebアプリケーション開発』も
試してみたのですが、こっちの方が分かり易いので、切り替えました。
Railsをこれからやってみようと思う方へ、ぜひ!
※Rails3には未対応かと思いますので、そこはご注意を。
私的な開発環境は以下の通り。
Ruby 1.8.7
Rails 2.3.11
SQLite 3.6.12
Mac OS 10.6.8
Railsでrake db:migrate実行時の「uninitialized constant MysqlCompat::MysqlRes」エラーについて
この件、解決するのに正直時間が掛かったので、皆さんのためになればと。
まずは、下記のイギリス人のブログが参考になりました。
http://www.pixellatedvisions.com/2011/03/13/fixing-mysql-and-rubygem-errors-on-a-new-rails-2-3-8-install
ざっくり翻訳すると、まずは、
file `which ruby` file `which mysql`
を実行し、rubyとmysqlが64bit版でインストールされていることを確認します。
次にRailsで使用するmysqlのライブラリをgemでインストールします。
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
これで解決すると紹介しているページが多いですが、私は駄目でした。。
そこで、先ほど紹介したブログの最後にある
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib
を実行し、再度、rake db:migrateを実行したところエラーの内容に変化がありました。↓
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
どうもソケットの内容が怪しいようです。
Railsのプロジェクトフォルダにある/config/database.yml
を参照して見て下さい。
socket: /var/lib/mysql/mysql.sock
のような記述がないでしょうか。あれば、コメント化することでrake db:migrateを実行しても
エラーが出なくなるはずです。
なお、私の場合、mysql.sockは、/private/tmp/内に存在しておりました。
よって、上記database.ymlを
socket: /private/tmp/mysql.sock
と書き直してみたところ、同様にエラーが出なくなりました。
但し、この対応だと、一度ターミナルとの接続を切るとDYLD_LIBRARY_PATHの値もクリアされますので、
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
当然ですが、上記エラーが再発します。
そこで、私の場合は、~/.bash_loginへ下記の追加を行いました。
これで常時エラーが出なくなるはずです。
また、DYLD_LIBRARY_PATHに関しては、値をセットするとシステム全般への
影響があるようなので、DYLD_FALLBACK_LIBRARY_PATHへ値をセットしております。
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/mysql/lib
なお、バージョンは以下の通り。
Ruby 1.8.7、Rails 2.3.11、MySQL 5.5.15
このバージョンが開発環境としていいんだか悪いんだか判断つきません。。