Download View on Github
以前、jQuery 1.9 のソースマップ対応で圧縮版でもデバッグが簡単になった話 を書いたけど、Node.js でソースマップする方法を紹介する。 何がうれしいかというと、Node.js で CoffeeScript や TypeScript、JSX なんかを使ったときに、例外に含まれるスタックトレースに変換前の位置を表示できる。 やり方は簡単。source-map-support というモジュールを require() するだけ。 ためしに使ってみた GitHub に動かし方が書いてあるので、その通りにやってみる。 こんな感じの demo.coffee があったとする。 require 'source-map-support' foo = -> bar = -> throw new Error 'this is a demo' bar() foo() npm install sourc
coffeescriptスタイルガイドを抄訳してみました。 訳文は不正確なところがあるので詳しくは原典を参照してください。 polarmobile/coffeescript-style-guide · GitHub コードレイアウト インデントはスペース2つとする。タブは使わない。 1行の最大文字数は79とする。 トップレベルの関数、クラス定義、クラスのメソッド定義の間に1行分空行を入れる。 可読性をあげるために随時1行分の空行を入れる。 行末にスペースを置かないこと。 エンコーディングはUTF8とする。 モジュールインポート 他のモジュールをインポートする場合は、1行に1モジュールをインポートする require 'lib/setup' Backbone = require 'backbone' requireは以下の順序で並べる。 1.標準ライブラリ 2.サードパーティ製ライブラリ 3
サンプルコードなどは本家のリファレンスのものを引用しつつ、勝手&適当に翻訳しています。 間違いなどあればコメント欄などでご指摘下さい。 CoffeeScriptのバージョンが1.0.1の時のものです。 行末のセミコロン ; は不要。ただし1行に複数の式を書くときは ; で区切る。 関数に引数を渡す括弧 (...) は不要。 print "coffee" のように関数を呼べる。ただし引数が無い場合は空の括弧 ( ) が必要。 関数やif文、switch文、try/catch文などでブロックを中括弧 {...} で囲む代わりに、Pythonのようにインデントを揃えることでブロックを表現する。なのでインデントは超重要。
この記事が対応するCoffeeScriptのバージョンは1.7です。 基本的には本家サイトCoffeeScriptの内容と同じです。わかりやすいように色々と私が勝手に再構築、追加してはありますが。(日本語訳と紹介されるとちょっと心外ですな(´Д⊂ヽ ) なお、JavaScriptの基礎知識を前提とし、JavaScriptから引き継ぎ重複する内容は解説されません。 あ。後、この記事の文章、CoffeeScriptコード、JavaScriptコードに関する著作権は放棄しています。パブリックドメインと言うそうです。文章、コード自由に引用改変公開しても問題ありません。 最終更新日:2014/1/29 追加: 文字列 演算子など はじめに:CoffeeScriptのメリットとデメリット 一般に言われているCoffeeScriptを使うメリットデメリットを載せておきます。 ま、こんな論争気にせず、使っ
こんにちは。毎年花粉症になりかけている飯塚です。 最近のNode.jsの普及などによってサーバサイドJavaScript界隈が盛り上がっています。 そんなホットなJavaScriptをラクにかつエレガントに書くためのCoffeeScriptという言語をチュートリアル風に紹介します。 何かしらのライブラリを自分で書く程度にJavaScriptで開発している人は絶対に使ったほうがいいと思います。 JavaScriptを知っていれば1-2時間程度で十分駆使できるようになります。 (2011/6/28:@m_satyr様にご指摘頂いた箇所を修正しました。) 目次 CoffeeScriptとは? インストール Hello World 構文 関数 変数展開 Objectの生成 ループ 存在チェック ヒアドキュメント thisのバインド クラス 無名関数 {var} Tips ?の使い分け 存在チェック
CoffeeScriptで即時関数は書けないのかなーと思っていろいろ試してみたら書けた。 環境:CoffeeScript 1.1.1 (-> console.log 1 return )() ()で囲んでやればいいのか。 追記: id:murky-satyrさんにコメントで教えてもらった! do -> console.log 1 return 最初に書いた方はCoffeeScriptなのにシンプルな書き方じゃないなー、と思ってたらたまたま即時関数として解釈されてただけだったみたい? 公式に書いてあるとしたら CoffeeScript provides the do keyword, which immediately invokes a passed function, forwarding any arguments.これ、かな……? 追記2: 即時関数に引数を渡す場合は最初に書いた感じ
CoffeeScriptで機嫌よく書いていたら、いつのまにか無駄っぽいコードが生成されることがある。 そういう例と解決方法です。CoffeeScript 1.4.0 で確認しました。 愚かな3項演算子 # coffee a = new Float32Array(1024) for i in [0...a.length] a[i] = Math.random() // js a = new Float32Array(1024); for (i = _i = 0, _ref = a.length; 0 <= _ref ? _i < _ref : _i > _ref; // <-- ??? i = 0 <= _ref ? ++_i : --_i) { // <-- ??? a[i] = Math.random(); } 解決方法: by 1 を付ける # coffee a = new Float
補足情報がコメント欄にあるので、参考にしてください。 何回か聞かれたので残しておきます。 switchの条件式をtrueにすれば、複雑な条件分岐もスッキリ書けます。 同じように条件式にtrueを入れたら使える言語が他にもあるので覚えておくといいと思います。 ただし、各条件の処理ごとにbreakが必要な言語もあるので、注意してください。 下記は、coffeescriptの例です。 switch true when a > 5 console.log "a > 5" when b < 3 console.log "b < 3" when c is 4 console.log "c is 4" ```ちなみに、上記のcsをjsにコンパイルすると、下記のようになります。 ```javascript:javascript_switch_true switch (true) { case a > 5:
今まで CoffeeScript についてのエントリーを連投してきましたが とりあえずこのエントリーで一区切りつけようと思います. ちなみに今までに書いた CoffeeScript についてのエントリーはこんな感じです. node.js 不要! Windows でも簡単に CoffeeScript を使う方法 jsdo.it で CoffeeScript を使う方法 CoffeeScript 入門 基礎編 – CoffeeScript と JavaScript を 10個のサンプルで比較してみた CoffeeScript と gl.enchant.js を使って15分で 3D ゲームを作ってみた. 動画もあるよ♪ 今回は enchant.js で怒濤ったとき同様 CoffeeScript についても怒濤ってみました. プログラミングは本を読むだけでは学んだとは言えません. 作ってナンボの世
無効なURLです。 プログラム設定の反映待ちである可能性があります。 しばらく時間をおいて再度アクセスをお試しください。
情報感度が高く体面を気にするIT企業の皆さんは、今日はさっさと帰れと言われてるので、やることなくなったエンジニア達がcho45さんの釣り針に釣られてハッスルしているのだと思われます。弊社も朝からudzuraあたりがハッスルしてるのをみてました。 暇なので大喜利に参加。というか、他の方が言及していない、なぜcoffee-scriptの良い面、について書きたいと思っています。 -> のエイリアスが、関数オブジェクトの意識を変えた > の関数定義はJS本来の関数型言語への意識を呼び覚ましました。そもそも今までが関数型もどきの言語ポテンシャルだったくせに関数オブジェクトが文字数的な問題で使いにくかったのです。 テンプレートエンジンのCoffeekupでは、高階関数の入れ子によってDOMを表現するなんてこともやってます。 doctype 5 html -> head -> meta charset:
A社coffee-scriptエヴァンジェリストのmizchiです。今日は昨今の大規模JSの需要の高まりに応えるべく、お前が知ってる資料をまとめろとのお達しが下ったので、社内wiki面倒だしここに載せてますん。 前提 大規模JSをモジュール化する為にcoffee-scriptのシンタックスシュガーでOOPのパラダイムを持ち込む coffee-scriptの煩雑なコンパイル作業を避けるために、Rails/Nodeではアセットパイプラインを使って動的にコンパイルと圧縮を行う JSプロジェクトを部分的にnode化してTDDでサイクルを回す coffee-scriptに関しては、基本的には本家チュートリアルと The Little Book on CoffeeScript を読めばいい coffee-script チュートリアル 本家チュートリアル CoffeeScript little book
設定が肥大化したときにミスりやすい WebStormぐらい賢いエディタ(IDE)を使っているときはよいのですが、簡素なエディタでちょいちょい編集したいときなどに、しょーじき、カンマとか波括弧(brace)の閉じを誤ることがあります。 Adding preliminary CoffeeScript support. This is for issue #124. · 2f1cd72 · cowboy/grunt This should properly search for: grunt.js or grunt.coffee grunt file in current or parent directories tasks written as .js or .coffee files init templates written as .js or .coffee files そこでcow
Js2coffeeはJavaScriptファイルをCoffeeScriptへ変換するnode.js用ライブラリ。 Js2coffeeはJavaScript/node.js製のオープンソース・ソフトウェア。ここ数ヶ月で注目を集めているのがCoffeeScriptだ。JavaScriptの癖のある書き方をせず、オブジェクト指向的な記法でプログラミングし、JavaScriptファイルを生成する言語だ。 生成されたコード 実際、どれくらい違うのかやってみないと分からないだけに躊躇してしまっているかもしれない。そこでまずは既存のコードをCoffeeScriptにするとどう書くのか、Js2coffeeでチェックしてみよう。 Js2coffeeはJavaScriptファイルを読み込んでCofeeScriptに変換するソフトウェアだ。公式サイトではWeb上でJavaScriptからの変換を試すことができる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く