Vagrant 1.9.3 に更新して Errno::EADDRNOTAVAIL が出た時の対応

このようなエラーが出た場合の対処方法

C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.3/lib/vagrant/util/is_port_open.rb:21:in `initialize’: The requested address is not valid in its context. – connect(2) for “0.0.0.0” port 80 (Errno::EADDRNOTAVAIL)

Vagrantfileにforwarded_portを指定しているなら「host_ip: “127.0.0.1”」を追加する。

config.vm.network :forwarded_port, guest: 22, host: 2231, id: “ssh”
ならば
config.vm.network :forwarded_port, guest: 22, host: 2231, host_ip: “127.0.0.1”, id: “ssh”
とする。

MySQLのSELECT句で * と id で異なるidのレコードが取得出来る場合の対応

以下2つのSQLで取得出来るレコードのidが異なった。

SELECT * FROM table WHERE hoge = fuga LIMIT 1;

SELECT id FROM table WHERE hoge = fuga LIMIT 1;

ほしいデータとして正しいのは上のクエリ、しかし実行したいのはしたのクエリである。
原因はMySQLのLIMITクエリ最適化らしく、LIMITの指定が少ない場合、インデックスが使用されることがあるらしい。

詳しくは以下
8.2.1.19 LIMIT クエリーの最適化

どうすればいいかというと、ORDER BY句でちゃんと並び替えればいい。

SELECT id FROM table WHERE hoge = fuga ORDER BY id LIMIT 1;

idはPKなのでORDER BY指定しなくてもid昇順で取ってくると思ってたけどそうでもないだな…

PhpStormに完全に乗り換えた

PhpStormを購入した、からはや1ヶ月が経過してどうだったかという話。

結論から書くと「自分は」完全に乗り換えるに至った。
「自分は」と書いたのは人によってはNetBeansで十分な条件を満たしてる可能性が大いにあるから。

まずPhpStormがNetBeansより優れている点

  • 参照元検索がNetBeansより精度が高い
    そもそも乗り換えた理由がこれ。
    SymphonyでNetBeansだと出てこなかった参照元がPhpStormだと出た。
  • IDEからVagrantが叩ける
    これは地味に便利
    2016-07-24 (4).png
  • IDEからSSHが繋がる
    Windows環境で使うには非常に便利
    キャプチャ.PNG
  • gistに直接コードを投げれる
  • メモリ使用量がNetBeansより少ない
    NetBeans使ってた時はメモリ1GBとか普通に使ってたけど、PhpStormは多くて500MBぐらいで済んでる。
  • ダークテーマがある
    NetBeansはエディタのテーマ編集できたけど、IDE全体のテーマを編集することが(多分)できない。
    PhpStormはIDE全体を(3種類だけど)変更出来る。
  • エディタのテーマにVisual Studio 2012/2013がある
    NetBeansでも頑張ればできるけど、用意されてるので楽
    http://www.phpstorm-themes.com/themes-list?title=Visual+Studio&field_tags_tid=All&field_tags_tid=All

逆にNetBeansが優れている点

  • 無料
    初年度1万円弱、2年目7000円強、3年目5000円半ばの金額を払えない、もしくは30日間のトライアルの結果払う価値を感じなかった場合はNetBeansでよい。
  • 日本語対応
    中学1年レベルの簡単な英語すら読む気のない人は自動的にこっち。
  • 複数のプロジェクトを同時に開ける
    このせいでメモリ使ってる説はあるけど個人的には便利でPhpStormで開けないのが悔やまれる。

こんなところです。
参照元検索の精度+ダークテーマで俺的にはもう乗り換えるしかなかったんですけど、まさかSSHまで叩けるとは思ってなくて複数プロジェクト開けないのは残念だけどNetBeansから完全に移行しました。

Vagrantが起動しない時【その2】

Virtualboxが「新しいバージョンあるよ」って毎回うるさかったのでアップデートしたらVirtualBox Host-Only Networkがネットワーク接続から消えて起動できなくなった。

前回前々回とも症状が違うのでメモを残しておく。
以下はその時のエラー

The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'poweroff' state. Please verify everything is configured
properly and try again.

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.

The primary issue for this error is that the provider you're using
is not properly configured. This is very rarely a Vagrant issue.

バージョン戻してもダメだったので色々調べたところExtension Packを入れると直るとのことでダウンロードページから落としてきて拡張機能にインストールしたら直った。

Download VirtualBox

PhpStormを購入した

netbeans-logo.png3rPeiTKt_400x400
NetBeansからの乗り換えです。
今日仕事中にNetBeansだと参照元一覧に出てこないfunctionがあったんだけど、別の人が使ってるPhpStormだと出てきたので勢い余ってトライアル期間すらすっ飛ばしてライセンス購入した。
近いうちにPhpStormに乗り換えてどうだったか?の記事を上げると思います。

JXUGC #13 東京 緊急開催 Xamarin のすべて!でLTしました。

昨日行われた「JXUGC #13 東京 緊急開催 Xamarin のすべて!」でLTしました。
スライドは以下に置いておくのでDLするなり好きにしてください。
あと何故かトリでした。

タイムテーブル上は「Xamarin A or B」というタイトルでしたが自分の番が来る30分前ぐらいにタイトル変えましたというか決まりました。(A or Bは仮だった)