Hatena::Groupos0x

FFFF RSSフィード

0xFFのメモです。

2009 June 1st Monday

Dev版Chrome用UserScripts

| 21:25 | Dev版Chrome用UserScripts - FFFF を含むブックマーク はてなブックマーク - Dev版Chrome用UserScripts - FFFF

Dev版だと、Google Chrome 2.0 で使える(自作の) User Scripts - os0x.blogが動かなかったりするので、

no title

に置いてある。

os0x / User Scripts — Bitbucketへ移動。バケツいい

破壊的な配列走査

| 20:48 | 破壊的な配列走査 - FFFF を含むブックマーク はてなブックマーク - 破壊的な配列走査 - FFFF

配列の各要素を書き換えたい場合、Array#mapを使うのが一般的だと思う。

var array = new Array(500).join(',').split(',');
array = array.map(function(a,i,ar){
	return i;
});

map自体は破壊的ではないので、代入し直さないといけないのが煩わしい。

それならこう書くのもありではないか。

array.forEach(function(a,i,ar){
	ar[i] = i;
});

うん、こっちのほうが速そう。(滅多に使われない)第3引数の配列自身を使えばなかなか汎用的。

というわけで、軽くベンチ。

no title

んー、微妙にmapよりは速いけど、体感的な差が出ることはなさそうな誤差レベルな感じ。

というわけで、好みの問題かな。

2009 May 26th Tuesday

Re:文字列中に含まれる文字を除外した英数字を取得

13:21 | Re:文字列中に含まれる文字を除外した英数字を取得 - FFFF を含むブックマーク はてなブックマーク - Re:文字列中に含まれる文字を除外した英数字を取得 - FFFF

文字列中に含まれる文字を除外した英数字を取得 - 文殊堂

ハッシュバージョン

(function(_s){
  var _a = _s.split(''), hs = {}, res = [], i, s, l;
  for(i=0,l =_a.length;i<l;i++) hs[_a[i]]=true;
  for(i=48; i<58; i++){ /*0-9*/
    s = String.fromCharCode(i);
    if (!hs[s]) res.push(s);
  }
  for(i=65; i<91; i++){ /*A-z*/
    s = String.fromCharCode(i);
    if (!hs[s]) res.push(s);
    s = String.fromCharCode(i+32);
    if (!hs[s]) res.push(s);
  }
  return res;
})('234DEFxyz');

正規表現でもいけそう

2009 May 18th Monday

SITEINFOチェックの高速化

| 18:09 | SITEINFOチェックの高速化 - FFFF を含むブックマーク はてなブックマーク - SITEINFOチェックの高速化 - FFFF

Cookieを使うようにしたらoAutoPagerizeが速くなるんじゃないかと思ったけど、そんなに速くならなかったので埋葬 - もし高校野球の女子マネージャーがOpera Browserを使ったら - チーム俺等

正規表現を全部コンパイル」していたのは、 url を | でつなげて1つの正規表現にして、対応サイトではないという判定を1回のチェックで行おうとしていたときの名残でした。

正規表現が長くなりすぎて Safari でエラーになるようになってしまったので、一回チェックは諦めたのだけど、折角なのでその代替案を考えてみた。

といっても、たいしたものではなく、SITEINFOファイルの作成時に、urlをあらかじめ6000文字くらいずつ繋げたものを用意しただけ。

http://ss-o.net/userjs/test/oAutoPagerize.js

http://ss-o.net/userjs/test/0AutoPagerize.SITEINFO.js

これでSITEINFOにマッチしないページでの処理が少し早くなる、はずです。

ちなみに、最初全部のurlを繋げていたら、hAtomはどのURLにもマッチするように書いてあったから、結局必ずマッチしちゃって意味がなかった(から短いものは省くようにした)。

ただ、0AutoPagerize.SITEINFO.jsがサイズ的に結構大きくなるし、そこまで劇的な効果があるわけではないからやはり採用は見送ろうと思う。

oAutoPagerize.jsは実行される回数が多くて、こういう小手先の最適化も試す価値はあると思うんだけど、バランスが難しい。

2009 May 15th Friday

siteinfo表示

| 22:16 | siteinfo表示 - FFFF を含むブックマーク はてなブックマーク - siteinfo表示 - FFFF

相変わらず、こそこそと更新。

SITEINFOの表示機能をつけてみた。

toolstripクリックするとタブが開いて、SITEINFOが表示される。

検索機能とか、特定のSITEINFOを無効にする機能とか、自前SITEINFOの追加とかといった機能をつけるつもり。

あと、細かな設定も。

Google Code Archive - Long-term storage for Google Code Project Hosting.

2009 May 14th Thursday

はてぶカウンター

| 12:30 | はてぶカウンター - FFFF を含むブックマーク はてなブックマーク - はてぶカウンター - FFFF

SBMカウンタみたいなの。はてなしか対応してないけど。

http://ss-o.net/chrome_extention/

※インストールはAutoPager extension for Google Chrome ver 0.1 - FFFF - 0xを見てね

タブ切り替えたり、バックグラウンドで開いたり閉じたりしたときの制御が面倒で、あんまり正確ではないです。。

あと、toolstripクリックすると左端のタブに移動するバグのせいで役立たず感が…。

将来的には、はてぶ拡張くらいを目指したいな。