タグ

ブックマーク / gfx.hatenadiary.org (4)

  • Bakusoku Iterations Tokyoで話したりrebuild.fmで話したりしました - Islands in the byte stream (legacy)

    Mobile First Development at COOKPAD ブランチングモデルの話で、頻繁にデプロイするweb appではgithub-flowを、リリース間隔が長いmobile appではgit-flow(を簡略化したもの)を使ってるという話です。このへんはウェブかアプリかというよりは、kazuhoさんの指摘するように配布形態に依存するというのが実際のところでしょうね。 s] つまり、web appでもリリース間隔が1~2週間なのであればgit-flowを採用するほうが安定した開発ができると。その後 develop ブランチなんてオワコン という議論もありましたが、一概に何がベストとはいえないのでそれぞれのプロジェクトのそれぞれの時期によって最適なブランチングモデルを検討するのがいいと思います。 Rebuild #45 Rebuild 45: Remembering WSDL

    Bakusoku Iterations Tokyoで話したりrebuild.fmで話したりしました - Islands in the byte stream (legacy)
    ryshinoz
    ryshinoz 2014/05/31
  • なぜJSXをセルフホスティングすべきなのか - Islands in the byte stream (legacy)

    JSX をセルフホスティングしてnpm packageとしてリリースしました。 https://npmjs.org/package/jsx さてJSXコンパイラをJSXで書きなおしたわけですが、これは主にJSXコンパイラの質を高めるためです。JSXはJavaScriptと比較すると大規模な開発に向いている、というのがJSX開発チームの主張です。であれば、JSXコンパイラをJSXで書くことにより質を高められるはずです。事実、今回のセルフホスティングでtypoやリファクタ時のエンバグ、関数の引数間違いなどによるバグがいくつも見つかり改修されました。セルフホスティングはコンパイラの品質を高める一助になったといえます。 またもうひとつ、今回のJSXコンパイラの開発はJSXによる開発であり、この過程で得た知見が数多くあります。これにより、たとえばasの失敗がnullを返すのではなく例外を返すようにす

    なぜJSXをセルフホスティングすべきなのか - Islands in the byte stream (legacy)
  • Unit tests for JSX - Islands in the byte stream (legacy)

    いずれJSX web siteにも載せますが、JSXには非同期テストにも対応したユニットテスト・フレームワーク、test-case.jsxが標準で添付されています。t/lib/*.jsxはこのtest-case.jsxでテストされています。 使い方は以下のようにTestCaseを継承して、"test"で始まるメソッドを並べるというJUnit風のものになっています。 非同期テストを行う場合は、TestCase#async()のコールバックの中でテストを行い、AsyncContext#done()でテストの終了を通知するというインターフェイスになっています。 import "test-case.jsx"; import "timer.jsx"; class _Test extends TestCase { // synchrounous tests function testClearTime

    Unit tests for JSX - Islands in the byte stream (legacy)
  • JavaScriptのthisの扱いが難しすぎる件 - Islands in the byte stream (legacy)

    [再々追記] (o.f = o.f)()の結果は右辺値・左辺値というルールで説明できるようです。コメント欄参照のこと。 [/再々追記] [再追記] これの解釈はどうすれば…。 [/再追記] [追記] ([o.f][0])() -> o.f は ([o.f, "a"][0])() とすると分かりやすいが、単にレシーバがArrayになっているだけらしい。 また (o.f)()と(tmp = o.f)の違いはブコメで指摘されているとおり、 o.f が (C++的な意味での)参照を返すと考えると理解できる。 [/追記] だれかこの現象を説明できる人はいませんか。私には難しすぎます。 In node: #!/usr/bin/env node var o = {}, tmp; o.f = function() { console.log(this.toString()) }; o.toString =

    JavaScriptのthisの扱いが難しすぎる件 - Islands in the byte stream (legacy)
  • 1