#coffeescript

Smooth CoffeeScript

SmoothCoverWithSolutions

200ページを超え、35の練習問題があります。基本文法からオブジェクト指向、モジュラリティ、そしてHTML5のCanvasとWebSocketsまで紹介されています。PDFは答えがついてあるバージョンと付いてないバージョンがあり、さらにソースコードまで。

CoffeeScript Cookbook

CoffeeScript Cookbook

リファレンス参照が一目瞭然で、ebookよりは気軽く読めると思います。メタプログラミングまで書いてあります。ちなみにこれは複数の人が協力して作ったもので、githubにあるのでforkしてpullリクエストも出せます。

The Little Book on CoffeeScript

The Little Book on CoffeeScript

5章しかないですが、CoffeeScriptがベストプライスが書かれています。少なくとも4章のIdiomsは読んどいたほうがいいと思います。

#firefox #rss #tool

Google Readerでフィードに100以上のアイテムがある場合途中まで読んで、読んだ分だけを既読にしたいですね。FIrefoxならそれが実現できます。

現時点で使ってるFirefoxは5.0.1です。

手順

  • https://addons.mozilla.org/ja/firefox/addon/greasemonkey/でGreasemonkeyをインストールし、Firefoxを再起動
  • http://userscripts.org/scripts/show/47830右上のInstallをクリック
  • Google Readerを開けば”Mark below as read”と”Mark above as read”ボタンが上のツールバーに現れる
  • 一つのアイテムを選択し(展開/折り畳みのどちらでもOK)、ボタンを押す
  • ショートカットはq 下のアイテムを既読にw 上のアイテムを既読に
#mac

System PreferencesのTrackPadを早速開きました。

Point & Click Tab

最初のTap to clickはなかなか便利で、ずっとほしい機能でした。やっとMacbookのトラックパッドをクリックする音が消えました。 そしてThree finger dragは三本指でアプリの位置を移動したり、テキストを選択したり、Finderでファイルを選択したりして、いろんな機能があります。動作としては「クリックをホールディングしながらドラックする」感じなので、よく使えばだいぶ効率が上がりそうです。 Trackpad_point_click

Scroll & Zoom

ここはScroll direction:naturalのチェックを外しました。デフォルトはチェックした状態なんですが、今まで(Lion以前)の動きと真逆なので全然慣れません。。

Trackpad_scroll_zoom

More Gestures

Lionの新しいジェスチャーを学びましょう。

  • 四本指で左右スワイプはフルスクリーンアプリの切り替え
  • 四本指で上スワイプはMission Control などなど

Trackpad_more_gestures

まとめ

Tap to clickとThree finger dragは新しい、大変便利な機能でオススメです。 Scroll direction:naturalは2本指スクロールが今までの動きと真逆なんで慣れない方はチェックを外してください。 その他はMission ControlとLaunchpadを覚えておけばいいかと〜

#facebook #php

今はほとんどのサイトがLike(いいね!)ボタンを置いてますが、Likeボタンがどれだけクリックされたか、その数は気になりますね。

Facebook独自のFQL(文法はSQLに似ている)を使って複数URLのLikeされた数が取れます。Facebook公式ドキュメントはこちらにあります。

下記はPHPでのサンプルコードです。

<?php
// see fql docs:
// http://developers.facebook.com/docs/reference/fql/link_stat/
$url_list = array(
	'http://example.com/url1.html',
	'http://example.com/url2.html',
);
$url_string = '("'. implode('","', $url_list). '")';
// just like sql syntax
$fql = "select url, like_count from link_stat where url in".$url_string;
// remember to encode it
$url = "https://api.facebook.com/method/fql.query?format=json&query=".urlencode($fql);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
$json = json_decode($data, true);
$ret = array();
print_r($json);
// result example
/*
Array
(
    [0] => Array
        (
            [url] => http://example.com/url1.html
            [like_count] => 10
        )
    [1] => Array
        (
            [url] => http://example.com/url2.html
            [like_count] => 20
        )
)
*/

coffee-scriptをMacportsを使ってインストールし、TextMateのcoffee-script bundleでコンパイルするメモです。 注意すべきなのはたとえターミナルでcoffeeが実行できても、TextMateはPATHをインクルードしないので(インクルードしているのは/usr/binらしい)、/usr/binにcoffeeのシンボリックを作る必要があります。 またcoffee-scriptをコンパイルするにはnodejsとnpm(Node Package Manager)が前提条件となるため、それらのインストールも必要です。

これでtextmateでcommand + Bでコンパイル後のJavascriptが表示できるようになります!