いろんなところでカリー化と普通に言われて、カリー化って何だよって思っていたけど、ふとした拍子に理解した (と思う)

引数を一個とって関数を返す関数をカリー化された関数というらしい。なんか言葉にするとそこらの説明と大して変わらないなぁ。

檜山正幸のキマイラ飼育記 - JavaScriptでカリー化 の最初に「カリー化ってなに?」って書いてあるけど、今はこれが一番わかりやすい例だと思える。前読んだときはよくわからなかった。2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること。ちなみに「なに?」の部分以外はわからない (読んでもいない)

モナドもわからない。ほっといてもそのうち分かるんだろうな

  1. トップ
  2. prog
  3. カリー化をふと理解した?

GreaseMonkey では GM_xmlhttpRequest で他のページとってくるじゃないですか。で、onload して req.responseXML をとるなり req.responseText をとるなりするけど、どうにもこうにも not well-formed なページ (HTML とか) をとってきてノード検索するとき面倒くさいんですよ。responseXML はもちろん空だし、responseText はもちろんただのテキストだし。

で、なんとなく思いついたので以下のように解決するようにした。

GM_xmlhttpRequest({
method : "GET",
url : i.href,
onload : function (req) {
// てきとーなエレメント作って突っ込む (ブラウザにパースさせる)
var d = document.createElement("div");
d.innerHTML = req.responseText;
// d を最初のコンテキストノードにして文書を XPath 検索
$X(".//foobar", d);
},
onerror : function (req) {
alert(req.responseText);
}
});

なんてキモイ!

問題点は application/xhtml+xml なページから not well-formed なページをとってくるっていう場合は使えないこと。なぜなら innerHTML が使えないから。でも殆どの場合 (というか殆どのページは) text/html なので問題ない感じ。はてなとかはてなとかはてなとか。

Firefox 1.5 からは application/xhtml+xml なページでも innerHTML 使えるみたいです。by yoko さん

  1. トップ
  2. js
  3. ふぁっきん not well-formed, XMLHttpRequest とかで
  1. トップ
  2. gm
  3. ふぁっきん not well-formed, XMLHttpRequest とかで

はてぶでコメントと画像を表示させてる

hatena-bk-show-ss-and-comments.user.js

似たようなのがあるけどとりあえず公開する。こっちは自分のブックマークじゃなくてもいろんなところで動くと思う。

  1. トップ
  2. js
  3. はてブでスクリーンショットとコメントをさっさと表示させる GM
  1. トップ
  2. gm
  3. はてブでスクリーンショットとコメントをさっさと表示させる GM

sayonara-hatena-by-araiteru.user.js

気が付いたらはてなを使っている人向けのスクリプトです。そこそこ適切な代替サービスなどにリダイレクトします。

実装がダサかったので少しだけ変えました。コンセプトが既にダサいとかは知りません。

  1. トップ
  2. js
  3. はてな使うのをやめるための GreaseMonkey スクリプト
  1. トップ
  2. gm
  3. はてな使うのをやめるための GreaseMonkey スクリプト

via 適宜覚書はてな異本 - AdobeAcrobat7のロードをスピードアップする方法

紹介された方法だと何かうまく行かないので自力で try and error してみる。(7.0.5)

  • EScript.api
  • EScript.JPN
  • EWH32.api
  • Ewh32.jpn
  • Search.api
  • Search.JPN

エラー出しながらやったけど、「プラグインについて」を見れば依存性が書いてある罠。

  1. トップ
  2. soft
  3. Acrobat Reader 高速化

hatena-bk-neglect-comment-by-id.user.js

指定ユーザのコメントを消します。デフォルトでは「ブックマークしている」ことは薄く見えるようにしてあります。ERASE_FROM_THE_WORLDtrue にするとブックマークしている事実も消します (ブックマーク数は変えません)。

  1. トップ
  2. gm
  3. はてブ。見たくないユーザのコメントを消す GM
  1. トップ
  2. js
  3. はてブ。見たくないユーザのコメントを消す GM