コマンドプロンプトでランダムなパスワードを作成する方法(注意)
A Blog For All: Hidden Password Generator In Windows Xp
net user administrator /random
と打つだけ。
注意
ちゃんとメモをとっておくように。アドミニストレータのパスワードが変わります。
追記
> net user <ユーザ名> <パスワード>
でパスワードを変更できるのを利用したもの。
> net help user
も見る。
Operaがdel.icio.usの一部のページで固まるのをどうにかする
Operaでdel.icio.usを使っているといらいらすることが多い。その中でも登録しているタグの多いユーザのページで固まってしまうことがある。これをどうにかしたいと思う。
使うのはOperaの"Contents Block"である。
Contents Blockに
http://del.icio.us/ui/static/lib.js*
を追加する。これを追加することによって以下の機能が使えなくなってしまうが一部のページで固まってしまう問題は解消されると思う。
使えなくなってしまう機能。
- その場で編集機能。"edit"を押すと直接ポスト画面に飛ぶ。もともと使えないから問題無し。
- 削除するときの確認が表示されない。
- タグバンドル等の折り畳みができなくなる。
他にもあるとは思うが,普通に使う分には問題ないと思う。
追記
http://del.icio.us/ui/static/delicious.js*
でもいいかもねぇ。こっちを登録しても解消される。どのあたりが問題なのか解決しなければ。
html要素作成
del.icio.usのlib.jsから持ってきたのをちょっといじって,
function extend(dest, src){ if(!src) return dest; for(var k in src){ if(typeof src[k] == 'object' && src[k].constructor == Object) extend(dest[k],src[k]); else dest[k] = src[k]; } return dest }
とすると
var t = extend(document.createElement('div'),{ id : 'foo', className : 'bar', style : { border : '1px #000 solid', margin : '10px', padding : '5px' }, innerHTML : 'hogehoge' });
な感じで書けてみやすい。速いかどうかはしらない。
計測してみる
比較するのは以下の3つ。
普通に
window.onload = function () { var s = new Date().getTime(); var ul = document.createElement('ul'); for(var i=0;i<10000;i++){ var t = document.createElement('li'); t.style.border = '1px #000 solid'; t.style.margin = '10px'; t.style.padding = '5px'; t.innerHTML = 'hoge'+i; ul.appendChild(t); } document.getElementByTagName(' .appendChild(ul); var e = new Date().getTime(); alert((e-s)+'ms'); }
extend()を使って
window.onload = function () { var s = new Date().getTime(); var ul = document.createElement('ul'); for(var i=0;i<10000;i++){ var t = extend(document.createElement('li'),{ 'style' : { 'border' : '1px #000 solid', 'margin' : '10px', 'padding' : '5px' }, 'innerHTML' : 'hoge'+i }); ul.appendChild(t); } document.body.appendChild(ul); var e = new Date().getTime(); alert((e-s)+'ms'); }
withを使って
window.onload = function () { var s = new Date().getTime(); var ul = document.createElement('ul'); for(var i=0;i<10000;i++){ var t = document.createElement('li'); with(t){ with(style){ border = '1px #000 solid'; margin = '10px'; padding = '5px'; } innerHTML = 'hoge' + i; } ul.appendChild(t); } document.body.appendChild(ul); var e = new Date().getTime(); alert((e-s)+'ms'); }
結果
Firefox1.5.0.7 on Linux
普通 | extend() | with | |
---|---|---|---|
1回目 | 5965 | 6891 | 5783 |
2回目 | 5893 | 6944 | 5783 |
3回目 | 5926 | 6934 | 5862 |
4回目 | 5883 | 7001 | 5871 |
5回目 | 5892 | 6933 | 5929 |
平均 | 5911 | 6952 | 5845 |
追記
var t = extend(document.createElement('div'),{ id : 'foo', className : 'bar', style : "border : 1px #000 solid;margin : 10px;padding : 5px", innerHTML : 'hogehoge' });
これでもいけるじゃないか。てことはいじらなくてもよかったのか…。
参考
404 Blog Not Found : javascript - DOMMakerで楽々DHTML
これはよさそうだ。
http://www.openjsan.org/doc/h/ho/howars/DOM/Element/Create/0.01/lib/DOM/Element/Create.html
これもいいねぇ。
追記 09/29 5:05
prototype.js MochiKitがあるとうごかねー(多分
以下Operaのjsコンソール
JavaScript - http://d.hatena.ne.jp/hatenadiary/ Event thread: load Error: name: TypeError message: object: [object Object] is not iterable