>

2016年4月26日火曜日

"iTunes Matchはこのデバイスのミュージックライブラリに置き換わります" というダイアログはOKしてよい。

iPhoneでiTunes MatchをONにしようとすると出て来る
"iTunes Matchはこのデバイスのミュージックライブラリに置き換わります"
というメッセージ。なんとなく今まで貯めてきたCloud上の自分のライブラリがiPhoneの少量の曲で上書きされてしまうと解釈してしまいそうだが、そうではない。正しくは"iTunes Match「が」このデバイスのミュージックライブラリに置き換わります"という意味で今使っているiPhoneのライブラリがiTunes Matchのたくさんの曲で上書きされるという意味らしい。

※このメッセージの意図はiTunes MatchをONにするとiPhoneだけに保存されている曲は消えてしまうのでそのような曲がある場合はあらかじめバックアップをとっておく必要があるという注意喚起のようである。


2016年1月17日日曜日

Amazon EC2を安全に使うために最低限やっておくこと。

※2015/12/25現在の情報です。
自分の家のPCにGeForceがないのでAmazon EC2でやってみることに。
Amazon EC2でGPUが使えるインスタンスを起動すると大体1時間に1ドルくらいかかるのでインスタンスの停止し忘れとかは非常に怖い。そういうことがないように最低限やっておくべき設定のメモ。


実際のインスタンスでCUDAが使えるようにする設定方法はすでに様々な記事があって例えば
http://sla.hatenablog.com/entry/chainer_on_ec2
この辺を参考に構築できます。

Amazon AWSの請求金額の総額が一定金額を超えた時にアラートメールが来るように設定する。


https://aws.amazon.com/jp/
上記URLからAmazon AWSのコンソールにサインイン。
サインインすると表示されるコンソール画面の一番上のメニューバーから自分のアカウント名をクリックするとドロップダウンメニューが表示される。その中から、「請求とコスト管理」をクリック。

請求情報とコスト管理ダッシュボード
にて
アラートおよび通知
というセクションがありこの文章中に「初回請求アラームの設定」というリンクがあるのでクリック。(下図)

「アラームの作成」をクリック(下図)

あとは表示されるダイアログに従って通知の閾値にする金額とe-mailアドレスを設定してアラームを作成する。必ずまずは$1とかの低額に設定してEC2を利用してあえてその閾値を超えさせてみて通知メールが実際に届くことを確認する。そして忘れずに閾値の金額を適切な値に再設定する。



2015年9月24日木曜日

xCode7.0にしたらAVAudioPlayerの初期化処理で"Call can throw, but errors cannot be thrown out of a property initializer"というエラーが出るようになった件

エラー伝搬を無効にして良いなら下記のようにtryの後に!をつけることでエラーを回避できる。
let myPlayer:AVAudioPlayer = try! AVAudioPlayer(contentsOfURL: url)

xCode7.0にしたらNSUserDefaults.registerDefaultsで'NSMutableDictionary' is not convertible to '[String: AnyObject]'と言われるようになった件

NSUserDefaults.registerDefaultsで引数にNSMutableDictionaryのインスタンスを[String : AnyObject]にキャストして渡していたコードがXCode7.0にアップデートしたらエラーになった件。

原因は多分NSMutableDictionaryの[String : AnyObject]へのキャストが認められなくなったからと思われるので次のようにNSMutableDictionaryを使用せずに指定することで回避。
        
myNSUserDefaultsObj.registerDefaults(
            [
                "key1" : myObj1,
                "key2" : myObj2
            ]
        )

2015年8月29日土曜日

iTunes ConnectのマイAppのバンドルID(Bundle ID)を変更する。

iTunes Connectで登録したマイAppのバンドルIDはそのアプリがストアで公開される前であれば変更できます。(幾つかのサイトで変更できないといった記述が見受けられたがそれは誤りです。)
下記の通りiTunes ConnectのマイAppから当該Appを開いてメニューから その他>このAppについて を選択するとバンドルIDを変更できるダイアログが開きます。


2015年8月10日月曜日

iPython notebookでpyplotを使って表示する画像のサイズを変更する

iPython notebookで画像として可視化しながらデバッグするときに画像のサイズが変更できないで少し困った。以下のfigureという命令でfigsizeを指定することで変更できることが分かったのでメモ。
import matplotlib.pyplot as plt

plt.figure(figsize=(12,12))

2015年5月6日水曜日

swiftからobjective-cの関数を呼び出す時にエラーになる件

swiftから複数の引数を持つobjective-cの関数を呼び出そうとすると
Cannot invoke 'func' with an argument list of type
とか
Missing argument labels
みたいなエラーが出て困った件。

原因は次の二点だったのでメモ。

  • objective-cの関数の引数の型がintの場合はswiftではInt32の変数を入力しなくてはならない。Intではダメ。
  • objective-cの関数の引数のラベルもswiftのコードで記述しなくてはダメ。
以上をまとめるとswiftでは次のような呼び方をすることでコンパイルに通るようになった。味噌はInt32に変換していることと、二つ目以降の変数の前にコロンで区切ってラベル名(この例ではmon, mday)を記述していること。
MyClass.test(Int32(year), mon:Int32(month), mday:Int32(day));