タグ

ブックマーク / qiita.com/zoetro (4)

  • Closure Templates 2.4の新機能 - Strict Autoescaping - Qiita

    2014年4月にリリースされたClosure Templates 2.4では、いくつか面白い新機能が追加されています。 前記事ではパラメータの型チェック機能について紹介したので、今回はStrict Autoescapingについて紹介します。 Contextual Autoescapingの廃止 Closure Templatesには、Cotextual Autoescapingという強力なオートエスケープ機能があります。 Closure Templatesのオートエスケープが最強すぎる件 詳しくは上記の記事を参照してもらえるといいのですが、要は出力先がHTMLであるのか、JavaScriptなのか、CSSなのかというコンテキストを自動的に判別して、最適なエスケープをおこなってくれる機能です。 しかしこのContextual Autoescapingは、Closure Templates

    Closure Templates 2.4の新機能 - Strict Autoescaping - Qiita
    efcl
    efcl 2015/01/29
    Closure TemplatesのStrict Autoescaping
  • Protractorの小ネタ - Qiita

    AngularJSリファレンスの落ち穂拾いその3ということで、今回はProtractorの小ネタを紹介したいと思います。 手前味噌ですが、Protractorの説明についてはこちらをごらんください。 Protractor: AngularJSの次世代E2Eテストフレームワーク AngularJSの処理の完了を待たない Protractorには、browser.waitForAngularというAPIが用意されています。 このAPIを呼び出すと、AngularJSの描画処理や、$httpによる通信処理、$timeoutによるタイムアウト待ち処理などが完了するまで待つことができます。 Protractorは、要所要所で内部的にこのbrowser.waitForAngularを呼び出しています。 これによりテストを書く人は、AngularJSの処理が完了するまで待つという処理を書く必要がなくなる

    Protractorの小ネタ - Qiita
    efcl
    efcl 2014/11/09
    AngularJS以外でも使う方法、IEの実行、コンソールログの取得(エラーの判定)
  • Protractor: AngularJSの次世代E2Eテストフレームワーク - Qiita

    AngularJSはテストを重視しているフレームワークだと言われています。 それは、DIが標準搭載されているのでサーバーとの通信などのテストしにくい部分を簡単にモックに差し替えることが出来たり、ユニットテストやEnd to End(E2E)テストのためのフレームワークを持っていたりするからでしょう。 そして、現在標準で含まれているE2Eテストのための機能は、今後ProtractorというSelenium WebDriverJSベースのフレームワークに移行すると発表されています。(AngularJS 1.2 & Beyond) これまでのE2Eテストフレームワークを捨てて新しいものに乗り替えるのには理由があります。 それは、Seleniumをベースにすることで次のような恩恵を受けられるからです。 ブラウザを操作するためのAPIが充実 複数ブラウザでの実行が可能 リモートページのテストが可能

    Protractor: AngularJSの次世代E2Eテストフレームワーク - Qiita
    efcl
    efcl 2014/04/19
    ProtractorのAPIについて。 Angularのレンダリングを待つAPI
  • AngularJSのMVWパターンを理解する - Qiita

    12/4の記事(AngularJSを使ったWebアプリのアーキテクチャ設計)で書くと言ったまま放置していたので、AngularJSのMVCパターンについて書いてみたいと思います。 AngularJSのMVCについては、12/19のお前のAngular.jsはもうMVCではない。と言われないためのTutorialというすばらしい記事がありますが、記事ではもう少し抽象的な内容を扱ってみようかと思います。 MVW(Model-View-Whatever)パターンとは MVCパターンには、MVC2、MVP、MVVMなど数多くの派生パターンがあります。 目的は同じなのに派生パターンがたくさんあるのは、それぞれのプラットフォーム固有の問題(フレームワークの違いや、サーバサイドかクライアントサイドかの違いなど)によってMV*の*の役割が異なるからです。 AngularJSは公式ページで"Superhe

    AngularJSのMVWパターンを理解する - Qiita
    efcl
    efcl 2014/01/22
    AngularJSでのMV*パターンについて。 ControllerとScopeの役割、Controllerの分割
  • 1