LT#7 Hello coffeeしてきた
-
Upload
shingo-inoue -
Category
Education
-
view
2.944 -
download
1
description
Transcript of LT#7 Hello coffeeしてきた
![Page 1: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/1.jpg)
+
LT#7「Hello coffee」 してきた 2013/01/22 れこ
![Page 2: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/2.jpg)
+おはようございます。眠いです
昼夜逆転生活
Tasketeは落選。
コウサ展
![Page 3: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/3.jpg)
+
CoffeeScript
photo by yukop
![Page 4: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/4.jpg)
+目次
1. CoffeeScriptってなんぞ?
2. 何が出来るの?
3. どう書くの?
4. 所感
導入手順については大きく割愛
![Page 5: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/5.jpg)
+CoffeeScript
“CoffeeScript is a little language that compiles into JavaScript.” http://coffeescript.org/
書いた物全てがjsに変換される
文法はRuby, Pythonあたりに近い?
![Page 6: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/6.jpg)
+見た方が早い
![Page 7: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/7.jpg)
+CoffeeScript
varによる変数定義不要、セミコロン不要
引数がある場合関数呼び出しの()不要
色々とインデントで表現
functionは「->」で表現
classっぽいものも書ける
コードから判断し必要最小限のスコープにしてくれる
SublimeText2、Coda用のプラグイン有り
![Page 8: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/8.jpg)
+コンパイル
普通にコンパイル ⇒ 即時関数で囲まれてる ⇒ グローバルを汚染しない
-bオプションコンパイル ⇒ 即時関数が外れてる ⇒ Nodejs系では必須だとかいう噂 ファイルの変更を監視して 自動コンパイルも出来るよ!!
![Page 9: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/9.jpg)
+classもどき
![Page 10: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/10.jpg)
+
ぷ ら ぐ い ん
![Page 11: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/11.jpg)
+所感:快適
精神衛生上優しい
for~in文の挙動が望んでいたそれに
快適すぎて書くだけで楽しい
タイプ数:減 書く速度:速 可読性:高
jQueryも書いていけるし、むしろ書きやすい
変更監視→自動コンパイルもあるから手間は感じない
公式ドキュメントだけ十分学べる(※英語)
![Page 12: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/12.jpg)
+
だが、要はJavaScript���なんだろう?
![Page 13: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/13.jpg)
+自前で書ける範囲内です。
Example:for ~ in
for ( var I = 0; I < ary.length; i++ ) {
var item = ary[i];
//これでitemは配列の各要素として扱える
}
めんどいし人によって実装がまちまちになる!
![Page 14: LT#7 Hello coffeeしてきた](https://reader033.fdocuments.net/reader033/viewer/2022052601/558c30c7d8b42a5e5e8b45dd/html5/thumbnails/14.jpg)
+あとのことはググりましょう。
Ruby脳でCoffeeScriptのクラスを理解する - hp12c http://d.hatena.ne.jp/keyesberry/20110908/p1
CoffeeScript http://coffeescript.org