63円のiPadスタンド

iPadのスタンド、Apple純正の縦に置けるものを買ってみたのですが、縦において使うシチュエーションが少なく、使っていません。

動画の再生などは横向きで使うので、横置きスタンドが欲しくなるのですが、Webで検索しても良いものが見つかりません。

ということでハンズで物色してきたところ、画材のコーナーに厚紙の額スタンドが売ってました。なんと一枚63円。

組み立てるとこんな感じ。

本当は縦に置いて、額を両面テープで貼り付ける仕様のようですが、凹んだところにiPadを置くと

なかなかいい感じになりました。

AndroidでGoogleAppEnginを使う準備をしています。

GoogleAppEnginを使うためにはまず登録が必要なのですが、そのためにSMSを利用するようですが、日本を選ぶと携帯のアドレスを入れてとなっていましたので、携帯向けのメールアドレスが必要です。

って、ないじゃん。私の携帯はDesire。。。

Otherを選択して国番号と携帯番号を入れてみたのですが、SMSでメールは送られてきません。結局しょうがないので、SIMをガラケに入れ替えて携帯アドレスで受信しました。認証コードはすぐに送られてきました。

Desireの裏蓋を開けるのは爪が折れそうでいつもひやひやします。

なんとなく矛盾を感じました。。。

数字のファイル名はNG

ちょっとしたメモです。Androidではresのdrawableに画像などを置くと、R.javaが自動生成されて、Rクラスから読み込みが可能ですが、ファイル名を数字にから始めるとうまくいきません。

Javaの識別子の規則で数字から始まる識別子はNGというのがあります。
ファイル名は数字でOKなのですが、これに引っかかります。日付などファイル名にしている場合は注意が必要です。

GCが頻発しているはず

Androidで動作が重くなるときはLogCatを見れば分かるのだがGCが頻発していることが多い。

例えばStringでfor文を回したときなどとても重くなる。こんなときはStringBuilderを使うとすごく早くなる。

ApiDemoでも、例えばGrid1.javaなどはBaseAdapterでGCが頻発して重くなる。世界中が参考にするのだから基本部分はもう少し作りこんでくれればと思う。

さて、これは動やって早くしようか。

Can't create handler inside thread that has not called Looper.prepare()の対応はとりあえず下記でOKそう。

Looper  |  Android Developers

   public void run() {
	try {
	// 時間のかかる処理をここに記述。
	} catch (Exception e) {
		Looper.prepare();
    		Toast.makeText(this, getString(R.string.exception_occur), Toast.LENGTH_LONG).show();
    		Looper.loop();
	}
    }

バックアップと復元

サーバー移行でMySQLのバックアップと復元ではまったのでメモ。

下記ダンプ
mysqldump -A -u openpne -p1qaz2wsx --opt > /tmp/openpne.sql

コードがEUCになっていたのでUTF-8に変換。

移行サーバーの方のMySQLの設定をすべてUTF8にする

[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect=SET NAMES utf8
bind-address = 127.0.0.1
# skip-networking
skip-character-set-client-handshake

skip-bdb

set-variable = innodb_buffer_pool_size=2M
set-variable = innodb_additional_mem_pool_size=500K
set-variable = innodb_log_buffer_size=500K
set-variable = innodb_thread_concurrency=2
[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-bdb

set-variable = innodb_buffer_pool_size=2M
set-variable = innodb_additional_mem_pool_size=500K
set-variable = innodb_log_buffer_size=500K
set-variable = innodb_thread_concurrency=2

[mysqldump]
default-character-set=utf8

mysql -u openpne -p[yourpass] --default-character-set=binary openpne < openpne_ut8.sql

でリストアするのですが、文字化けが治らない。うーんなんでだろう。
ファイルの先頭に、SET NAMES utf8;を入れて大丈夫と思いきや、治らない。

ふとファイルの先頭を付近を見ると
/*!40101 SET NAMES ujis */;
という文字が、コメントかなと思っていたのですが、もしやもしや。

削除してリストアしたらあっけなくうまくいきました。

はじめにファイルはEUCで出力されたのですから、せめて、
/*!40101 SET NAMES euc */;

にして欲しかった。。。無駄に3時間消費しました。