おぎろぐはてブロ

なんだかんだエンジニアになって10年以上

High Performance Web Sites

Cookieがパフォーマンスに与える影響で書いた件について、この前、くまさんと、六本木で燃えさかる焼肉を食いながら軽く話した。その中で、「Cookieのサイズ気にしても、そもそもYahoo!って、HTTPヘッダ自体が大きいよね」とかいう話も出たり、確かにそうかもねぇ、ということで、きちんと仮定をたてて実験をしようと思っているところなんですが、、

Safariの新刊見てたら、オライリーHigh Performance Web Sitesという本がRough Cutsで提供開始されてました。(Rough Cuts: 出版前の本を書いてる途中からオンラインで提供していくというサービス) 目次を見て、今欲しいのはこれだと思った。

大見出しだけを転載。小見出しも含んだものはこちらで。 (Rough Cutなので、最終確定のものではないです。)

  • The Importance of Front-End Engineering (フロントエンド開発の重要性)
  • HTTP Overview (HTTP概要)
  • Rule 1: Make Fewer HTTP Requests (HTTPリクエストの数を少なくする)
  • Rule 2: Use a Content Delivery Network (CDNを利用する)
  • Rule 3: Add an Expires Header (Expiresヘッダを付加する)
  • Rule 4: Gzip Components (Gzipする)
  • Rule 5: Put CSS at the Top (CSSを上部に持ってくる)
  • Rule 6: Move Scripts to the Bottom (スクリプトを下部に移動する)
  • Rule 7: Avoid CSS Expressions (CSS Expressionを避ける)

以下、これから書かれる予定のもの (Prefaceより)

  • Rule 8: Inline in Home Pages (JavaScript/CSSを外部ファイルにするのとインラインで埋め込む場合とのトレードオフ)
  • Rule 9: Minimize Domains (ドメイン数の最小化。結構見過ごされるDNS lookupのインパクトについて)
  • Rule 10: Minify JavaScript (JavaScriptの圧縮。JavaScriptから空白を削除する効果の定量化)
  • Rule 11: Avoid Redirects (リダイレクトを避ける)
  • Rule 12: Remove Duplicate Scripts (重複するスクリプトの削除)
  • Rule 13: Turn off ETags (ETagをオフにする。Etagの動作の詳細と、なぜ2台以上のサーバで利用するときに問題となるか)
  • Rule 14: Cache Ajax (Ajaxをキャッシュする)
  • Performance Tools (パフォーマンスを評価するためのツールについて)
  • Case Study: Google
  • Case Study: Yahoo!
  • Case Study: ???

チャプタのタイトルだけ読むだけでも、ポイントが示されてて、それだけでいいやって感じもしないでもない。
出版日が2007年9月予定とか書いてあるので、そんな先は嫌なので、Rough Cutsで購入しようかと思います。

で、このSteve Souderさんって誰なんだろうとぐぐってみたら、works at Yahoo! as the Chief Performance Yahoo!ということでした。結局落ち着くところはYahoo!か。

[追記] 表紙に書いてるタイトルは、High Speed Web Sites。タイトルもきまってない?

Suica/PASMO相互運用記念カード

ペンギンとロボットの位置がSuicaPASMOで違うのね。
ロボットには特に名前がないんですね。ペンギンもないから?

Suica・PASMO相互利用記念Suicaカードの発売について〜2007年3月18日9時から一斉発売します〜

  1. 発売開始日時
    • 2007 年3 月18 日(日)9時から
  2. 発売額
    • 1枚2,000 円(SF1,500 円+デポジット500 円)<台紙付>
  3. 発売枚数
    • 限定10 万枚 ※お一人様5枚までとさせていただきます
  4. 発売箇所

PASMOデビュー・Suica相互利用開始 記念カード発売(pdf形式)

  1. 発売開始日時
    • 2007年3月18日(日)9時より
  2. 発売金額
    • 1枚1,000円(デポジット500円を含む、台紙付)
  3. 発売枚数
    • 限定11万枚
    • お一人さま1回のご購入につき、3枚までとさせていただきます。
  4. 発売箇所
    • PASMO協議会加盟事業者の駅、バス営業所等(別紙参照)
    • 詳細は、各鉄道・バス事業者にお問合せください。

はてなロディア欲しい!

フランスにまつわる楽天商品を紹介し、“はてなロディア欲しい!”と書くということなので。。
おフランスといえば、おそ松くんのイヤミです。

そういや、原作の漫画ってみたことないなぁ。

(PHP)プログラマのためのVIM (5) - undo

undo

  • オリジナルのviは1回しかundoできない
  • vimは無限 (メモリによる制限のみ)
  • undolevelsを好みの値に設定してください (デフォルトは1000)
  • 簡単なケース: u - undo, CTRL-R - redo
  • vim7では、branched undoが登場
    • 何かをundoして、そこから変更を加えると、ブランチが作成される
    • g-, g+ - 古い/新しい text stateへ移動する (through branches)
  • 時間で移動できる
    • :earlier Ns,m,h - N秒(s)、分(m)、時間(h)前に戻る
    • :later Ns,m,h - 同じように先へ進む
  • :earlier 10m - 10分前、レッドブルを飲んでやってしまったバカな変更の前に戻そう。ふう。

[補足] undo branchについて

いまいち、動きがわからなかったので、:help undo-branchesの例を見てみました。

ここからはじめる:

        one two three ~

xを3回押して、oneを削除:

        ne two three ~
        e two three ~
         two three ~

で、uを3回押して、undoする (ここでブランチができる):

        e two three ~
        ne two three ~
        one two three ~

2番目の単語(two)をxを3回押して削除:

        one wo three ~
        one o three ~
        one  three ~

で、今度はg-を3回押して、undoする:

        one o three ~
        one wo three ~
         two three ~

3回目のg-で最初のundo branch (oneを削除した後)に戻る。
さらに、g-を続けて、最初の状態まで持ってくる。

        e two three ~
        ne two three ~
        one two three ~

テキストだけ眺めていても、やっぱりなんだか分からない!ので、図を書いてみました。(動きには関係ないので、見やすさを考慮して、文字の位置は揃えてます)

oneを削除して、undoして、さらにtwoを削除しようとしたところ(オレンジ色の線)のところで、ブランチが作成されます。uCTRL-Rでの操作だと、twoを削除しはじめた時点で、oneを削除した方(青文字側)には戻れなくなってしまうのですが、g-/g+で移動すれば、そっちにも帰れるよということですね。

まだ、35ページ/全77ページ

意味が分かんなかったので理解するのに手こずった。次は、visual modeあたり