JavaScriptのthisについて基本中の基本

JavaScriptより先にPythonを学んだ自分にとって、thisはよくわからない存在だった。いや、使い方はわかるんだけど、なんていうかしっくりこない。

それから以下のようなコードがエラーになる理由もよくわからない。

var w = document.write;
w('hello world');  // TypeError

「コーディングを支える技術」という本を読んでいたら、こういう説明があった(P.200)。

thisは予約語で、ある関数my_methodがあるオブジェクトobjと組み合わされてobj.my_method()という形で呼ばれた場合に、my_method本体の中でobjを参照するのに使います。

あー、なるほど。ようするにこういうことか↓

function set_value(value) {
    this.value = value;
}

var obj1 = {func : set_value};
obj1.func('bar');
console.log(obj1.value);

var obj2 = {func : set_value};
obj2.func('baz');
console.log(obj2.value);

set_value('foo');
console.log(window.value);

この説明が一番しっくりきたわ。最初にこれが聞きたかった。「javascript this」でググって出てくる文章は、ルールの細則にすぎない。

なんで、こういう説明がないのか3秒ほど考えてみたけど、たぶん日本にはPythonJavaScriptという順番で覚える人が少ないんだろうなという結論に達した。

DNTヘッダーがなぜか出力される

FirefoxのオプションでDNTヘッダーを送らない設定*1にしているにも関わらず、
実際のリクエストヘッダーを見ると DNT:1 がついている。追跡を「許可」にしても DNT:1 のまま。

何だこれはと思って調べてみると、NoScript が勝手に送ってやがった。無効にするには、noscript.doNotTrack.enabled を false にすればよい。NoScriptのGUIオプション画面を見ても、それらしい設定項目がないので、about:config から設定する必要がある。

アドオンがブラウザの設定を無断で上書きしてしまうのはよくないと思います!

*1:「トラッキングに関する設定は一切サイトに通しない(&O)」を選択する。

HDDの可視化ソフトはどれがいいか

Folder Size MG, Xinorbis, WinDirStat, JDiskReport, ...

HDDの使用状況を可視化してくれるフリーソフトは数多く出回ってるけれど、
いろいろありすぎてどれを使ったらいいのかわからんという人は、
とりあえずSpaceSnifferを使ってみるといいかも。
zipファイルを展開するだけで使える。
見た目はこんな感じ。

f:id:nextugi:20131120182557p:plain

茶色がフォルダーで紺色がファイル。
表示の仕方にちょっと癖があるかもしれないけど、
場所を占有しているファイルやフォルダーがすぐ分かるようになっている。

2chのBeが退会できるようになった

パスワード整理をしてたらBeのアカウントが出てきた。もう2chは見ていないので削除しておこう(2ちゃんねるWikiに退会手順が書いてある)。

同Wikiの記述を見る限り、アカウントが削除できるようになったのは、つい最近のことらしい。というか、最近までメールアドレスの変更すらできなかったんかい。あいかわらず適当だな。適当な人たちに個人情報を教えておいて漏らしてくれたら困るわけで、使わない・信頼できないサービスのアカウントはできるだけ削除しておいた方がいいと思う。

検索広告って危険だよなー

正確には「検索連動型広告」というらしい。

古いPCとかメンテナンス時にさ、ブラウザでWindows UpdateとかSecurity Essentialsとか検索するじゃん。そうすると必ず詐欺ソフトの広告が上部に出てくるのね*1

しかも、そういった広告は古いバージョンのブラウザでしか出てこない場合もある。いつまでも昔のものを使っている連中なら、そういうのに引っかかっちゃうじゃないかと見抜かれちゃってるわけね。どうりで偽セキュリティソフトをインストールしちゃう人が続出するわけだよ。

現在の検索広告は検索用語とブラウザの環境変数ぐらいしか見てないのかもしれないけど、そのうち特定の職業についている人や、特定の政治思想を持ってい人にだけ広告を提示することもできるようになるだろう。Googleは膨大な検索データを使って、ユーザーがどういう人間なのかを推定しているという話もあるくらいだからな。「EXE ファイル 捨てたい」とか、いかにもコンピューターに不慣れな用語ばっかり検索していると、詐欺ソフトの広告ばっかり表示されるなんていうことになるかも。そして、そういった広告は誰が誰に見せているのかといったことが第三者からは検証不可能なので問題にすらならない。

*1:今のところbingでは見える

Firefoxのプロファイル毎にアイコンを変える方法はない

「Firefoxで複数のProfile同時に起動して使っているのですが、タスクバー上でそれらの見分けをつくようにしたいです。」
という質問がある。

これ、Vistaの頃はできたんだけどね。ショートカットのアイコンを変更するとタスクバーのアイコンも変わった。Vistaだからできたのか、当時のFirefoxだからできたのか、どっちらなのかは知らない。

“several profiles, each with different branding or window icon”
によれば、現在はできなくなっている模様。偉い人がそう言っている。アドオンの力を借りればタイトル文字くらいは変更できるようだが。

はてなブックマークのマイページのデザイン

「はてなブックマークのマイページのデザインを変更する方法を教えてください。」
という質問がある。自分も同じ現象に遭った。

いろいろ弄ってみたところ、「設定」→「閲覧」タブ→「新ユーザーページを利用する」のチェックが入ったままだと、デザインの変更画面が表示されないことがわかった*1

これはバグか?仕様か?

とにかく「新ユーザーページ」はオープンベータ版ということらしい。時々しか使わないから、自分がオープンベータに参加していることなど、まるで覚えていなかった。

*1:デザインを変更しようとしても、custom_design=1というクエリーのついたマイページが表示されるだけで何も起きない。