massの日記

日々の薪

CoffeeScriptの勉強会に参加した

以前から興味をもっていたサーバ側JavaScript、node.jsを利用したCoffeeScript。
万葉様にて開催されていた勉強会に参加してきた。

  • CoffeeScriptって?

node.jsを利用したjsを出力してくれるもの。
jsよりも記述が少なくてすみ、RubyPythonを使っている人になじみのある記法が多い。

  • CoffeeScriptを使うための環境構築

node.jsのインストール
npmのインストール
CoffeeScriptのインストール

  • node.jsのインストール

Officialのサイトでtar.gzのダウンロードかgitプロジェクトのcloneを行う。
stable(0.4.10)とunstable(0.5.3)の切り替えをローカルで行えるようにするため、gitプロジェクトのcloneを行った。

$ mkdir git
$ cd git
$ git clone https://github.com/joyent/node.git
$ cd node
$ git tag -l
$ git checkout v0.4.10

今回使うのはstableである0.4.10。
実のところ0.5.3で最初にやったら、既知バグを踏んでしまい、nodeの起動はできたけれどCoffeeScriptの部分で詰んでしまった。

インストールはReadme.mdに記載されているので、それに従って行う。

$ ./configure
$ make
$ sudo make install
$ node -v
$ #> v0.4.10と出力されればインストール完了
  • npmのインストール

Officialのサイトに記載されているインストール手順に従う。
ただ、install.shをそのまま叩くとどんなことしているかわからなかったので、最初はcurlで取得して中身を見てから、インストール。

$ curl http://npmjs.org/install.sh
$ curl http://npmjs.org/install.sh|sh
$ npm -v
$ #>1.0.22が出力されればインストール完了

install.shを実行するだけで完了となるのは、powと同様。
これ、今風なのかなと個人的に感じた。インストールというおそらくは大多数の人が同じ作業をするだろう部分をまとめることで、設定に使うコストを下げるという考えなのかな。
なにはともあれ、これでnode.jsとnpmのインストールが完了。
いよいよCoffeeScriptのインストール。

  • CoffeeScriptのインストール

Officialのサイトの記載にされているインストール手順に従う。ここにも記載されているがインストール時に気をつけるのは使うユーザ。自分しか使わないなら、-gオプションはつけずに、マシン環境で使うなら-gをつける。-gをつける場合は、sudo権限で実行しないといけない。

$ npm install coffee-script
$ coffee -v
$ #>CoffeeScript version 1.1.2と出力されればインストール完了
  • Let syakyo

CoffeeScriptの実行環境が整ったので、OfficialのTopを写経する。

$ mkdir coffee
$ cd coffee
$ mkdir lib
$ mkdir src
$ cd src
$ emacs syakyou.coffee
$ syakyou.coffeeの中身を一部抜粋
>number = 42
>opposite = true
>number = -42 if opposite
>square = (x) -> x * x
>list = [1,2,3,4,5]
$ coffee -o ../lib/ -c ../src/
$ more ../lib/syakyou.js
>(function() {
>  var list, number, opposite, square;
>  number = 42;
>  opposite = true;
>  if (opposite) {
>    number = -42;
>  }
>  square = function(x) {
>    return x * x;
>  };
>  list = [1, 2, 3, 4, 5];
>}).call(this);

勉強会ではRails3.1にも触れていた。
Twitterで#coffeerbのタイムラインをみると当日の様子が結構よくわかるけれど、個人的にはMasherで見た方が楽しい。