タグ

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

  • potatotips #7 at DeNA で Power Assert について発表しました - Islands in the byte stream (legacy)

    potatotips #7 at DeNA を開催しました! 今回も面白い話が多く大変勉強になりました。 さて!私はここ二週間ほど開発していたAndroid Power Assertについて発表しました。 https://speakerdeck.com/gfx/jun-hapower-assertwozhi-tuteiruka-number-potatotips https://github.com/gfx/android-power-assert-plugin まだ出力がイマイチな部分はありますが、とりあえず仕事上の自分のプロジェクトで使い始めました。実際、assertが信頼できるというのはかなり安心感があります。これはもっと使えるように、これからも改善していきたいですね。

    potatotips #7 at DeNA で Power Assert について発表しました - Islands in the byte stream (legacy)
  • md2inaoのインストールが簡単になりました - Islands in the byte stream (legacy)

    Module::Installをつかっていたり、cartonをつかっていたり依存モジュールがPerl 5.18でコケたりしてPerler以外にとってインストールが難しい状態でしたが、このたび整理してCPANにリリースしました。 これでPerler以外にとっても簡単にインストールできるようになったと思いますのでお試しください。 # webからcpanm(CPANパッケージマネージャ)を読み込んでローカルにインストール # 権限の問題でインストールできなければ | perl - --sudo Text::Md2Inao で curl -L http://cpanmin.us | perl - Text::Md2Inao https://github.com/naoya/md2inao

    md2inaoのインストールが簡単になりました - Islands in the byte stream (legacy)
    ama-ch
    ama-ch 2014/03/05
    ひょー!
  • JSX minifierの圧縮性能 - Islands in the byte stream (legacy)

    JSX compilerのソースコードで検証してみました*1。 Mode Size(KiB) Ratio original 1507 1.00 JSX minifier 277 0.18 Closure Compiler/D 602 0.40 Closure Compiler/A 301 0.20 対象にしたソースコードがJSXから変換したJSというやや特殊な状況ですが、Closure CompilerのADVANCED_OPTIMIZATIONSよりもサイズが小さくなりました。また、ADVANCED_OPTIMIZATIONSと異なりJSX minifier*2はコードを破壊する圧縮は一切行わないので、圧縮したらコードが動かなくなるということが非常に起こりにくくなっています。しかしそれでも、JSXの豊富な型情報を使って圧縮すればADVANCED_OPTIMIZATIONSよりもサイズを小

    JSX minifierの圧縮性能 - Islands in the byte stream (legacy)
  • なぜ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)
    ama-ch
    ama-ch 2013/01/28
  • JSXの学び方 - Islands in the byte stream (legacy)

    JSXをどうやって学べばよいか、メモしておきます。 言語仕様 言語仕様は jsx.github.com にドキュメントがあるほか、実例としては言語仕様のテストである JSX/t/run/*.jsx が参考になります。特に JSX/t/run/*.jsx は実際に開発するとなると頻繁にgrep することになると思います。 http://jsx.github.com/doc.html https://github.com/jsx/JSX/tree/master/t/run また、組み込み関数の挙動はJavaScriptと同じなのでリファレンスとしてはMDNがいいでしょうし、実際のシグネチャは lib/built-in.jsx を見るといいでしょう。 DOM操作 / ブラウザAPI DOM用APIは、"js/web.jsx" をimportする必要があること、windowやdocumentがグロ

    JSXの学び方 - Islands in the byte stream (legacy)
    ama-ch
    ama-ch 2012/09/03
  • source-mapを可視化する - Islands in the byte stream (legacy)

    source-mapは非常に期待のできる技術だが、軽く仕様を読んでもどのように動くのかよくわからない。そこで、souce-mapを可視化するツールを作ってみた。source-mapの処理にはmozillaのJavaScriptによる実装を使った。 左がオリジナルのソースコード、右がclosure compilerで最適化したコードである。具体的なコマンドラインオプションは以下のrepositoryのMakefile参照のこと。要素から要素への線はcanvasを利用した。ChromeとFirefoxでのみ確認したので、他のブラウザではうまく表示できないかもしれない。 demo repository 改良の余地はあるものの、とりあえずこれでデバッグできるようになった。

    source-mapを可視化する - Islands in the byte stream (legacy)
  • 1