ちなみに

火曜日の空は僕を押しつぶした。

Kanasan.JS JavaScript第5版読書会#9を開催しました。

http://sites.google.com/site/kanasanjs/javascript-5edition-reading-9

遅くなってしまいましたが、2月13日に読書会の9回目を開催しました。
今回は新スタッフになってから初めての開催でした。
そして、久しぶりの蛍池公民館での開催。
ネットワークはyuyaさんとkazuk_iさんに提供して頂きました。

写真は http://www.flickr.com/photos/tomohiro68/sets/72157623438651792/ で。


内容はクッキーやクライアントサイドの永続化の話から始まり、みんな大好きXHRの話まで。

以下、箇条書きしておきます。

  • Cookie
    • escape()をIEで使うと文字コードの問題があるため encodeURIComponentを使うべきらしい。
    • document.cookie = NAME=VALUE; max-age=SECOND; path=PATH; domain=DOMAIN; secure
    • 削除素る場合は max-age=0 にするか、expires=過去の日付 を指定する。
    • クッキーは1サーバあたり300個まで、1つは4KBまで。
    • クッキーの読み出しはなんで文字列なのか。
      • たぶんその当時は文字列文化でった。(そもそもオブジェクトがなかった?)
    • IEのuserData: ほとんど使われてない雰囲気
    • FlashのSharedObject: たまに使われる。(改変が出来ない)
    • http://json-schema.org/ が便利! (yuyaさん)
    • 永続化時の生存期間ってどれくらいで運用してるの?
      • 結構長い。10年とか。
  • XHR
    • Webバグ = 見え難くした画像でこれのsrcにパラメータを渡すことで別のサーバにデータを渡せる。
    • XMLHttpRequestXMLは最初はパースしてDOMを返していた名残。(いまも出来るけど誰も使ってない。)
    • IE7からはXMLHttpRequest
  • 第4引数と第5引数はユーザ名とパスワード
    • なくてもFxだとブラウザが聞いてくれるらしい。
var request = new XMLHttpRequest();
request.open('GET', url, false); // 第三引数は非同期にするかどうか。true で非同期
reqeust.setRequestHeader('User-Agent', 'XMLHttpRequest');
rquest.send(null); // 引数はパラメータ。null入れる必要あり。
    • https://developer.mozilla.org/Ja/Using_XMLHttpRequest
    • ちゃんとタイムアウト指定するのか。
      • 良く落ちてるサーバとかにアクセスするときは。
    • どのくらいの時間?
      • 5秒?(5.1秒で帰ってきて、あー><)
    • request.abort() で殺せる
    • 単一ページアプリケーションは起動用のJavaScriptXMLHttpRequestで本体を読み込んで起動する。