宇宙の法則世界の基本つい勢いで全巻購入(2回目)
kyo: 2008年5月アーカイブ
CD Driveのない状態でExact Audio Copyを起動すると無反応になる。
(ノートの軽量化のためにDriveはずしてた)
まぁ、当然といわれれば当然なのかもしれないけどw
エラーとか起きないので注意。
あ、たぶんvistaは関係ないです。
(ノートの軽量化のためにDriveはずしてた)
まぁ、当然といわれれば当然なのかもしれないけどw
エラーとか起きないので注意。
あ、たぶんvistaは関係ないです。
タクティクスオウガから
なんかの本から
http://d.hatena.ne.jp/amachang/20080509/1210306422
JSの継承あれこれ。
.prototype
var top = function () {};
top.prototype = { 'a' : function () { alert( 'A!' ) } };
var sub = function () {};
sub.prototype = new top;
( new sub ).a(); // -> alert('A!');
with
with ( document ) {
with ( location ) {
alert( title + href ); // title -> document.title, href -> location.href
}
}
.prototypeは主にメモリをケチるために使用。
もし、メモリを気にしないならconstractor(最初のfunction)の最後で
return { 'method' : function () {} }すればほとんど同じように使える。
(object作成後にmethodを変更したいなら.prototypeじゃないと面倒だけど)
withは主にコード書く手間を省くために使用。
(withじゃないとできないことってあんまりない)
基本的に速度は遅くなる。
サイ本によるとJSは基本的に全体が「with ( window ) {}」で囲まれてる感じらしい。
で、function内は見えないlocal objectにwithされてる感じ。
varは自分の階層のwithされてるobjectのプロパティーへ値を設定するための構文。
コードで書くとこんな感じ?
with ( window ) {
with (/* 見えないlocal object */) {
function () {
with (/* 見えないlocal object */) {
function () {
}
}
}
}
}
とりあえず勢いで書いてみる。
JSの継承あれこれ。
.prototype
var top = function () {};
top.prototype = { 'a' : function () { alert( 'A!' ) } };
var sub = function () {};
sub.prototype = new top;
( new sub ).a(); // -> alert('A!');
with
with ( document ) {
with ( location ) {
alert( title + href ); // title -> document.title, href -> location.href
}
}
.prototypeは主にメモリをケチるために使用。
もし、メモリを気にしないならconstractor(最初のfunction)の最後で
return { 'method' : function () {} }すればほとんど同じように使える。
(object作成後にmethodを変更したいなら.prototypeじゃないと面倒だけど)
withは主にコード書く手間を省くために使用。
(withじゃないとできないことってあんまりない)
基本的に速度は遅くなる。
サイ本によるとJSは基本的に全体が「with ( window ) {}」で囲まれてる感じらしい。
で、function内は見えないlocal objectにwithされてる感じ。
varは自分の階層のwithされてるobjectのプロパティーへ値を設定するための構文。
コードで書くとこんな感じ?
with ( window ) {
with (/* 見えないlocal object */) {
function () {
with (/* 見えないlocal object */) {
function () {
}
}
}
}
}
とりあえず勢いで書いてみる。
よんでますよアザゼルさん。
どっかの名言から
サイ本によると「setTimeout(function () {},0);」は「イベントハンドラの実行が完了し、ドキュメントの状態更新が完了した時点で、指定した関数が呼び出されます」とのこと。
なんとなくは理解してたけど、はっきり言ってもらってすっきり。
なんとなくは理解してたけど、はっきり言ってもらってすっきり。
$('table.stripe tr:odd').addClass('odd');
$('table.stripe tr:even').addClass('even');
はtableが複数個あり、各テーブルの行が偶数個の場合表示がおかしくなる。
<table><tr></tr><tr></tr><tr></tr></table>
<table><tr></tr><tr></tr><tr></tr></table>
こんな感じのが
<table>
<tr class="odd"></tr>
<tr class="even"></tr>
<tr class="odd"></tr>
</table>
<table>
<tr class="even"></tr>
<tr class="odd"></tr>
<tr class="even"></tr>
</table>
こんな感じになる。
$('table').each(function () {
$(this)
.find('tr:odd').addClass('odd').end()
.find('tr:even').addClass('even').end();
});
が正解(たぶん)
$('table.stripe tr:even').addClass('even');
はtableが複数個あり、各テーブルの行が偶数個の場合表示がおかしくなる。
<table><tr></tr><tr></tr><tr></tr></table>
<table><tr></tr><tr></tr><tr></tr></table>
こんな感じのが
<table>
<tr class="odd"></tr>
<tr class="even"></tr>
<tr class="odd"></tr>
</table>
<table>
<tr class="even"></tr>
<tr class="odd"></tr>
<tr class="even"></tr>
</table>
こんな感じになる。
$('table').each(function () {
$(this)
.find('tr:odd').addClass('odd').end()
.find('tr:even').addClass('even').end();
});
が正解(たぶん)
以下のコードはGMのベースコードとしていいかも。
(ただ、イベント内とかだとj$とかが取れない気がする。クロージャだめ?)
だいぶjQueryないとコード書けなくなってきてる。。。
var initialize = function () {
alert('init');
};
var name = 'jquery.js', src = GM_getValue(name);
src ? ( function () { eval(src); j$ = jQuery.noConflict( true ); } )()
: GM_xmlhttpRequest({ method: 'get',
url: 'http://code.jquery.com/jquery-latest.js',
onload: function(res){ if(res.status != 200) return;
GM_setValue(name, res.responseText); eval(res.responseText);
j$ = jQuery.noConflict( true );}
});
( function () {
var exec_func = function ( func ) {
try { func() } catch ( e ) { console.log( e ) }
}
setTimeout( function () {
j$ ? exec_func( initialize ) : setTimeout( arguments.callee, 100 );
}, 0 );
} )();
(ただ、イベント内とかだとj$とかが取れない気がする。クロージャだめ?)
だいぶjQueryないとコード書けなくなってきてる。。。
var initialize = function () {
alert('init');
};
var name = 'jquery.js', src = GM_getValue(name);
src ? ( function () { eval(src); j$ = jQuery.noConflict( true ); } )()
: GM_xmlhttpRequest({ method: 'get',
url: 'http://code.jquery.com/jquery-latest.js',
onload: function(res){ if(res.status != 200) return;
GM_setValue(name, res.responseText); eval(res.responseText);
j$ = jQuery.noConflict( true );}
});
( function () {
var exec_func = function ( func ) {
try { func() } catch ( e ) { console.log( e ) }
}
setTimeout( function () {
j$ ? exec_func( initialize ) : setTimeout( arguments.callee, 100 );
}, 0 );
} )();
こんな感じで一時的にObject.prototypeをきれいにできないだろうか。。。
var o = new Object();
for (var i in Object.prototype) {
o[i] = Object.prototype[i];
delete(Object.prototype[i]);
}
// .....
for (var i in o) {
Object.prototype[i] = o[i];
}
var o = new Object();
for (var i in Object.prototype) {
o[i] = Object.prototype[i];
delete(Object.prototype[i]);
}
// .....
for (var i in o) {
Object.prototype[i] = o[i];
}
var hoge = 'fuga', foo = (function (i) {return i})(hoge);
console.log(foo); //-> 'fuga'
//少なくともFFでは動く。
console.log(foo); //-> 'fuga'
//少なくともFFでは動く。
・検索
コンタクト一覧はCtrl+Fでユーザ名を検索できる。
コンタクトが多くて目的の人を見つけるのが大変な方へ。
・改名
コンタクト名を右クリック->「表示名を変更(R)」でskype名を好きなように変えられます。
(検索時は変えた名前で検索できます)
・グルーピング
グループでコンタクトをまとめられます。
(最近チャットした人一覧(「最近のコンタクト」)のグループは便利)
グループにいっせいにファイルを送るとかできます。
・ダブルクリック
skype名をダブルクリックしたときは通話ではなくチャットを開始するように設定できます。
(「ツール」->「設定」で「通話を開始」から「チャットを開始」)
コンタクト一覧はCtrl+Fでユーザ名を検索できる。
コンタクトが多くて目的の人を見つけるのが大変な方へ。
・改名
コンタクト名を右クリック->「表示名を変更(R)」でskype名を好きなように変えられます。
(検索時は変えた名前で検索できます)
・グルーピング
グループでコンタクトをまとめられます。
(最近チャットした人一覧(「最近のコンタクト」)のグループは便利)
グループにいっせいにファイルを送るとかできます。
・ダブルクリック
skype名をダブルクリックしたときは通話ではなくチャットを開始するように設定できます。
(「ツール」->「設定」で「通話を開始」から「チャットを開始」)
「$($0).css('width','500px;');」はブラウザ依存。
FFは通るけど、IEはエラー出る。
(「引数が無効です。」のエラーが出る)
「$($0).css('width','500px');」ならOK
FFは通るけど、IEはエラー出る。
(「引数が無効です。」のエラーが出る)
「$($0).css('width','500px');」ならOK
FF1.0では別domainのwindowに対して「history.back();」が呼べる。
document objectのdomain属性に対して値を設定すると
複数domainでのJSの呼び出しができる。
from 同一生成元ポリシー
document objectのdomain属性に対して値を設定すると
複数domainでのJSの呼び出しができる。
from 同一生成元ポリシー
・tclocklight
ノートンに警告されたので。vistaはサイドバーもあるし。
・窓の手系
vista用ってある?
・すっきりデフラグ
普通にほかアプリ使いながらやるようになった。HDDの速度が上がったから?
・nettune系
vistaだし。98のころはいろいろいじったけど。
・つみきソフトのCSE
MySQLAdminでいいや。
・PortScanner、Multipinger、Sniffer
最近ネットワーク系のことやってないなー
・UPX
今でも効果あるのかな。。。
ノートンに警告されたので。vistaはサイドバーもあるし。
・窓の手系
vista用ってある?
・すっきりデフラグ
普通にほかアプリ使いながらやるようになった。HDDの速度が上がったから?
・nettune系
vistaだし。98のころはいろいろいじったけど。
・つみきソフトのCSE
MySQLAdminでいいや。
・PortScanner、Multipinger、Sniffer
最近ネットワーク系のことやってないなー
・UPX
今でも効果あるのかな。。。
中華なべでマーマレード作ったらなべがぴかぴかになりました。
柑橘類ってすごいね!
ちなみにできたマーマレードはパチンコ玉をなめたような味がします。
柑橘類ってすごいね!
ちなみにできたマーマレードはパチンコ玉をなめたような味がします。
何かをやるために必要な心持。これがなければ始まらず、あれば何でもできるもの
[javascript]相対URLを絶対URLにする関数
yuga.js 0.5.1 - 優雅なWeb制作のためのJavaScript
img tagのsrcではなく、a tagのhrefなら読み込みも発生しなくていいよとのこと。
もしくは正規表現か。
で、せっかくなのでソース読んで勝手に書き換えた。
yuga.js
変更点は以下
・相対パスを絶対パスに変換するとき先読みしていたのを修正
patch
yuga.js 0.5.1 - 優雅なWeb制作のためのJavaScript
img tagのsrcではなく、a tagのhrefなら読み込みも発生しなくていいよとのこと。
もしくは正規表現か。
で、せっかくなのでソース読んで勝手に書き換えた。
yuga.js
変更点は以下
・相対パスを絶対パスに変換するとき先読みしていたのを修正
patch
Re: 相対パス、絶対パスの変換の続きを読む
前にラジオで聞いて