javascript
tsfmtを使用する。gulp-tsfmtはtsfmtモジュールを使わず独自にフォーマットロジックを組んでいるっぽい。 なのでgulp-shellを使ってtsfmtを実行することにした。 最初は$(npm bin)/tsfmt -r ./**/*.tsをgulpから実行すればいいのかと思ったが、フォーマット…
file watcherを使うとファイルが変更される度に自動でコンパイルしてくれる。 こんな機能あったとは。今まで自分でcoffee -wcしてました。 File Watchers in WebStorm/PhpStorm 6 (a.k.a. “Background Tasks”) | WebStorm & PhpStorm Blog
以下のようにfile.walkSyncを使うとrecursiveにファイルを探すことができる。これ便利だなあ。 Mocha = require('mocha') require "should" require "long-stack-traces" path = require "path" fs = require "fs" file = require "file" _ = require "under…
2012-09-02 - 日々精進で紹介した方法だと、testフォルダ直下に置いたJSファイルしかテスト対象にならない。 テスト対象のファイルを指定したい場合、 Run/Debug ConfigurationのApplication Parameterにテスト対象のファイルパスを書けばいいだろう、と思い…
prototypeプロパティに入ってると思ってた。。 参考:prototype と __proto__ - フリーフォーム フリークアウト
sinon.useFakeTimersをどこかのテストケースで使ってる場合、後処理でclock.restore()しとかないとJS内部の時計が進まなくなる。 よってsetTimeoutに渡した関数が実行されなくなる。 useFakeTimersとrestoreはセットで書くようにしないとだめだな。。もしく…
下記のようなコードでfooプロパティをオーバーライドした場合、 class Super foo: => console.log "super" class Sub extends Super foo: ["test"] s = new Sub console.log s.foo.toString() ログに出力される結果は以下のようになる。 function (){ return…
testacularでAngularのe2eテストをデバッグ実行すると、debug.htmlを表示することになるがこの画面が文字化けしてる。 これはHTMLの中に文字コード指定が無いから。 以下を/usr/local/share/npm/lib/node_modules/testacular/static/debug.htmlのヘッダ部に…
今はAltJSとしてCoffeescriptを使ってるけど、やっぱり静的に型付けしたい。。 型がないと以下の問題がある。 ・影響範囲の調査が難しい ・このオブジェクトがどんなデータを持っていて、何が出来るかがわかりづらい。よってコードを読みづらい・書きづらい…
サポートされたばかりということもあり、 testacularでRequirejsを使ったモジュールのテストを書くのは難しい。てか情報が少ない。 ヒントはほぼ下記からのリンクのみ。 https://github.com/vojtajina/testacular/issues/15 はまったポイントは以下。 ・Erro…
JSのテストドライバーはbuster.js、jsTestDriver、testacularなど色々あるけど、testacularを使ってみることにした。理由は以下。 ・WebStormと相性がいい(これは公式サポートされてるjsTestDriverの方が上か) ・AngularJSと相性がいい ・チュートリアル動…
前回勉強会で発表した時はdeck.jsで発表資料を作ったけど、今回はreveal.jsを使ってみた。 使っててreveal.jsの方が優れていると思ったところは以下。 ・markdownが使える 今回の発表資料では使ってないけど。。次回は使いたい ・下と右の2方向に次のスライ…
テスティングFWのjasmineとmochaのどっちを使おうか迷ったので比較記事を調査。 Jasmine vs. Mocha Javascript testing for Rails 3.1+ - Stack Overflow 記事の内容は以下。 自分的にはブラウザでのテストにはJasmine、Node.jsでのテストはMochaがいい気が…
webstormを使っているとすごく重くなって頻繁に固まることがある。 ウィンドウの右下のメモリ使用量を見るとMax近くになっている。たぶんメモリリークしてるんだろう。 一度終了させると軽くなる。 最近のPCは電源落とさないからちょっとでもリークしてると…
今度【増員】【TechBuzz】第2回.js系勉強会 〜Backbone.js 大集合!/ Backbone.js+Ruby On Rails + CoffeeScriptではじめるモダンWebアプリケーション / Backbone.IOでつくるリアルタイムアプリ / MVCフレームワークの選択基準と主要フレームワークの特徴〜 …
JSはファイル間の依存関係を管理する仕組みがないので、RequireJSなどを使って管理する。 このモジュールライブラリが意外といっぱいあるらしい。 CoffeeScript時代のモジュールシステムの選び方ガイド | netswitch! ライブラリの調査結果は上記がよくまとま…
・このチュートリアルすごい簡単かつStepByStepで非常にわかりやすかった。最初に写経すべき。 Hello Backbone.js Tutorial ・これは二つ目の課題にいいかも。 backbone-localstorage.js
どうもまだコールバックしまくりのスタイルになれないので以下のような間違いをしてしまった。 ↓正しい var containsAll = function(ary1, ary2){ var result = true; _(ary2).each(function(el){ if (!_.contains(ary1, el)) result = false; }); return re…
_(array).eachをbreakする方法は無いらしい。 その代わり、_(array).forEachを使ってコールバックの中でfalseを返すとbreakできる。 eachとforEachは同じ仕様にしてほしいなあ。。 参考:javascript - how to break the .each function in underscore.js - S…