Vagrantへansibleでrbenv installするとコケる

ansibleを使って、Vagrantへのrbenv installをするとエラーでこけました

$ rbenv install 2.3.0
でこけてたみたい

/tmpに吐かれたエラーをメモし忘れましたが
Ruby 2.2.0 Fails during “Generating RI” · Issue #721 · rbenv/ruby-build
と同じエラーでした
rdocあたりでこけてました

原因はメモリー不足だったようで

$ vim Vagrantfile

  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
  end

とメモリ2GBにして再起動

$ vagrant reload

これで再度実行すると無事終わりました

Androidからmoshでサーバーにログインしてみる

Centosのサーバーにmoshを入れて試してみる
でサーバーにmoshをいれてみましたが、今度はAndroidからつないでみました

JuiceSShというのがmoshに対応しているので入れてみました
JuiceSSH – SSH Client – Google Play の Android アプリ

立ち上げてプラスボタンで新規設定
(画像の色が悪いのは、目にやさしいアプリをいれてたからです)

設定を入れていきます
mosh-android1

秘密鍵はAndroid携帯へUSB経由とかで渡しておいて、読み込ませます
mosh-android2

つないでみた感じがこちら

mosh-android3

これでサーバー側で開発するものを用意できれば、Androidだけで開発ができる!
サーバー側で準備をいろいろ進めないと

Centosのサーバーにmoshを入れて試してみる

サーバーにsshで入って色々作業してるときに、ネットワークが不安定にあってフリーズ..とか困る場合にmoshがいいらしいです
Mosh: the mobile shell

sshを超えるらしいです、仕組みもすごそう

Centosのサーバーにmoshを入れて試してみました

Centos 6.4のサーバーにsshでログイン

$ sudo yum install mosh

これだけでクライアントとサーバーが両方入ります
ここではサーバーとして使いますが、デーモンを起動したりせず、クライアントからmoshでつなげば
自動でサーバーが起動するようです

UDPの60000 – 61000を使うそうなので、ファイアーウォールを開けます

$ sudo vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m udp -p udp --dport 60000:61000 -j ACCEPT

を追記

$ sudo service iptables restart

で変更が反映されるはずです

$ sudo service iptables status

で確認
あとは、クライアントからつないでみます
Ubuntu 14.04を使いました

$ sudo apt-get install mosh

これだけ
あとは今まで使っていたsshコマンドの代わりに

$ mosh sample.co.jp

とかでつなげば大丈夫です
.ssh/configもそのままできるので、便利です

phpunitでprivateメソッドのテストをする

phpunitでclassのprivate methodをテストしたいときはPHP: ReflectionMethod – Manualを使うとできます

SampleクラスのisValidメソッドへ引数を渡してテストするなら

$class = new Sample();
$arr = ['arg' => 100];
$method = new ReflectionMethod(get_class($class), 'isValid');
$method->setAccessible(true);
$result = $method->invoke($this->csv, $arr);
$this->assertTrue($result);

といった形です