@kyanny's blog

My life. Opinions are my own.

JavaScript

JavaScript で違うタイムゾーンの時刻を得る

結論: メモ:JavaScript で システム時刻から別のタイムゾーンの時刻へ変換 - ねじろぐ @drillbits のとおりにする。自分で書いた関数 https://gist.github.com/1342852

mustache(5) を読んだ

次回の JavaScript ソースコードリーディング勉強会のお題なので、数日前に本体ざっと眺めたけど、今日は使い方のドキュメントを読んだ。そもそも mustache って js だけじゃなくていろんな言語で実装があり、テンプレートのシンタックスは同じだから使いま…

ペパボ社内の有志で JavaScript ソースコードリーディング勉強会をやった (3)

三回目。今回は SNBinder というテンプレートエンジンのライブラリを読んだ。https://github.com/snakajima/SNBinder https://github.com/a2chub/SNBinder二つ目のレポジトリは README が和訳されてる fork で、使い方を把握するのにとても助かった。このテ…

ペパボ社内の有志で JavaScript ソースコードリーディング勉強会をやった (2)

前回の続き。引き続き Raphael Sketchpad の後半を読んだ。今回は特にメモを取るほどの新しい知見は得られなかった。 _foo みたいな変数名の規則とか、このひとの流儀なのかもしれないけどまぁよくありそうなパターンをおさらいできたという感じ。正直なとこ…

ペパボ社内の有志で JavaScript ソースコードリーディング勉強会をやった

社内 IRC の #javascript チャンネルで盛り上がったのがきっかけで、社内の有志数名で JavaScript ソースコードリーディング勉強会をやった。この前予習した Raphael Sketchpad のソースコードを読んだ。前に Rails勉強会@東京で yugui さんが bundler のソ…

Raphael SketchPad のソースコードを読んだ

同僚と来週ちゃんと読む予定なので、予習のつもりで昼飯食いながらざっと読んだ。眺めた、よりは真剣に。 http://ianli.com/sketchpad/ https://github.com/ianli/raphael-sketchpad _strokes, action_history にストローク(ペンで描いたオブジェクト)を保…

John Resig が 2008 年に書いた JavaScript Micro Templating のコードがわからない

John Resig - JavaScript Micro-Templating これを使ってみてコード読んでみたけどさっぱりわからないので途中途中で console.log を挟み込んでみたりコメント欄で「わかんね」って書いてたひとが個人ブログにまとめを書いてて Josh's Olde Blogge: Micro Te…

pixiv.js の URL dispatcher と LABjs の組み合わせ何がうれしいのかわかった

気がする。 URL ごとに必要なスクリプトを遅延ロードさせるんですな。遅延ロードがというより dispatch させる URL でだけその仕組みが使えるので、特定のページで利用してるスクリプトだけ一つの外部ファイルにまとめる => dispatch の仕組みでそのスクリプ…

event.preventDefault() と event.stopPropagation() の違い

event.preventDefault() と event.stopPropagation() の違いが、わかったつもりでわかってなかった。 piro さんに Twitter で教えてもらって、説明が具体的でとてもわかりやすかったので今度こそちゃんと理解できたはず。 window.twttr = (function(d, s, id…

Access-Control-Allow-Origin で Firefox の same origin policy を乗り越える

Same origin policy for JavaScript やCross-Origin Resource Sharing (CORS) - HTTP | MDN の話。Firefox で別ホストに対して xhr する場合に same origin policy で云々、というのはぼんやり知ってたけど、同じホストでもポートが違うとダメというのは知ら…

キーイベント (keydown, keypress) の、ブラウザ/OS による微妙な違い

忘れないうちにメモ。時間できたらコードとかリファレンスの記載とかいろいろまとめたい。 onkeydown イベントでキーリピートが発生するかどうかはプラットフォームに依存する キー操作可能なカスタム DHTML ウィジェット | MDNの一番下経由で、91592 - Inco…

3章 オブジェクト

オブジェクト以外の型の変数は immutable オブジェクトがクラスの概念をもたない 他のオブジェクトのプロパティを継承できる オブジェクトリテラル var empty_object = {}; 値の取得 stooge["first-name"] flight.departure.IATA 存在しないプロパティにアク…

Javascript: The Good Parts を読み始めた

うっかり買ってから一週間以上積んでしまったので、またブログにメモをとりつつ読んでいくことにした。薄くて持ち運びしやすいから通勤時間にも読めるし。立ち読みでけっこう拾い読みしてたこともあるし、頭から一章ずつ消化していくよりも読みたい章から先…

よくわからない

練習のために、 livedoor クリップ の 人気ページ を LDRize に対応させようと思って Greasemonkey で xfolk の span タグをつけたそうとしてみた、んだけど、以下のスクリプトをインストールして Firebug のコンソールで眺めていると明らかに変。スクリーン…

prototype は関数オブジェクト

プロトタイプ(prototype)によるJavaScriptのオブジェクト指向:CodeZine(コードジン)prototype は関数オブジェクトがもっているものなのか。知らなくて、 var Foo = { f : function(){ console.log('foo'); } }; Foo.prototype = {}; とか、わけもわから…

replace(//,'') と replace('','') の違い

前者は置換対象部分を正規表現で指定。 //g とか可能。 後者は置換対象部分をただの文字列で指定。微妙な違い。知らなかった。

jQuery と jTemplates

を、使ったので、メモ。 jQuery.postJSON = function(url, data, callback) { jQuery.post(url, data, callback, "json"); }; jQuery のリファレンスマニュアルに載っていた例。 var $jtemplates = jQuery.createTemplateURL("http://example.com/js/jquery/…