thinkpad x100e に ubuntu 11.10をインストールしたときのメモ

完全に、自分用メモ。
基本的に、設定類はDropboxに突っ込んで、ln -s しているだけなので、
簡単に復元可能。

% sudo apt-get install aptitude
% sudo aptitude install zsh screen emacs23-nox ibus-mozc git-core google-chrome-stable libxss1 nautilus-dropbox
% chsh
% cd ~/; mkdir Desktop Downloads Templates Public Documents Musics Pictures Videos
% cat .config/user-dirs.dir
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Musics"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"


入力をAnthyからmozcに変更後に、
/usr/lib/mozc/mozc_tool -mode=config_dialog
で全角スペースを使わないように設定

Dropboxの同期完了を待って、再起動
"ubuntu 2D"でログイン(2Dじゃないと動きがもっさりしたので)

次に、font install(ricty)

softwareセンターからadvanced settingsをインストールして
Ubuntu上で使用するフォントを変更する。

インストール後に、日本語でDashホームから検索できるようになるので
「高度な設定」で検索 -> フォント設定

terminalのプロファイルをいじる(色、フォント、背景透過など)
Firefox addonを入れる( keysnail + HoK があればだいたい満足 )

以上でだいたい終了。壁紙も変えて奇麗な環境になりました。
Ubuntu最高過ぎるわ。Macで開発とかありえん。

facebookアプリについて調査 その2 FQL

ここが大変だよ「Facebookアプリで世界進出!」(1/2)- @IT

を読んで、またfacebookアプリに興味がでてきたので、
宿題になっていたFQL周りの調査をしてみる。

わかったことは以下。
  • facebookは、登録済ドメインに対して、「fb_{$APPID}」という名前のcookieを発行してくれる。$APPIDはドメインを登録した際に発行される
  • cookieの中にaccess_tokenという値が入っているので、認証が必要なFQL APIに対しては、この文字列を付けてリクエストする
    • expiresがunixtimeで入っているので、こちらも確認すること
    • sigでCookieに改ざんがないことも確認できる
  • FQL APIの一覧は以下のページ参照
  • 最初はサーバサイドでFQL APIをたたこうと思ったけど、@ITの記事である通り、クライアントサイドでたたく方が良さそう
    • API一覧を見る限り、一度のFQLリクエストで情報をすべて取得できなそう。あるAPIをたたいてから、その結果をつかって別のFQLを実行する、といった処理が普通にありそう。
    • 上記の処理を全てサーバサイドでやると、高負荷に耐えられなくなるのは確実
javascript APIなんて表示が遅くていやだな、と思ったけど、
ちゃんと理由があることがようやくわかった。


facebookアプリについて調査

facebookアプリについて調査したメモ。

とりあえず、hello world的にアプリを作ってみた。
非エンジニア女子による、15分間でできるfacebookアプリデビュー:GAE(Python編)

サンプル通りで動くが、1点だけ。
GAEのページを直参照する場合はexample.pyのままで動くが、
facebookページからのiframe参照の場合、
getではなく、postでリクエストされるので、以下のように2行を追加

class HomeHandler(BaseHandler):
    def get(self):
        path = os.path.join(os.path.dirname(__file__), "example.html")
        args = dict(current_user=self.current_user,
                    facebook_app_id=FACEBOOK_APP_ID)
        self.response.out.write(template.render(path, args))
    # 以下の2行を追加
    def post(self):
        self.get()

Graph APIとか調べたけど、結局はFQLによるアクセスが便利そう。
FQL :  Facebook Query Language
  document
  sample

uidがわかれば基本情報は認証無しで取れるみたい。
認証が必要なデータをFQLで取得する方法を今度調べる。

その他リンク
デモで理解する Facebookアプリ開発のポイント