2006年 08月 19日

XPath

XPath の解説書こうと思ったけどあまりの説明力のなさにぜつぼうした

  • データ型
  • コンテキスト

ポイント

  • ルートノード以外のノードは全て親をもつ (属性ノードの親はその属性の属する要素だったりする。書くときは直感的だけど、理解するときは微妙にえ?って思う)
  • ルートノードはルート要素ではない。ルートノードは名前をもっていない。
  • / と [] によるコンテキストの移動

XPath 1.0 では独自にデータ型を定めている。存在するデータ型は以下の通り

  • ノード集合
  • 文字列
  • 数値
  • ブール (真偽)

コンテキスト

とりあえずコンテキストさえ意識できればいいかもしれない。

  • ノード ( コンテキストノード)
  • 一組のゼロ以外の正の整数 ( コンテキストポジションおよびコンテキストサイズ)
  • 変数のバインディングの集合
  • 関数ライブラリ
  • 式の範囲内でのネームスペース宣言の集合

最初の二つ以外は特に重要ではない。とういうか、コンテキストノードさえ意識していれば、コンテキストを意識するということにはなる。上のを見て「変数が使えるのか!」と喜んではいけない。変数は XPath 単体では使用することができない (代入ができないので)。

さて XPath における / はコンテキストを分離する記号のひとつである。 (述語=ブラケットで囲まれた部分でもコンテキストが変わるので、ブラケットもコンテキストを分離する記号。/ とブラケット以外ではコンテキストは変わらない (はず))

    • >

記事のロングテール

どうやったら過去記事をロングテール化させられるんだろう。

2006年 08月 18日

コード打とうとすると

やっぱ、すっごい間違えるね! クオーテーションの位置がだいぶ戸惑う。括弧がズレる。() も [] も。慣れよ!
あー一瞬前まで「これ書こう」って思ってたことを完全に忘れた。

あ、そうだ。Windows でも vim 使おうかと思ったんだ。なんか xyzzy で ESC 連打して C-g 連打して、またターミナル戻って C-g 連打することが多々あっていやだ。

gvim

インストーラーで gvim70 を入れた。既存設定ファイルをもってきて、termencoding とかをコメントアウト。_gvimrc を新しく作って以下のようにした。

set shellslash
set columns=106
set lines=32
set guioptions-=T
set guifont=M+2VM+IPAG_circle:h10:cSHIFTJIS
colorscheme desert

が、なぜか xml モードで閉じタグ omni がうまく行かない。html モードにするといけるけど、インデントがおかしく。くまった。

vim i

insert-mode のときはカーソル移動どうするんだろ。insert したらすぐ normal に抜ける癖をつけるのかなぁ。無理っぽい。

g:subtech:id:secondlife:20060818:1155864164
mjsk
抜ける癖つけよう。

どうでもいいけど

たまに用語とか全然わからない気持ちになって自分の日記読んだりすると「なんだこの用語ばっかのわかりにくいにっきわ」とか思ったりする。
で、少しすると今度は、これって用語がわかっていても理解できないよな、とか思い出す。日本語へたすぎる。ああ

左手マウス

右手が疲れたときよく左手を使うせいか、いつの間にか左手で普通にマウスが使えるようになってる (マウスボタンは右手モード)。キーボードをちゃんとうてるようになりたい。C-[ 打とうとして { になるのが泣ける。

KBD

HHK pro とか金もち杉

無線LAN

普通どんぐらい飛ぶのかなぁ。階またいでも大丈夫なのかな。
障害物があるとだめって、どのぐらいだとだめなんだろう。2.4GHz だと電子レンジの同じらしいけど、つまり電子レンジに貼ってある網ぐらいの細かさだともう通さないんだよなぁ。っていうか結局壁とか床の素材によるか。

GERRY POP FAN CLUB

食べすぎっぽい。
callback({ weight: 57.2, height: 176 });

GreaseMonkey hosting

環境変えるごとにぐりもんインスコするのが面倒くさいから、オンラインにスクリプトをインストールして、起動時に全部読み込むとかが欲しい。gm_scripts ディレクトリがそのままオンラインになる感じ。
つまり、起動時に gm_scripts ディレクトリをオンラインからダウンロードしてきて、終了時にアップロードする拡張があればいいんだろうか。
と、思いついても実行できないのがなんかなぁ。Fx の拡張を作ろうとか、結構前から思ってるけど、何度やろうとしても開発方法がうまく理解できない。

と思いきやこれだけじゃだめか。GM の設定もオンラインに保存してくれないとだめだ。

アサマシ

http://astore.amazon.co.jp/nuso-22
もっと頑張ってアサマシろうかなぁ。

それは本当に意味があることか、しかし

2006年 08月 17日

Calendar::Simple

Calendar::Simple をオブジェクト使って書く夢を見た。

dll

todo

  • retry 指定
  • onload を try catch

リアル世界とインターネットをもっと近づけたい

大学在学中にやりたいこと。もっと、物理的なことをやりたい。が、それだけで完結せず、コンピュータ・ネットワークと繋げたい。具体的に何か思い浮かばないけど、なんらかの形で光をとりいれたい。もちろん接触センサーとかもやりたい、が、まったくその辺わからない。理系大学じゃないのがネック

P [ は薬指

xyzzy -> gvim

vim に慣れるために Windows でのエディタも vim にしてみる、といってもしばらくは共存になりそうだ?

vim といっても gvim でバッファは使わず、タブをひたすら開くことにする。とりあえず関連付けは変えない。というのも、既に開いている vim で開く方法がよくわからないから、だけど、ドラックアンドドロップが使えるのでとりあえずはいいかな。

しかし何故か ft=xml で、閉じタグの omni 補完ができない。ft=html ならいけるんだけど、未登録タグ直下でオートインデントしてくれないので切ない。ついでに CDATA セクションの扱いもアレだし、うーん。とりあえず今は html で書いてる。閉じタグ補完ないと生きていけない。

できれば xyzzy の xml-mode C-. 相当の機能が欲しいけど、とりあえずそんなに困らないからいいか的何か。むしろ = 入力後のクオーテーション補完のほうが欲しい、んだけど、うまく vim script 書けない。


  • win の gvim は .vimrc, _vimrc, .gvimrc, _gvimrc を読むらしい? gvim 固有の設定は _gvimrc に書いた。

全然関係ないけど、このサイトの更新システムをどうにかしたい。家の PC でしか基本的に書けないのがイマイチ。FTP うpろどしないといけないしなぁ。めんどい


しかしながら何らかのタイミングでプロンプトが見え隠れするのが嫌だなぁ。


既にある vim で開くには --remote らしい。


win32 gvim は見た目がちゃんとネイティブっぽくていい感じ。マウスホイールも効く。が、コマンドプロンプトが開いたり閉じたりするのはどうするんだ gtlt

なんかやったらすぐに normal に戻る癖をつけよう。


コマンドプロンプトがいちいちでるのは screen の window 名変える echo が動いてるせいだった。gtlt

MochiKit の getElementDimensions

display: none だととれないので以下のように

e.style.position = "absolute";
e.style.visibility = "hidden";
showElement(e);
var dim = getElementDimensions(e);
hideElement(e);
e.style.visibility = "visible";
e.style.position = "static";

blindDown 使うときは beforeStart でこれをやって、this.scaleMode.originalHeight とかに突っ込んであげないとだめっぽい。

午後ティーみくる

あんま飲んでないのにお腹痛くなる。危険gtlt

Fx F6

F6 で描画エリアにフォーカスする?んだ

あ、ちがった。よくわからん。ロケーションバーと描画エリアとで切り替わる。けど、ロケーションバーに入力してしまうと F6 で切り替わらない?

帰宅

きゃぱっち & フロはいる

gvim 常にタブで開くようにしてみる

バッファとタブを併用すると混乱するのでタブに統一したい。vim のバッファはタブごとに複数のバッファ、という風になっていてややこしい。タブ1個に対してバッファ1個にしたい。

たいした方法が思いつかないので以下を加えた。

" バッファを使わない
autocmd BufReadPost * tab ball

これで一応関連付けとかドラッグアンドドロップのときはタブを開くようになる。けど、ちょっと挙動が気持ち悪い。タブを閉じても結局バッファは残っているため、次に何かのファイルを開いたりすると閉じたのが復活したりする。これは常に bw (バッファを閉じる) を使っていればたぶん大丈夫なんだろう?