throw :life #=> ThreadError : "uncaught throw `life' in thread 0x854b6a8"
スローライフの意味がやっとわかった。@IRC by mayuki さん
throw :life #=> ThreadError : "uncaught throw `life' in thread 0x854b6a8"
スローライフの意味がやっとわかった。@IRC by mayuki さん
いろんなところでカリー化と普通に言われて、カリー化って何だよって思っていたけど、ふとした拍子に理解した (と思う)
引数を一個とって関数を返す関数をカリー化された関数というらしい。なんか言葉にするとそこらの説明と大して変わらないなぁ。
檜山正幸のキマイラ飼育記 - JavaScriptでカリー化 の最初に「カリー化ってなに?」って書いてあるけど、今はこれが一番わかりやすい例だと思える。前読んだときはよくわからなかった。2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること
。ちなみに「なに?」の部分以外はわからない (読んでもいない)
モナドもわからない。ほっといてもそのうち分かるんだろうな
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 さん
最速インターフェース研究会 :: GoogleAutoPagerというのを作りました のはてブ版。
自分のブックマーク一覧でしか動きません。
hatena-bk-show-ss-and-comments.user.js
似たようなのがあるけどとりあえず公開する。こっちは自分のブックマークじゃなくてもいろんなところで動くと思う。
sayonara-hatena-by-araiteru.user.js
気が付いたらはてなを使っている人向けのスクリプトです。そこそこ適切な代替サービスなどにリダイレクトします。
実装がダサかったので少しだけ変えました。コンセプトが既にダサいとかは知りません。
via 適宜覚書はてな異本 - AdobeAcrobat7のロードをスピードアップする方法
紹介された方法だと何かうまく行かないので自力で try and error してみる。(7.0.5)
エラー出しながらやったけど、「プラグインについて」を見れば依存性が書いてある罠。
hatena-bk-neglect-comment-by-id.user.js
指定ユーザのコメントを消します。デフォルトでは「ブックマークしている」ことは薄く見えるようにしてあります。ERASE_FROM_THE_WORLD
を true
にするとブックマークしている事実も消します (ブックマーク数は変えません)。