A Day in the Life

2009-10-15

windows で Linux のfs を samba でマウントして拡張開発するときのはまりどころ

Firefox 拡張も google chrome 拡張もどちらでも発生した。

ext3 だけかもしれないけど、タイミングによりうまくファイルが読み込めない事がある。途中でファイルが切れてシンタックスエラーと云われたり、保存更新したはずのファイルなのに古かったり、更新してるのにブラウザキャッシュに載り続けたりする…。

windows 側からのファイル読み込みが一部おかしいので、windows 側に VirtualBox の共有フォルダを作り、Linux から vboxfs で読み込む用にしたら一瞬で解決した。vboxfs でマウントした ntfs に symlink/hardlink(hardlink は FS 違うと無理か…) が使えればより便利なんだけどなぁ。

あと mount -t vboxfs だと Protocol error とでてうまくマウントできなかったんだけど、

sudo mount.vboxsf vboxshare /media/vboxshareシス卿の流儀: ubuntu:WindowsとVirtualbox上のubuntuとの共有フォルダー設置(1)

としたら普通にマウントできた。ムムム。

chrome extentions で jQuery Ajax を使う

現状だと chrome-extension:// 以下のファイルを取得すると成功失敗にかかわらず jQuery.ajax で error が呼ばれる。のの対応法。

jQuery.httpSuccess = function( xhr ) {
        try {
            // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
            return !xhr.status && (location.protocol == "file:" || location.protocol == "chrome-extension:") ||
                ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223;
        } catch(e){}
        return false;
    };

chrome4 正式版ではまた挙動が変わるかも知れないため、jQuery には今のところパッチは送りません。

vim のスペースインデント派がタブインデントのソースコードを弄るときの Tips

今まではタブインデントで書かれていても問答無用で retab して利用してたんだけど、タブインデントなプロジェクトにコミットするようになると話は変わってくるので、タブインデント操作を覚えたメモ書き。

タブインデントのコードを弄るときは

:setlocal noexpandtab

でカレントバッファのみを noexpandtab で扱う。

スペースインデントをタブインデントにしたいときは

:retab!

で変換する。

その人のプロジェクト全般をタブインデントで操作したいときは、.vimrc などに

autocmd BufNewFile,BufRead */cho45/* setlocal noexpandtab

と autocmd で指定しておく。上記は cho45 (名前はあくまでサンプルです)がディレクトリ名に含まれるなら自動で noexpandtab となる。

たぶんタブインデント派がスペースインデントのコードを弄るときには noexpandtab -> expandtab で、:retab! を :retab と読み替えれば適用できる、と思う。

記事の一覧 >