2014年10月26日日曜日

GAE Go で static なサイトをホストする

0. python 2.7 が必要

1. https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Go から SDK をダウンロードして解凍する

2. PATH に解凍したディレクトリを設定する

export PATH=/path/to/go_appengine:$PATH

3. フォルダ構成

myapp/ app.yaml index.html img/ css/ js/ src/ main.go

4. app.yaml

application: myapp-application-id version: 1 runtime: go api_version: go1 handlers: - url: /(.*\.html)$ static_files: \1 upload: .*\.html$ - url: /img static_dir: img - url: /css static_dir: css - url: /js static_dir: js - url: /.* script: _go_app

5. main.go

static dir / static files 以外の全ての URL を /index.html にリダイレクトする package myapp import ( "net/http" ) func init() { http.HandleFunc("/", handler) } func handler(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, "index.html", http.StatusFound) }

6. ローカルでテスト

$ cd myapp $ goapp serve localhost:8080 で実行される

7. Deploy

$ cd myapp $ goapp deploy --oauth


2014年9月3日水曜日

Android の Chrome をリモートデバッグ

メモ

1. [デバイス] 開発者オプションを有効にする
2. [PC] Chrome で chrome://inspect にアクセスし、Discover USB devices にチェックを入れる
3. デバイスとPCをUSBで接続する
4. デバッグしたいタグの inspect をタップする

https://developer.chrome.com/devtools/docs/remote-debugging


vulcanize を使ってみた

vulcanize は Polymer 用の最適化ツールで、Web Components を1つのファイルにできる。
「Concatenate a set of Web Components into one file」

Polymer/vulcanize : github

GTUG Girls のサイトに使ってみた。

$ vulcanize -o index.html index_raw.html

Web Components が index.html に結合され、platform.js と polymer.js だけ残る。


Google の PageSpeed Insights にかけてみた
  • vulcanize 前 : モバイル 81/100、パソコン 89/100
  • vulcanize 後 : モバイル 74/100、パソコン 86/100
「HTML を縮小する」が増えたため点数は下がった。

だいたい3000行くらい(index_raw.html は125行)になったので、-s オプションを付けてコメントと空行を削ったら1000行くらいになった。

$ vulcanize -s -o index.html index_raw.html


Request数
  • vulcanize 前 : 68 requests
  • vulcanize 後 : 42 requests
実際ブラウザで表示されるまでの時間が短くなっているような気もする。