Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

iPhone Simulaterからアプリをけす(初期状態にする

iPhone Simulaterからアプリをけす(初期状態にする)方法です。
設定情報が残っていたりして面倒な時にも使えます

実際のところ

画像のように、iPhone Simulator > Reset Content and Settings.
と実行してあげれば、再起動が掛かって消えます。

f:id:shuzo_kino:20170120234013p:plain

シェルで計算結果を16進数や2進数にしたい場合、bcコマンド

bashで計算結果を16進数や2進数にしたい場合、bcコマンドがイケます。
進数はobaseという変数で指定です

実際のところ

あんまりいい方法では無いでしょうが、
二進数をprinrf記法に混ぜ込みたい場合、こんな手が。

$ printf "0b%s\r\n" `bc <<< "obase=2;20"`
0b00010100

ヒアストリング記法("<<<")が使えないケースではechoとパイプを組み合わせてこういう書き方も

$ printf "0b%s\r\n" `echo "obase=2;20" | bc`

Unity最新版でGPS系Androidアプリがクラッシュする場合、Unityのバージョンを落としてみる

ポケモンGO的なGPS連動ゲームのライブラリ、GO MAPで遊んでいた時のこと。
(日本語の開発情報はこちら

Androidでビルドしようとしたところ、どういうわけかGPS読み込みの段階でクラッシュしてしまいました。
そこで公式を見に行った所……

GO Map - 3D Map for AR Gaming
1月13日 7:03 ·
I've seen that many new users have discovered this awful unity bug that crashes every Android app accessing GPS location.
Unfortunately it seems there's not a fix yet so my best advice is to start a project with GoMap with unity 5.3.5 that was a very stable version.
If a fix comes out i'll make a new GoMap upgrade asap and post here the solution, stay tuned!

バージョンを5.3.5にしろとか言ってますね。(執筆時点の最新版は5.5.0)
過去版はここでダウンロード可能です。
同じメジャーバージョンなら既存プロジェクトも転換がすんなり行きます。

試しに導入し持って歩いたところ、ちゃんとGPSと連動してアバターが動いてくれました。
f:id:shuzo_kino:20170118233119p:plain

bashで自爆カウンターめいたものをつくる

bashで自爆カウンターめいたものをつくる

実際のところ

whileループでタイマーをぶん回してます。

#!/bin/bash

i=666
while true
do
  printf "\r0x%03X" 
  i=$(expr $i + 1)
done

別パターン。
letのインクリメントを使います。
見た目からして明らかにコッチのほうが早いです。

#!/bin/bash

let i=666
while true
do
  printf "\r0x%03X" $i
  let i++
done

Bash文字列のN番目を取り出す

Bash文字列のN番目を取り出す方法です。
軽量言語ならアリそうな機能ですが、まさかBashにもあったとは

実際のところ

こんな変数を想定しておきます

$ let sp="1234"

先頭一個だけ捨てる

$ echo ${sp:1}
234

二番目を取り出す

$ echo ${sp:2:1}
3

先頭3コを取り出す

$ echo ${sp::3}
123

シェル変数文字列の長さを調べる

シェル変数文字列の長さを調べるには

${#VAL_NAME}

です。

実際のところ

文字列を作って、その長さを調べます。

$ let sp="1234"
$ echo $sp
1234

ここまでは普通ですね。
ここで、上の方の通り変数名を中括弧で括ってシャープをつけたると……

$ echo ${#sp}
4

こんなのあったんですね……

【自習メモ】プログレスバー的な文字増減をする場合、先に全部生成してsedで弄ったほうが早い……こともある

timeコマンドはスクリプトの実行時間を計測する子です。
以前記事化した事もありましたね。

さて、前回の記事でやったプログレスバーの部分について
ちょっと前に読んだ本に「sedは十分高速だから極力sedでやれ」とか書いてあったような事を思い出し……
試しに計測してみました。

実際のところ

結論から書くと、やはり先に生成、sedで抽出……の方が早いみたいです

先に生成+都度都度sed

$ time __base=`yes "#"  | head -12 | tr -d "\r\n"`

real	0m0.015s
user	0m0.009s
sys	0m0.006s

$ time echo $__base | sed -e "s/\(#\{8\}\).*/\1/"
########

real	0m0.015s
user	0m0.002s
sys	0m0.003s

毎回生成版

$ time yes "#" | head -8  | tr -d "\r\n"
########
real	0m0.007s
user	0m0.007s
sys	0m0.006s