*[Android] AsyncTask周りを読む
今更感ありますが,今までAsyncTaskを使っていた箇所で,タスクの優先度や実行順序をコントロールしたくなって調べてた.
AsyncTaskはAndroidのバージョンごとに動きが違うので,一応確認.
-
Android 1.6未満:AsyncTaskは1スレッドで実行される
-
Android 1.6以降:ThreadPoolExecutorで5スレッド作ってる
-
Android 3.0以降:5スレッドあるが,並列実行はしない
実はAndroid 3で挙動が変わったの知らなかったのですが,APIリファレンスにも書いてありますね…….ちなみに,setDefaultExecutor() なんていうメソッドがActivityThreadから呼ばれてて,アプリのtargetSdkVersionがHoneycomb以降の時にExecutorを切り替えている.@hideなので使えないですが.
自前のExecutorを使いたい場合は,executeOnExecutorを使えば良いみたいだけど,そもそもAsyncTask使う必要ない気がしてきたので,自分で作ることに.ただスレッドプールを新たに作ってしまうのちょっと嫌だなと思ってたら,AsyncTask.THREAD_POOL_EXECUTORが外から見えるようになってるのでこれ使おう.
WebGLのフラグメントシェーダを使ってリアルタイムに動画をいじるサンプルをgithubで公開しておく.前にoculusで動画再生するためにWebGL使ったけど,今回はフラグメントシェーダだけでやったのでかなりシンプル.
https://github.com/binzume/webgl-video
最近のchrome上で動きます.Firefoxでも動くかもしれませんが未確認です.
先週,http://ch.nicovideo.jp/dwango-engineer/blomaga/ar263375 この時に作ってデモ見せたのだけど,なぜか写真を載せられないと言われてしまったので,ここに.
再生している動画をクリックすると波紋が広がっていきます.
デモに使った動画は,
昼寝して起きたら夕方だった.
飲み会.
眠い.
メモ
http://d.hatena.ne.jp/syque/20110221/1298280134
http://www.routingip.net/
http://www.vmware.com/pdf/vsphere4/r40_u1/vsp_40_u1_vcli.pdf
ESXiでコピーしたVMを最初に起動するときダイアログが出るのだけど,SSH経由でやるとそこで止まってしまって進まない.その状態で,vSphere Clientを開くとダイアログに表示されるべきメッセージがログに出ている.
どうやって次に進めばよいのかわからずに試行錯誤した結果,もう一本SSHで接続してvim-cmd vmsvc/message コマンドで出来た.
Android4.0でRenderScriptにSurface渡す手段はないのかな.
*自炊本リーダー(仮)
https://play.google.com/store/apps/details?id=net.binzume.android.bookreader
アップデートしました.
稀にページが表示されないことがあって,その後操作できないバグが取れたはず.
他にも色々修正.
*楽天銀行の昨日のあれ
楽天銀行へのログイン時の質問に答えられるようにしておく.
https://github.com/binzume/rakutenbank-ruby
デバッグ中に認証通らないと思ったら,そもそも質問の答えを間違っていた.秘密の質問系の答えは,基本的にデタラメなものを入れるので,自分でも分からなくなることが多いです.
暑い.会社に行ってコード書く日.
*会社でハッカソン的なことをやった
みんな良い感じに色々やってた.
最初WebGLのシェーダで遊んでたのだけど,途中で飽きてきて,Androidアプリいじったりする.気になってたバグの原因も見つけたので,明日あたり自炊本リーダー(仮)をアップデートしよう.
*楽天銀行の預金残高等を取得するrubyのプログラム
rubyから楽天銀行をごにょごにょするライブラリを公開しました.
https://github.com/binzume/rakutenbank-ruby
自分では以前から使ってたものだけど,合言葉認証に対応してないし振込もできないです.作りかけのまま放置してたのですが,今日,思い出す機会があったので一応公開.
たぶん残高と最近の明細は取れるはず.
*VMware ESXiで自動割り当てされたMACアドレスを再利用したい時のメモ
仮想マシンの移動や再作成を行うと,MACアドレス変わってしまうので,前のMACアドレスに戻そうと思って手動設定にしてMACを入力すると,VMwareで予約されたアドレスですみたいなこと言われて設定できない.どうやら,自動割り当てされるMACアドレスの範囲とかぶるMACアドレス(00:0c:29:~)は設定できないようになっているっぽい.
とりあえず,ESXiにSSHでログインして,vmxファイルを直接編集することにする.uuidの最後の方のバイトからMACアドレス作ってるようなので,そこを書き換える.
本来であれば,MACアドレスを自分で管理したいなら,00:50:56~を使うべきなのだけど,仮想マシンを作るときにうっかり忘れてしまうので.
肉食べた.
*VirtualHost運用のHTTPSをStartSSLの無料の証明書でどうにかする
特に難しいことはしてないけど,メモ.
StartSSLの無料で取得できる証明書は認証したドメイン+サブドメイン1つに対するものなので,複数のサブドメインを持っている場合は,どうにかしないといけない.(たとえば,www.binzume.netとgit.binzume.netとか).FAQをみるとお金払ってClass2のマルチドメイン証明書を取ってくださいと書いてある.
とはいっても,今時のブラウザやApacheはSNIに対応していて,一つのホストで複数の証明書を使い分けることができるはずなので,あとはStartSSLが許してくれればどうにかなるはず.
試してみた感じだと,同じドメインに対していくつも証明書作れるようです.秘密鍵も同じやつ使って大丈夫.
StartSSLの証明書のウイザード,毎回秘密鍵生成から始まるので,面倒そうだと思ったのですが,Skipを選んでCSRを貼り付ければ良いらしい.
CSRはopensslコマンドで簡単に作れる.入力した情報はほとんど無視されるっぽいし適当で良いのかもしれないけど一応真面目に埋める(もしかしたら同じCSRを複数のサブドメインに使い回せてしまうかも).
あとは,apacheの設定して終わり.
ブラウザはだいたい大丈夫だけど,wgetは標準だとSNI対応してなくて残念.
ChromeのPNaClどんな感じなのか試してみたいのだけど時間がなかなか取れない.
外出する予定が入ってたので早めに会社に行く.眠い.
引きこもる日.
髪の毛がだいぶ伸びたので切りに行こうと思って家を出て,ついでに本屋に寄ろうと考えていたのだけど,面倒だしamazon.comで良いかと思って途中で引き返してしまった.そして,ネットで髪が切れないことに気づいた.