/ 最近 .rdf 追記 設定 本棚

log[2006-07-18]



20060718()

[]5

  • [] 支倉 凍砂【狼と香辛料〈2(電撃文庫)】 メアワークス
  • [] 岩田 洋季【月の盾 (電撃文庫)】 メアワークス
  • [コミ] 鈴木 央【ブリザドアクセル 6 (6) (少年サンデーコミックス)】 小学館
  • [コミ] 冨樫 義博【レベルE (Vol.2) (ャンプ・コミックス)】 集英社
  • [コミ] タカハシ マコ【水色(ダイヤモドコミックス)】 松文館

20060715()

初!ッシングメール()

フィッシングメール?のスナップショット

PayPal Account Limitation !というタトルのメールが来た64.12.117.14という IPスから 3回アクセスがあったからアカウトを制限したのでログインして制限を解除しろという英文のメール

HTMLールだったので本文中のリンクをクリックそこでッシングサトに誘導された可能性に気付いてGooglePayPalを検索して二番目に表示された www.paypal.comに移動だが Google検索で上位に表示されたからといってそこがッシングサトでないともいえない何をもって情報の送信先の身許を判断すればよいのだろう

などと迷ってるうちに自分が PayPalのアカウトを持ってないことに気付いて終了アホ

  • HTMLールは見映えがよいので信用しがち (見映えと信用に全く関連がないのは明らかなの)
  • リンクに見える部分が実際にはリンクでなくリンクになってたのはログインを促す一カ所だけ (足跡を残したくない)
  • Thunderbirdッシングだと判断しなかった (当然送信前に主要なメーラーでチックするわ)
  • 誘導されたURLhttp://bastish.net/.PayPal/PayPal.limitations/online/cmcspagename.PayPalHref.urlname.PayPalccprivacysecurityreminder.online.verification/webscr.php?cmd=_login-run
  • 埋め込まれていた Webバグ<img src="http://link.p0.com/1x1.dyn?0WkGL8-ChrTPbnlHKa37=0" width=1 height=1 width="1" height="1" border="0">
  • 使われていた画像は全て https://www.paypalobjects.com/en_US/i/ に置かれていた

[]3

  • [コミ] CLAMP【×××HOLiC(9)(KCDX)】 講談社
  • [] 荻原 規子【樹上のゆりかご (CNOVELSァンタジア)】 中央公論新社
  • [] 高殿 円【神曲奏界ポリフォニカ エターナル・ホワ(GA文庫)】 ソトバンククリエイ

20060714()

[]9

  • [コミ] 小畑 友紀【僕等がいた 1 (1) (フラワーコミックス)】 小学館
  • [] 清原 なつの【私の保健室へおいで… (ハヤカワ文庫 JA (696))】 早川書房
  • [] 吉野 朔実【少年は荒野をめざす (1) (集英社文庫―コミック版)】 集英社
  • [コミ] 冨樫 義博【レベルE (Vol.1) (ャンプ・コミックス)】 集英社
  • [] 冨樫 義博【てんで性悪キーピ(1) (集英社文庫―コミック版)】 集英社
  • [] 冨樫 義博【てんで性悪キーピ(2) (集英社文庫―コミック版)】 集英社
  • [] 本上 まなみ【ほんじょの虫干 (新潮文庫)】 新潮社
  • [] 浦賀 和宏【火事と密室と雨男のものがたり (講談社ノベルス)】 講談社
  • [] ツジェラ, 野崎 孝【グレト・ャツビ(新潮文庫)】 新潮社

 僕等がいた

アニメ面白いです。だからマンガを買ったけどでも一番は声が素晴らしい普通っぽくてつぶやきが多くてツボ

 冨樫 義博

デストにしろレベルEにしろ連載を追いかけるほど面白い漫画は案外手元になかったりするレベルEには冨樫義博に期待する要素がコンパトに詰まっている

てんで性悪キーピドは幽遊白書以前にジャンプで連載されていたお色気系未読

 ほんじ

単行本が出たときは高校生1900円は高すぎた文庫版は加筆があり写真が一部差し替え

 浦賀 和宏

松浦純菜シリーズ二作目最近三作目がでた(『上手なミステリの書き方教えます)既に三冊が積読で結局一冊も読んでいない未読作家は早く読んで買いか否かを判断せねば

 ャツビ

『日の名残り(カズオ・イシグロ)を読んでいて目にしたその23日前にもどこかの Webトで目にしていた今日 3度目に目にしたので買ってみた


20060713()

[HTML] <a href="javascript:void(0)"> と自分で書いて初めて気付くその便利さ

onclickでごにょごにょする HTML要素があってそいつに Tabーでフーカスをあてたいなと思ったときに最初に思いついたのが

<a href="javascript:void(0)">ほげほげ</a>*

のように Aタグで囲う方法遅まきながらこの時初めてステータスバーに javascript:void(0)と表示される何もしないリンクの存在意義に気付いたこいつがあると TabーでフーカスをあてられるしEnterーでクリックすることもできるそしてスクリ(onclickドラ)で処理できる簡単かつ使える範囲の広い方法javascriptを切ってるブラウザではそもそも onclickドラが動かないから javascriptスキーマを使うことの是非は問われないしonclickドラでキーボドとマウスをまとめて処理できることや対応するブラウザの多さなど書けば書くほどこれしかないって思えてくる

次に考えついたのが、9"tabindexはフーカスの順番を決めるだけのものではないのだな" と書いたようにIE(>=5.0)Firefox1.5tabindexを付けることでリンクやフームの部品以外の要素をフーカス可能にする方法

IEの場合

<element>.tabIndex = 0 // 0 => フォーカス可能にはするが、タブオーダーは指定しない
<element>.onkeypress = function(){ if(event.keyCode == 13) this.click() } // Enter->Click

で済むがFirefoxの場合 click()が実装されてるエレメトがフームの部品などに限られているので

<element>.tabIndex = 0 // 同上
<element>.onkeypress = function(event){
  if(event.keyCode == 13) {
    var event2 = document.createEvent("MouseEvents");
    event2.initMouseEvent("click", true, true, event.view, event.detail, event.screenX, event.screenY, event.clientX, event.clientY, event.ctrlKey, event.altKey, event.shiftKey, event.metaKey, 0, null);
    this.dispatchEvent(event2);
  }
}

かなり冗長

* href="" だとそのページ自身へ移動(=リロ)してしまうvoid(0)以外に href="#" を使う流派もある様子(でもイマイチ)


20060711()

[]5

  • [コミ] 小畑 友紀【僕等がいた 9 (9) (フラワーコミックス)】 小学館
  • [コミ] 小畑 友紀【僕等がいた公式ファンブック (フラワーコミックス)】 小学館
  • [コミ] 凜野 ミキ【光 4 (4) IDコミックス ZERO-SUMコミックス】 一迅社
  • [] グレグ・ーガン【万物理論 (創元SF文庫)】 東京創元社
  • [] カズオ イシグロ【日の名残り (中公文庫)】 中央公論社

20060709()

[Firefox] ブラウザーカスTab

 タブキーでフーカスが移動する先は現在表示されてる(フレームに収まってる)部分だけで良い

あるページを読んでいる読み進んでいく「次のページへというリンクがあるタブキーを押す。ージがギュンッと巻き戻って一番最初のリンク*にフーカスが移動するさらにタブを押す押し続けるドバーのリンクを順にたどってフーカスがページ下方へ移動していくやがてまたもページが巻き戻る今度は本文中のリンクを順に下方にたどっていく「次のページへにたどり着く

今見ているリンクにフーカスを合わそうとしているのにーカスはとんでもないところに飛んでいくタブキーを押すことによってスクロール位置が変わるのが非常にタブキーでフーカスが移動する先は現在表示されてる(フレームに収まってる)部分だけで良い

 tabindexを失念していた

HTML作成者が tabindexをリンクやフームに割り振っていた場合 tabindexの小さい順にフーカスが移動するのだったtabindexが一つでも指定されていればそちらを優先すべきだな(といってもtabindexが指定されていて欲しいのは自分がよく使うページだけだけど不特定の人に見せるのが目的のページで押し付けは良くない)

tabindexはフーカスの順番を決めるだけのものではないのだな

 これを機に Firefoxの拡張に手を出すかありもので間に合わす

ありものは↓

Mouseless Browsingを使っているが Find As You Typeと競合するのでテンキーを Mouseless Browsing専用にしているそうするとテキドに数字を入力するのが不便(テンキーが使えないので)

自前でやる場合次にフーカスを得るエレメトがどれなのかを自前で探すのは避けたいところそれをするんだったら greasemonkeyonblurを捕まえて次にフーカスを得るエレメトを順に辿っていって最初に見つかったブラウザのフレーム内に収まってる(=見えている)エレメトを focus()すればいいはず。

* 普通はソーステキト中に一番最初に登場したものtabindexが指定されていれば最小の tabindexを与えられたもの


20060704()

[]2

  • [単行] 桜庭 一樹【少女七竈と七人の可愛そうな大人】 角川書店
  • [コミ] 萩原 一至【BASTARD 24―暗黒の破壊神 (24) (ャンプコミックス)】 集英社

 七竈

著者がインタビーで語ったところによると七竈を読んだ複数の人曰く「『エレン』」らしいので先に、なぜか手許にある1982年のーベル文学賞を受賞した南米の作家ガルシア=マルケスの短編『エレンに収録されてい『無垢なエレンラと無情な祖母の信じがたい悲惨の物語を読むことにする


20060702()

[SQLite] EXPLAIN QUERY PLAN sql-statement;

知らない知らないよこんな便利なコマ

EXPLAIN sql-statement;

ならドキュメに載ってるけどこれが返すのは

0|Integer|5|0|
1|MustBeInt|0|0|
2|MemStore|0|0|
3|IfMemZero|0|25|
4|IfMemPos|0|8|
5|Pop|1|0|
……

みたいな SQLがコンパイルされた結果のVMが逐一実行する命令のリトだから腰を据えないと解読できない

それに対して

EXPLAIN QUERY PLAN sql-statement;

が返すのは

0|0|TABLE MyBooks USING PRIMARY KEY

みたいなーブルに対する問い合わせのリインデックスが使われるのかどうかもわかる

EXPLAIN QUERY PLANを発見
http://www.sqlite.org/cvstrac/tktview?tn=1878 (SQLite CVSTrac)
SQLite 3.2.6から追加された実験的なコマドだって
http://www.sqlite.org/cvstrac/wiki?p=QueryPlans (SQLite CVSTrac)

20060630()

[]3七竈みつからない

Amazon七竈七竃桜庭 一樹可愛そうな大人いずれを検索して『少女七竈と七人の可愛そうな大人は見つからないISBNで検索してやっと見つかる。4048737007難儀なタトルを付けたものだ

そうではなくて近所の本屋がだらしなくて 4軒まわっても本を見つけられなかったGyaoドラマが配信されて『少女には向かない職業はその内の 3軒で平積みだったというのに何故に新刊を隣に並べてまとめて売ろうとしない

  • [コミ] 関崎 俊三【ああ探偵事務所 10 (10) (ッツコミックス)】 白泉社
  • [] 本上 まなみ【ほんじょの鉛筆日和 (新潮文庫 (-14-2))】 新潮社
  • [] 今野 緒雪【マリア様がみてる (仮面のア) (コバト文庫 (7-49))】 集英社

20060629()

ひつぐほとぐすぐ………………………○○○ぐ()

Rubyist Magazine - RubyKaigi2006特別号(610日 午前の)より

Ruby オンリーのカンファレスを Ruby ゆかりの地・日本で開催できる喜びを寿ぎ*ました

難易度高すぎ() (゜Д゜;ッ!俺だけ?

* 再変換(ATOKの場合文字入力が可能な場所で選択して Shift+変換)すると正解がわかる


20060627()

[]3

  • [コミ] 高野 真之【BLOOD ALONE 3 (3) (電撃コミックス)】 メアワークス
  • [コミ] 鈴木 みそ【銭 四巻 (ームコミックス)】 エンターブレイン
  • [コミ] ととねみぎ【ねこきっさ (3) (まんがタイムKRコミック) (まんがタイムきららコミックス)】 芳文社

20060626()

[]4

  • [コミ] 望月 奈々【ラブのま! (TENMA COMICS)】 茜新社
  • [["Video Games"]] ["SuperLite2000 ドベンチー アカイ"]
  • [単行] 山下 伸夫【ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門】 ソトバンククリエイ
  • []ョナサン・ャロル【パニックの手 (創元推理文庫)】 東京創元社

[Ruby] REXML::Element#xpathがおかしい

 1. 適当なXMLァイルの各要素ごとに xpathを列挙して現象を確認

/ItemLookupResponse
/ItemLookupResponse/OperationRequest
/ItemLookupResponse/OperationRequest/HTTPHeaders
/ItemLookupResponse/OperationRequest/RequestId
/ItemLookupResponse/OperationRequest/Arguments
/ItemLookupResponse/OperationRequest/RequestProcessingTime
/ItemLookupResponse/OperationRequest/HTTPHeaders/Header
/ItemLookupResponse/OperationRequest/Arguments/Argument[1]
/ItemLookupResponse/OperationRequest/Arguments/Argument[1]
/ItemLookupResponse/OperationRequest/Arguments/Argument[1]
/ItemLookupResponse/OperationRequest/Arguments/Argument[1]
/ItemLookupResponse/OperationRequest/Arguments/Argument[1]
/ItemLookupResponse/OperationRequest/Arguments/Argument[1]
/ItemLookupResponse/OperationRequest/Arguments/Argument

pathが重複している

 2. xpathの定義(rexml/element.rb)

    def xpath
      path_elements = []
      cur = self
      path_elements << __to_xpath_helper( self )
      while cur.parent
        cur = cur.parent
        path_elements << __to_xpath_helper( cur )
      end
      return path_elements.reverse.join( "/" )
    end

pathの各要素は __to_xpath_helperで取ってきている

 3. __to_xpath_helperの定義(rexml/element.rb)

    def __to_xpath_helper node
      rv = node.expanded_name
      if node.parent
        results = node.parent.find_all {|n|
          n.kind_of?(REXML::Element) and n.expanded_name == node.expanded_name
        }
        if results.length > 1
          idx = results.index( node )
          rv << "[#{idx+1}]"
        end
      end
      rv
    end

node.expanded_nameを破壊的に変更している("Argument" -> "Argument[1]")

 4. 修正

D:\ruby\lib\ruby\1.8\rexml>diff -u element.rb~ element.rb
--- element.rb~      2005-08-12 21:08:47.000000000 +0900
+++ element.rb       2006-06-27 00:36:58.546875000 +0900
@@ -720,7 +720,8 @@
         }
         if results.length > 1
           idx = results.index( node )
-          rv << "[#{idx+1}]"
+          rv += "[#{idx+1}]"
         end
       end
       rv

 5. もう一度列挙して結果を確認

/ItemLookupResponse
/ItemLookupResponse/OperationRequest
/ItemLookupResponse/OperationRequest/HTTPHeaders
/ItemLookupResponse/OperationRequest/RequestId
/ItemLookupResponse/OperationRequest/Arguments
/ItemLookupResponse/OperationRequest/RequestProcessingTime
/ItemLookupResponse/OperationRequest/HTTPHeaders/Header
/ItemLookupResponse/OperationRequest/Arguments/Argument[1]
/ItemLookupResponse/OperationRequest/Arguments/Argument[2]
/ItemLookupResponse/OperationRequest/Arguments/Argument[3]
/ItemLookupResponse/OperationRequest/Arguments/Argument[4]
/ItemLookupResponse/OperationRequest/Arguments/Argument[5]
/ItemLookupResponse/OperationRequest/Arguments/Argument[6]
/ItemLookupResponse/OperationRequest/Arguments/Argument[7]

 6. REXML 3.1.4

ををっているというわけで上記は ruby-1.8.4に付随する REXML 3.1.3限定の話でした

    def __to_xpath_helper node
      rv = node.expanded_name.clone
      if node.parent
        results = node.parent.find_all {|n|
          n.kind_of?(REXML::Element) and n.expanded_name == node.expanded_name
        }
        if results.length > 1
          idx = results.index( node )
          rv << "[#{idx+1}]"
        end
      end
      rv
    end

3.1.3 からの ChangeLog(そのうち 3.1.4からの ChangeLogになりそ)

 7. レンタルサーバーの REXMLを更新することはできないので

間に合わせにこんなのを紛れ込ませる

if(::REXML::Version < '3.1.4')
module ::REXML
  class Element
    def __to_xpath_helper node
      rv = node.expanded_name.clone
      if node.parent
        results = node.parent.find_all {|n|
          n.kind_of?(REXML::Element) and n.expanded_name == node.expanded_name
        }
        if results.length > 1
          idx = results.index( node )
          rv << "[#{idx+1}]"
        end
      end
      rv
    end
  end
end
end

20060623()

Apache2.2, mod_authz_svn.so, mod_dav_svn.soコンパイル完了

ApacheopensslWindowsでも親切なのに Subversionの気難しいこと

python gen-make.py -t vcproj --with-http=D:\apache2 --with-apr=〜 〜略〜

で書き出された subversion_vcnet.slnVC++ 2005 Expressで開いてmod_authz_svnmod_dav_svnプロジトだけエラーを潰して*ドして出来上がった Release\subversion\*\*.soD:\apache2\modulesにコピ

Apachesvnモジールの準備が整ったところで D:\apache2\bin\httpd.exeを起動しようとすると MSVCR80.dllがないとか言われるApacheのコンパイル時に *.exe*.dll*.soと一緒に作成されてた *.*.manifestを手動イール

httpd -k install

でサービスを登録してD:\apache2\conf\httpd.conf

LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
	DAV svn
	SVNPath "D:/svn/rep"
</Location>

みたいな設定を追加してリポトリが見えるのを確認した

 今回の面倒の全ては

python gen-make.py -t vcproj --with-httpd=D:\apache2 --with-apr=〜 〜略〜

ここにあった気がするapacheが用意してくれた Makefile.winとか *.makを使ってだと apr, apr-util, apr-iconvはコンパイルできるけど Subversion経由だとこれらがコンパイルできないだから Subversionには既に出来上がってる libapr.libを使ってほしいのにその希望を伝える方法がわからない

--with-apr=DIR
--with-apr-util=DIR
--with-apr-iconv=DIR

がそれだと思うのに

* intl3_svn.libsubversion.tigris.orgから DLできる

[]3

っくるんるん♪はネタとしてよくできてたけどハルヒが第12話の学園祭で歌った 2曲は普通にとても良かった