Androidで横固定にする(回転あり)

[Activity (Label = “XamarinNativeApp5.Android”, MainLauncher = true, Icon = “@drawable/icon”, ScreenOrientation = ScreenOrientation.SensorLandscape)]

ScreenOrientation = ScreenOrientation.SensorLandscapeを指定する。
ScreenOrientation.Landscapeだと片方の横固定にしかならず、反対側の横にはならない。

ユーザーの画面回転に依存させるならScreenOrientation.UserLandscapeを使う

【Xamarin】Visual Studio 2017でiOSのビルドを行うまでのメモ

環境

  • MacBook Pro (Retine, 13-inch, Early 2013)
    macOS Sierra(クリーンインストール)、Core i5、RAM 8GB
  • VAIO Z (2015)
    Windows 10 Pro build 1703 (Creators Update)
    Core i5、RAM 16GB
    Visual Studio Enterprise 2017 Version 15.1

手順

  1. Macのシステム環境設定から共有を選ぶ。
  2. リモートログインに☑を入れてsshログインに必要なアカウントとIPアドレスをメモ。
  3. MacにXamarin Studioをダウンロードしてインストールする。
    https://www.xamarin.com/download-it
  4. Xamarin Studioのインストールが完了するとXcodeのインストールに誘導されるので従いApp Storeからダウンロードしてインストールする。
  5. Xcodeのインストールが終わったら一度起動してライセンスに同意する。
  6. Xamarin Studioを起動して安定版の更新を行う。
    (ベータやアルファやってもいいけど何かあった時に自力で解決出来る人のみ)
  7. Windows側でVisual Studioから新規CrossPlatformプロジェクトを作る。
  8. [ツール]→[オプション]→[Xamarin]→[iOSの設定]→[Xamarin Mac Agentの検索]
  9. 用意したMacを選択(出てこないなら2でメモったIPアドレスとアカウントで接続)
    パスワード要求されたらMacにログインする時のやつを入力
  10. スタートアッププロジェクトをiOSにしてデバッグデバイスを選択してビルド!

繋がらない時

  • SSH キーが作れないって言われる
    Mac側で別のユーザーを作って試してみて。
  • The root assemblyうんたらかんたらiOS.exe conflicts with another assemblyって言われる
    Visual StudioかXamarin Studioのバージョンが古いかも!
    もしくはXamarin Studioが安定版じゃないかも!
    確認してプロジェクト作り直してみて。
    >The root assembly conflicts with another assembly

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に乗り換えてどうだったか?の記事を上げると思います。