gemがインストールできない件

なんか良くわからないが、とりあえず、ずるい感じでインストール出来たので、メモ だれか詳しい人、教えてくれると、嬉しいです。 僕はrbenvをつかっていて、ruby 1.9.3p448 での環境です。

aws-sdkのgemをインストールしようとしていたんですが、下記のようにエラーメッセージが出て来て困りました。

$ gem install aws-sdk

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz)

下記のように.gemrcをつくってssl verifyをしないようにしたら、インストールできましたが、 ssl verifyをしていないので、不安です!

echo ':ssl_verify_mode: 0' >> ~/.gemrc

だれか、正しい解決方法をおしえて!

Vagrant入門ガイド

Vagrant入門ガイド

Vagrant入門ガイド

仕事で、一部Vagrantをつかっている。 CUIでいろんなことが出来るって言うのは、僕に取って有意義だ。

Chefの一部、みたいな感じでつかっているので、Vagrantは何ができて、何が出来ないのかがいまいちわかってない。 ググったりすると、結局ドキュメントがヒットするんで、よんでみたりしてるんだが、 自分の問題の範囲でしか回答って言うのがだせないので、いまいち、Vagrantの全体感がつかめなかった。

この本をよんで新たにわかったことを羅列すると、

  • 複数のvmのたてかた
  • vagrant statusで複数のvmの状態がわかること
  • vmをエクスポートできること

がわかりました。これは、べんりですね。

かるく、Vagrant: Up and Running も読みたいなぁ

ゾーンに入る技術

ゾーンに入る技術 (Forest2545Shinsyo 34)

ゾーンに入る技術 (Forest2545Shinsyo 34)

なんかいつものことだけれども、気軽に読める本が好きです。 この手の本はコンビニで買えて、さーと読めて気分がいい。

ゾーンに入るには、体調とか精神面をクリーンにしとく必要があって、 そのためには友達とか、同僚をねたんだりとかするんじゃなくて、 応援してあげたり、仲良くしておくのがいいんだよって話。

まーその方が絶対いいよね。絶対。

Androidのエミュレータのhostsの件

目的

タイトルはいったいなんなんだ、さっぱり意味が分かりません。

僕はAndroidエミュレータからMac OS X上にあるvm上のwebサーバにアクセスしたい。

問題はAndroidエミュレータってiOSエミュレータとちがって、ホストOSにあるhostsファイルを参照してくれない。 だから、エミュレータ上にある、/system/etc/hostsを書き換えてやればいい。

と、単純なことなんですが、エミュレータの設定しくじると、 そもそも/systemのディスクサイズが足りなくて、

adb push ./hosts /system/etc/hosts #=> failed to copy './hosts' to '/system/etc/hosts': Out of memory

とか怒られる。

なので、エミュレータの設定をする時に、storageは念のため大きめにする。 僕の場合は、とりあえず2048MBにしたんだけど、/systemはデフォルトパンパンにするようになってるぽく、/systemをちょっと広げてあげないといけない。

設定

Android Stadioでやります。

エミュレータの設定はどこでやるんだか忘れてしまいましたが、 storageを大きめにしましょう。

次にディスク(storage)のパーティション設定です。

Run -> edit configuration -> Emulatorタブ -> Additional command line options

にチェックをいれつつ、フォームに

-partition-size 256

といれてやる。

ちょっと前後しますが、adbにパスを通す。zshrcでも、なんでもいいんで、下記を追記

export PATH=$PATH:/Applications/Android\ Studio.app/sdk/platform-tools

以下からは、エミュレータを立ち上げた時に、毎回行う必要がある作業です。

エミュレータの/system以下を読み書き可能にする。

adb remount # エミュレータの/system以下を読み書き可能にする。

あらかじめ準備したhostsをエミュレータに入れちゃいます。

adb push ./hosts /system/etc/hosts

さてこれで終了です。

設定したhostsが生きてるか、エミュレータchromeとかで確認してみましょう。

おまけ

ちなみに、下記のようにすると、エミュレータのディスクサイズを確認できます。今回の場合は、以下のような感じ。

$ adb shell # エミュレータのシェル起動
# df

とやると、

# 中略
/system                248M   198M    49M   4096
# 中略

ってかんじで。

あと、以下で、hostsの内容とか確認できるし。

adb pull /system/etc/hosts ./hosts # 現在入ってるhostsを落としてくる

参考

rails migrationのintの話

基本mysqlでintはunsiginedで使うもんだと思ってる僕としては、 railsマイグレーション的なアレにえぇっ思っています。

ああいい世界ですね。

rubyの新しいのを入れたりしたら、gemでやっておきたいメモ

rbenvでrubyをいれたら、gemでこれくらいはやっておこうと思っている。

rbenv exec gem install rubygems-update;
rbenv rehash;
rbenv exec update_rubygems;
rbenv rehash;
rbenv exec gem install rbenv-rehash;
rbenv rehash;

knife soloの動きが変わった?

あんまり調べてもいないのでアレですが、 knife solo(0.2.0)の挙動が若干変わっているようですね。

rvmからrbenvを利用するように、変更したら、knife soloなどいろいろ動かなくなってた のでテンパりました。

kitchin(knife solo initすると出来るdirecotry)に

  • solo.rb

が入ってないと動かないみたいです。 デフォルトの内容は

file_cache_path           "/tmp/chef-solo"
data_bag_path             "/tmp/chef-solo/data_bags"
encrypted_data_bag_secret "/tmp/chef-solo/data_bag_key"
cookbook_path             [ "/tmp/chef-solo/site-cookbooks", "/tmp/chef-solo/cookbooks" ]
role_path                 "/tmp/chef-solo/roles"

ってのが入ってました。 ま、たいした話じゃないです。