タグ

coffeescriptに関するt-wadaのブックマーク (16)

  • さよなら CoffeeScript - mizchi's blog

    prototype.js が jQuery に置き換えられた時、開発者が気づいたのは、自分に当に必要だったのはprototypeのメソッド拡張などではなく、クエリエンジンだったということ。 coffeescriptが当初、熱狂的に支持された背景はなんだっただろう。今思えば、それはアロー記法とクラス構文だったと思う。 javascriptの関数型への憧れ、prototypeベースの限界 javascript は断じて関数型言語ではないが、他の言語と同じぐらい関数型言語に憧れていたのも、また事実だろう。しかしビルトイン関数が高階関数を要求するデザインにしては function というキーワードはながすぎたし、その function が暗黙に作り出す this スコープの複雑な振る舞いも開発者の悩みの種だった。「あらゆる関数スコープで状態を持つことが"できすぎる"」という割れ窓だった。 ES5

    さよなら CoffeeScript - mizchi's blog
    t-wada
    t-wada 2015/10/02
    "CoffeeScriptの一番の成果は、現実の仕様が追いつかない部分はプリコンパイラで先取りしてもいいんだ、という雰囲気を作ったこと" 偉大な成果だと思う
  • コマンドラインツールをpower-assertとcoffee-scriptでテスト

    Node.js Advent Calendar 2014の10日目の記事として、node.jsのコマンドラインツールをpower-assertとcoffee-scriptによってテストする方法を紹介します。 はじめにPower assertとはassertテスト失敗時の情報を分かりやすく表示できる機能のことで、nodeで利用できるライブラリとして@t_wadaさん作のpower-assertというものがあります。 東京Node学園祭2014にて@t_wadaさんのpower-assertの発表を聴き、アサーション戦争に終止符を打つ!という熱い思いに感銘を受け、自作のツールにも積極的にpower-assertを使いたいと思っています。 記事ではnode.jsでの簡単なコマンドの実装とpower-assertを使ったテストをcoffee-scriptで書く方法について順を追って解説します。

    コマンドラインツールをpower-assertとcoffee-scriptでテスト
    t-wada
    t-wada 2014/12/10
    espower-coffee を使って CoffeeScript から簡単に power-assert を使う方法。コマンドラインツールのテストも楽に書ける。
  • coffee-scriptでpower-assertを使ったテストを書く - ぽっちぽちにしてやんよ

    tl;dr @t_wadaさん神 coffee-scriptでpower-assert使うときはespower-coffeeを使おう あらすじ ちょっと前に話題になっていたpower-assertを使ってみようとしました. こんな感じのを用意しました. assert = require 'power-assert' describe 'array', -> beforeEach -> @arr = [1,2,3] describe '#indexOf()', -> it 'should return index when the value is present', -> zero = 0 two = 2 assert(@arr.indexOf(zero) is two)

    t-wada
    t-wada 2014/06/11
    espower-coffee を開発するきっかけを作ってくださり、ありがとうございました!
  • GitHub - power-assert-js/espower-coffee: power-assert instrumentor for CoffeeScript

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - power-assert-js/espower-coffee: power-assert instrumentor for CoffeeScript
    t-wada
    t-wada 2014/06/10
    CoffeeScript で power-assert を使えるようにするモジュール espower-coffee を MIT ライセンスで公開しました
  • Atomのコード読みまくったので、git-grepの結果へジャンプできる拡張を作ってみた - mizchi's blog

    ここしばらく気が狂ったようにGithubのAtomのコードを読んでた。 コードリーディングの成果はここに貼ってる。まだ更新するかもしれない atom-reading.md で、大体のコードを読んだのはいいとしてなんか作らないと勿体無い気がしたので、エディタ内でgit-grepの結果見てジャンプできるやつ作った。 mizchi/atom-git-grep 自分で作っといてなんだけどくっそ便利だと思う。Sublimeで作りたかった。 プラグインの作り方の大雑把な概要 nodeのモジュール使って、普通のブラウザっぽいUIを組む。基パーツはatom側に揃ってるので継承して使う。 必要なインスタンスはだいたいatom変数以下に入ってる。shift+cmd+I でデバッガ開いて叩きまくるとだいたい察することができる。 プラグインのスケルトン生成 shift+cmd+p でコマンドパレット出して、 P

    Atomのコード読みまくったので、git-grepの結果へジャンプできる拡張を作ってみた - mizchi's blog
    t-wada
    t-wada 2014/05/12
    この瞬発力すばらしいな
  • disnet/contracts.coffee @ GitHub

    Contracts.coffee is a dialect of CoffeeScript with built-in support for contracts. It is inspired by the contract system found in Racket. Contracts let you clearly—even beautifully—express how your code behaves, and free you from writing tons of boilerplate, defensive code. You can think of contracts as assert on steroids. Basics Here’s a simple example of a contract on a function: This says that

    t-wada
    t-wada 2014/01/28
    CoffeeScript で契約による設計を行うためのコンパイラ拡張(ライブラリではない)。 Ruby の contracts gem はこれからインスパイアされて作ったらしい。で、いまはメンテされてないらしい。
  • 「CoffeeScriptの関数は明示的にreturnしてはいけない理由」を探す暇あったら他にやるべきことあるのでは? - mizchi's blog

    CoffeeScriptの関数は明示的にreturnするべき | CreativeStyle 当に遅いのか、それを確かめましょう。 適当にでっちあげたコードです f1 = -> for i in [1, 2, 3] for j in [4, 5, 6] i + j f2 = -> for i in [1, 2, 3] for j in [4, 5, 6] i + j return console.time "f1" for i in [1..100000] then f1() console.timeEnd "f1" console.time "f2" for i in [1..100000] then f2() console.timeEnd "f2" 実行してみます $ coffee hoge.coffee f1: 105ms f2: 4ms 約26倍違う、ということがわかります。

    「CoffeeScriptの関数は明示的にreturnしてはいけない理由」を探す暇あったら他にやるべきことあるのでは? - mizchi's blog
    t-wada
    t-wada 2013/12/17
    Premature Optimization を避けようという話。王道であり、その通りだと思う。 "コードの速度が問題になるなら、その時はじめて最適化すべき"
  • JavaScriptを書け - Write and Run

    ※今日はエイプリルフールではありませんが以下略 なぜ CoffeeScript がダメか - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech なぜ CoffeeScript がダメかって? そりゃ俺が CoffeeScript 使ってたら彼女にフラれちまったからさ。CoffeeScript を書く奴はモテない。それでも CoffeeScript を書くなとは言わねぇよ。でもな、JavaScript を書け。 JavaScript は自分の足を撃ちぬく JavaScriptはマジファッキンな言語だ。クソなところはいくらでもある。朝書き始めたら夜寝る頃には体中に弾丸の穴が空いているような、そんな言語だ。とにかく暴発する。this がどこを指してんのかわからんだとか、var 書き忘れてるだとか、=が一個足らないだとか。でもそんなことはデベロッパーの責任で、それこそ

    JavaScriptを書け - Write and Run
    t-wada
    t-wada 2012/04/05
    "CoffeeScript を使いこなすためには JavaScript をよく知る必要がある。そこで JavaScript に詳しくなるとあら不思議、CoffeeScript なんて要らなくなる" "でも最後に言いたい。JavaScript、お前はクソだ" 熱い
  • CoffeeScriptは自分にとっては有益だった

    programming notes. mainly about JavaScript / jQuery. [@Takazudo] [takazudo@gmail.com] Hint: alt + / CoffeeScriptは是か否かという話は、CoffeeScriptを調べていれば否応なしに引っかかる話題で、自分もそれについてはかなり考えさせられた。何回かこのブログでも書いたとおり、CoffeeScriptいいなーと思ってはいて、ここ1,2ヶ月はずっとCoffeeScriptでJavaScriptを書いているんだけども、いい点はもちろんあるにせよ、書いているうちに、最初は見えてなかった問題も見えてきたりした感じがするので、その点について少し書きます。 なぜ CoffeeScript がよいか - 0xff.toBlog()なぜ CoffeeScript がダメか - 冬通りに消え行く制服

    CoffeeScriptは自分にとっては有益だった
    t-wada
    t-wada 2012/04/03
    CoffeeScript を使いこなした上で感じるメリットデメリット。バランスの取れた意見で参考になる。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    t-wada
    t-wada 2012/04/03
    セコンさんの成長物語や… "新しいアーキテクチャを選択するのはアリだと思うけど、ちゃんとメリットデメリットを考えて選択し、選択する人はきちんと責任を持とう"
  • なぜ CoffeeScript がよいか - 0xff.toBlog()

    なぜ CoffeeScript がダメか - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtechについて。 いや、当はこのタイトルにするほど CoffeeScript 推しているわけではないのですが、まあそういう建前で書きます。 CoffeeScript のメリット 簡潔に書ける 簡潔であるということは、ソースコードにおいて、質ではない部分を書かなくてよいということで、逆に言えば必要なことだけが書かれている状態に近くなります。少し慣れればむしろ読みやすくなる(と思います)。 JavaScript の罠を回避できる var を忘れた変数がグローバル変数になるとか、変数のホイスティングとか、オブジェクトリテラルの最後のカンマとか、 JavaScript の for in は prototype を辿ってしまう問題とか、JavaScript の等価演算子が曖昧すぎて

    t-wada
    t-wada 2012/04/03
    一方 CoffeeScript の美点。書き方が統一され、 js の罠を回避できる。これは大きい。将来的には ES.next に収束していくか (Brendan Eich も coffee 好きみたいだし)
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    t-wada
    t-wada 2012/04/03
    OSSや中長期的メンテでの話。コンパイル必要な件とデバッグが難しいというのはよく言われるけど、"JS の知識がないと書けない" というのは地味に効く (CS だけ覚えればいいというものではない)
  • The Little Book on CoffeeScript

    The Little Book on CoffeeScript

    t-wada
    t-wada 2012/02/06
    "The Little Book on CoffeeScript" の翻訳
  • Harmony Of My Dreams – Brendan Eich

    Continuing in the vein of paren-free, I’d like to present a refreshed vision of JavaScript Harmony. This impressionist exercise is of course not canonical (not yet), but it’s not some random, creepy fanfic either. Something like this could actually happen, likelier and better if done with your help (more on how at the end). I’m blurring the boundaries between Ecma TC39’s current consensus-Harmony,

    t-wada
    t-wada 2012/01/20
    JavaScript の父 Brendan Eich が ES.next や CoffeeScript に関して述べている1年前の(!)エントリ
  • js->coffee移行にあたって考えたこと - Qiita

    個人製作のシステムのjsをcoffeeに完全移行したのでその雑感を書きます。あくまでも個人的な感想です。感じ方は人それぞれです。 ちなみに僕は勉強を兼ねて手で移行させましたが、js2coffeeというツールを使うと自動で変換してくれるらしいです。 先に結論 coffeeの方がいいと思う。 よくある批判に「js書けばいいじゃん」というのがあるけど、極端な話、「アセンブラ書けばいいじゃん」と高級言語が出てきた頃に言ってた人と主張の方向性は似てると思う。極端すぎるけど。 jsには落とし穴がいっぱいある。慣れてもたまにはまる。varを忘れたり「関数の頭で全部のvarを列挙する」というプラクティスに従ってたら、冗長になって管理するコスト高くなったり。 coffeeを使うとそういう余計な問題を意識しなくてよくなるのはとても大きい。 しかもjsでできることの全てをcoffeeでできる。工夫が必要になる場

    js->coffee移行にあたって考えたこと - Qiita
    t-wada
    t-wada 2012/01/20
    ふむふむ "よくある批判に「js書けばいいじゃん」というのがあるけど、極端な話、「アセンブラ書けばいいじゃん」と高級言語が出てきた頃に言ってた人と主張の方向性は似てると思う。極端すぎるけど"
  • How Batman can Help you Build Apps の翻訳 - ma2’s diary

    最近話題?のCoffeeScriptベースのフレームワークBatman.jsのHARRY BRUNDAGE(@harrybrundage)氏による紹介記事「How Batman can Help you Build Apps」を翻訳しました。 元エントリはこれです。 Batman.jsはShopifyによる新しいCoffeeScriptのフレームワークで、開発に長い時間のかかったこいつを紹介できるので当に興奮している。Batman.jsのGitHubはここだ。 Batmanは大きな影響力を持つ素晴らしいフレームワークに満ちた世界に現れた。Sproutcore 2.0やBackbone.jsといった驚くべきプロジェクトの成果がある中で、開発者はどれをいつ使うかどうやって学べばいいのだろう? 新しくてかっこよいツールで遊んでいる時間は限られているので、ここではBatmanと他のフレームワーク

    How Batman can Help you Build Apps の翻訳 - ma2’s diary
    t-wada
    t-wada 2012/01/10
    Batman.js の紹介記事の翻訳
  • 1