2013年11月6日水曜日

ループの高速化

全要素を走査し順番に意味が無い場合、若干ですが高速化できます。
 
for (var i = 0; i < list.length; i++) {
   console.log(list[i]); 
}

毎回、.lengthを参照するのは無駄ですので予め変数に入れておきます。

for (var i = 0, len = list.length; i < len; i++) {
    console.log(list[i]); 
}

順番に意味がないのなら、最後から走査することでさらに簡略化できます。
 
var i = list.length - 1;
for (; i >= 0; i--) {
   console.log(list[i]); 
}


2013年10月14日月曜日

配列かどうかを見分けるにはarray instanceof Arrayでは不十分

array instanceof Array
では不十分なので
Array.isArray(obj)
を使用する 
 
古いブラウザでは↓を追加しとく
 
if (!Array.isArray) {  
  Array.isArray = function (vArg) {  
    return Object.prototype.toString.call(vArg) === "[object Array]";  
  };  
}
 

2013年9月21日土曜日

末尾の文字を取り除く方法

文字列末尾に / があった時に取り除く方法

s = s.replace(/\/$/,'');

// ↑より高速
if ('/' === s.charAt(s.length - 1))
  s.slice(0, -1);


// ES6から
if (s.endsWith('/'))
  s.slice(0, -1);

2013年9月11日水曜日

リファラを消す

a.onclick = function () {

     //remove referer

    this.href = "data:text/html;charset=utf-8," + encodeURIComponent('<script>\x3c!--\ndocument.write(\'<meta http-equiv="refresh" content="0;url=' + this.href + "\">');//--\x3e\x3c/script>")

}

2013年7月9日火曜日

KoboでWiFi同期かつFirmwareのアップデートをしない方法

同期後、「後で更新」を選択
PCにUSB接続して,.koboフォルダのKoboRoot.tgzを削除

すればOKらしい
情報元: http://uni.2ch.net/test/read.cgi/ebooks/1372483000/733


2013年6月11日火曜日

TeraTerm で簡単に自動ログインする方法

毎回ユーザー名とパスワードなどを入力するのは面倒です。
インストーラーに含まれている LogMeTT (ポータブル版はttpmenu.exe) を使うとログイン情報を
保存できるみたいですが、それよりも簡単な方法があったので書いておきます。


新しい接続のホスト欄に以下のように記述すると自動で入力されます。

デフォルトのSSH2でユーザー名+パスワードでログインする場合
hostname:port /user=foo /passwd=pass

SSH1で鍵を使用する場合

hostname:port /ssh /user=foo /passwd=fuga /keyfile="pathtokeyfile" /auth=publickey

下は使ったこと無いのでよくわかりません;;

情報源はこちらのコメント欄です


2013年2月4日月曜日

MS-IMEのシステム辞書をユーザー辞書に変更する




https://sites.google.com/site/memomuteki/dsllinux/ms-imenoshisutemucishuwoatokde

まずは < たこ焼き > から天上碑のシステム辞書をダウンロードします. ダウンロードしたファイルを %USERPROFILE%\Application Data\Justsystem\ATOK\DIC フォルダに解凍します. 今回は 20090521_tenjohi_2002sys.dic というファイルが得られました. これを秀丸のバイナリーモード(または他のバイナリエディタ)で開きます. そして 00040 が「01」になっているのを「00」に編集して上書き保存します.

ユーザーがシステム辞書として作成したる辞書は、この方法でユーザー辞書になり、エクスポートできたが、Windowsに付属してる辞書では00040は別の値で00に変更してもユーザー辞書にはならなかった。




2013年1月10日木曜日

 Firefox Addon SDK 1.12で

UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 10: ordinal
 not in range(128)

というエラーが出た。
このエラーが出るのはpackage.json 内か、ファイル名に ASCII以外の文字が使われている場合に出る