AndroidStudioのアップデートに失敗 java.io.FileNotFoundException 要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。

AndroidStudio1.4から1.5にアップデートしようとしたら
標題の件に遭遇しました。

次の作業を行いました。

  • セキュリティ対策ソフトで監視対象外のアプリケーションにアップデートで実行されるexeを追加

c:\users\username\.androidstudio1.4\restart\vistalauncher.exeを追加

  • androidstudio を管理者権限で実行して開く

無事最新版にアップデートできました。

Intel HAXMのインストールに失敗。This computer does not Support Intel Execute Disable Bit

This computer does not Support Intel Execute Disable Bit

Android Studioエミュレータを高速化するintel haxmのインストーラをダウンロードし、実行するとエラーがでてきた。



BIOSのCPUの設定でintel VTをenabledにしないといけないらしいけど、intel VTはenabledになってるのに、できない・・・。

ぐぐったら
BIOSのCPUの設定でExecute Disable Bit っていう項目がある場合は、それもenabledにしないとダメらしい。

https://communities.intel.com/thread/60938?start=0&tstart=0


できた!(゚∀゚)

Android Studioエミュレータ起動して、ログに

HAXM is working and emulator runs in fast vit mode

と出れば成功(゚∀゚)

  • -

手順が説明された動画もあるみたいです。
https://software.intel.com/en-us/videos/setting-up-intel-haxm-on-windows

chrome45でmactypeで文字が欠けたり、有効にならない件

chrome45でまたmactypeがおかしくなった


http://baseball.yahoo.co.jp/npb/をみてたら、文字欠け現象がでたり、文字が普通に細く表示されたりしました。

対処法

  • URLバーに chrome://version/ でバージョンを確認
  • URLバーに chrome://flags で設定を変更
  • ラスタースレッドの数"を既定から1にする
  • f:id:a20130517:20150909215913p:plain
  • 再起動

参考:ehbtj.com


それでも直らないとき

chrome41でも同様の現象が起きていて、chrome://flagsの編集が必要でした。
そのときの対処をまだしていないならば、やったらうまくいくかも。739j.hatenablog.com

rsyncやscpでファイル転送するときって、先にマウントしてから転送したほうが速くなるの?


rsync source(リモート) destination(自分)



リモート機をmount
rsync source(自機にマウントしてある) destination(自分)




2のほうが速いの?一緒?
誰かおしえてちょんまげ。

ファイルをつくるとき、日付をつけて、重複を防ぐ

日付はdate コマンド。

日時をファイル名に付けるには

ファイル名につけるにはバッククオート"`" (Shift+@キー)で囲む。

[vagrant@vagrant-centos64 ~]$ date +%Y%m%d%H%M
201507161551

//ファイル名につけるにはバッククオートをつける。
[vagrant@vagrant-centos64 ~]$ touch /tmp/日付つきで重複を防ぐ_`date +%Y%m%d%H%M`
[vagrant@vagrant-centos64 ~]$ ll -h /tmp/ |grep 日付
-rw-rw-r-- 1 vagrant vagrant    0 Jul 16 15:53 日付つきで重複を防ぐ_201507161553

ls -h でファイルサイズを見やすく表示する。

Linuxコマンド逆引き大全 - 【 ファイル・サイズを適当な単位で表示する 】:ITpro

ls -h でよい。

ls -lhとしたいが、
ls -lのエイリアスがll

だから ls -l
はあんまり使わない。


んだから、ll -hでよい。

php5.6の変更点 メンバ変数に配列を宣言した時、キーに定数をいれても、次の要素のキーは前のキー+1で始まる

そもそも5.5以前でそうならないのを知らなかった。


php5.5でメンバ変数を宣言するときに配列で定義したときの動きが下の通り。

ちなみに公式では"設定すると"って言葉をつかってるけど、英語版を読むと、defineとあるとおり、5.5でもこの動きをするのはメンバ変数の宣言時だけ。

PHP: 下位互換性のない変更点 - Manual


<?php
class C {
    const ONE = 1;
    public $array = [
        self::ONE => 'foo',
        'bar',
        'quux',
    ];
}

var_dump((new C)->array);

//php5.5

array(2) {
  [0]=>
  string(3) "bar"
  [1]=>
  string(4) "quux"
}

//php5.6
array(3) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(4) "quux"
}
?>

宣言した時に配列の一部のキーで定数や変数を参照させると、次の要素のキーは直前の要素のキー+1じゃなくて、0スタートで未定義の数になる。


いろいろやってみたが、この動きはメンバ変数を宣言したときだけ。


こんな感じだった。

<?php
//php5.5

class PHP55 {
	const const_TWO = 2;

	public $arr1 =
		array(
				0, self::const_TWO=> 1,2,3,4
		);

	public $arr2 =
	array(
			0, self::const_TWO=> 1,2
	);

	public $arr3 =
	array(
			0, 2=> 1,2,3,4
	);


	public function reset_arr(){
		$this->arr1 = array(
			0,self::const_TWO => 1,2,3,4
		);
		$this->arr2 = array(
				0,self::const_TWO => 1,2
		);

	}


}

$php55 = new PHP55;
//宣言時
var_dump($php55->arr1,$php55->arr2,$php55->arr3);
/*
//$php55->arr1
//const_TWOのつぎのキーは[3]じゃなくて[1]になる。
//そのつぎのキーで、[2]が重複する。後勝ちで先に[2]にいれた要素の1が消える。
array(4) {
  [0]=>
  int(0)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
}
//$php55->arr2
//const_TWOのつぎのキーは[3]じゃなくて[1]になる。
array(3) {
  [0]=>
  int(0)
  [2]=>
  int(1)
  [1]=>
  int(2)
}

//$php55->arr3
//キーを直接定義した場合はふつうの動き。
//[2]の後ろでいれた要素は、[3]に格納される。
array(5) {
  [0]=>
  int(0)
  [2]=>
  int(1)
  [3]=>
  int(2)
  [4]=>
  int(3)
  [5]=>
  int(4)
}

//リセット時
$php55->reset_arr();
var_dump($php55->arr1,$php55->arr2);
/*
//arr1
//宣言時以外は普通の動き
array(5) {
  [0]=>
  int(0)
  [2]=>
  int(1)
  [3]=>
  int(2)
  [4]=>
  int(3)
  [5]=>
  int(4)
}

//arr2
//宣言時以外は普通の動き
array(3) {
  [0]=>
  int(0)
  [2]=>
  int(1)
  [3]=>
  int(2)
}

*/