2009年9月アーカイブ

プレッシャーに関して

| | コメント(0) | トラックバック(0)

プレッシャーに対処するにはプレッシャーに対しての余裕を持っておくかプレッシャーへの対処能力を上げる。
余裕を持つには余計なプレッシャーを切り捨てる能力かプレッシャー自体の処理能力を上げる。
余計なプレッシャーとは現状全く対応できない事象や、外部から期待されていないのに自分で期待されていると誤解していること。
プレッシャー自体への処理能力を上げるには普段から変化することを意識する。
プレッシャーは基本的に未来への不安。変化することで未来への不安は軽減する。
未来への不安は自分が変化できないことへの不安。

若手IT勉強会 #11に参加させていただきました

| | コメント(0) | トラックバック(0)

第11回勉強会 ‎(若手IT勉強会)‎に行ってきました。
2回目にしてまとめ記事が一気に適当になった気がしますが気にしない。
第一回まとめ

・jQueryはnative event呼ぶ機能無い
$0.addEventListener('click', function () { console.log(1) }, false);
$($0).click();
>>> consoleには1が表示されない

・独自イベントは処理の切り出しには便利だけど、どう切り出すかが微妙に難しいのでちょっと使いにくいかも
イベント伝播中心で組むのはどこにどの処理が割り当てられてるかわかりにくいので後々不要な処理が残りやすい気がする
(イベントが階層化できないので)

・sizzleは本家もほとんどコメント無いなぁ。。。
最近複雑な正規表現書くときはこんな感じにしてる。

mosix = function () {
var result = '';
$.each(Array.prototype.slice.call(arguments), function () {
result += this.test ? (this + '').replace(/^\/|\/\w*$/mg, '') : this;
});
return new RegExp(result);
};
mosix(
// schema
'^http://',
// domain
/\w+\.\w+\.\w+/,
// path
'/$'
).test(location.href);

まだそんなに試してないけど、それなりにいける気がする。


・elementsにsetInterval定義してevents貼り付けるとその要素はwindowとして解釈される
$0.setInterval = true;$($0).click(function () { console.log(1) });
>>> どこクリックしても1が表示される
まあ、そんなことしないと思うけど。

・event handlerに同じファンクションを2回設定しても1回しか呼び出されない。
function hoge () { console.log(1); };
$($0).click(hoge).click(hoge).click(hoge).click();
>>> 1しか表示されない
この場合、hoge.guidをdeleteすれば再度呼び出される。

・namespaceは複数設定可能
$('a').bind('click.hoge.huga')とか

・namespace指定でtrigger可能 ただし、triggerはevent名を省略できない
($('a').trigger('click.hoge')はOK $('a').trigger('.hoge')はNG)

・Array().slice().sort()はArray().concat().sort()と一緒
日破壊的なsortをしたいとき用。
concatで書いてくれればわかったのに。。。

・live eventのbindを使った貼り付け方。もちろんこっちからやるのは非推奨だと思う。
jQuery(document).bind('live.click.a', function () { alert(1) })
// 'live.event name.selector'。selectorは.を`にスペースを|に置き換える。

・こんな感じでそのイベント全体の初期化処理を挟める(イベント貼る毎に呼び出される?)
jQuery.event.special['click'] = { 'setup' : function () { console.log('setup'); } };
$($0).click(function () { console.log('click'); });
>>> setup
//'setup'のほかに'teardown'ってのも定義できるらしいけど、こっちはいつ呼ばれるのか不明
//(unbindしても呼ばれなかった。コードを読む分には呼ばれそうだけど。。。)

・safariのデバッガーはfirebugよりいいかも。
慣れてるからfirebug使うけど、safariも使っていいかも

・Fxのevent.originalEvent.timeStampはかなりむちゃくちゃな時間を返す。
$($0).click(function (e) { console.log(e.timeStamp, e.originalEvent.timeStamp) })
>>> 1252824662619 87914218
ブラウザ起動後の時間?PC起動後とかかも

・$('a:first').bind('click.abcaaaa.def', function () { alert(1) }).trigger('click.abc.def');
=>alert(1)
jQueryのバグっぽい(1.3.2)
2679行がおかしい。joinの正規表現を".*\\."ではなく、"\\..*\\."にして、handler.type.split(/\./).join('._.')みたいなコードを挟むと直る気がする
ただし、これが発生するのは複数ネームスペース指定してて、呼び出し時にソートして左側に来るイベントに余計な名前がくる場合だけ
2週間前に報告済みだった。http://dev.jquery.com/ticket/5138
ただ、この解決方法は微妙すぎるので、本家で華麗に修正されるのを待とう。
('._.')('._.')('._.')('._.')('._.')


その他

・遅刻しました。すいません。でもちょうどよかったです。

・懇親会でいろいろ聞けて楽しかった。

・勉強会自体はもうちょっと先まで読みたかったかも。結局remove周りは読めなかったので。。。

・javascript ninjaは結構読んで見たい。

・大根おいしかった。

必用だと思っていることを、 どうして必用なのかをつきつめていくと、最初に思っていたこととは全く違うことが重要だったということが良くあります。

| | コメント(0) | トラックバック(0)

男一代菩薩道で紹介されてたカレー屋に行ってみた

| | コメント(0) | トラックバック(0)

http://www.amazon.co.jp/dp/4757214332

確かにおいしいけど、鎌倉のインドカレー屋の方がおいしいな。
たぶんこれが普通のインドカレーなんだろうな。庶民的な味らしいので納得。