Fork me on GitHub

2013-12-16のJS: Firefox 26、JavaScript開発者アンケート結果、MV*ライブラリとセキュリティ

Edit on GitHub 編集履歴を見る

JSer.info #153 - Firefox 26がリリースされました。
主な変更点や追加機能はFirefox 26 for developers - Mozilla | MDNにまとまっていますが、
IndexedDBがユーザーの許可プロンプトなしに一時的なキャッシュのように扱えるなったりしています。

var request = window.indexedDB.open(“toDoList”, {version: 4, storage: “temporary”}); のように”temporary”と指定するとLRUなストレージとなるみたいです。
他にも文字列からURLオブジェクトを作成するURL() constructorposition: stickyの対応等面白い感じの機能が結構ある気がします。
Eventコンストラクタ周りの変更も色々入って、MessageEventコンストラクタ

は以下で簡単にまとめてあります。


DailyJS: JavaScript Developer Survey 2013: Resultsにて、JavaScript開発者アンケートの結果が公開されています。
75%は何らかのテストは書くようになってたり、テストライブラリでは JasmineとMochaが僅差になり、 QUnitとKarmaが並ぶようなりました。
ビルドツールではGruntが60%となり一気に広まった感じが見え、フロントエンドのフレームワークとしてはBackboneとAngularが25%で並ぶ人気のようです。

より細かい分析は自分の今年の目標(RでJavaScript統計解析)なので、過去のデータの流れとかも見比べていきたいです。 


上記でもでてきたAngularJSが中心の話ですが、
MV*ライブラリやテンプレートエンジンのセキュリティについてJSMVCOMFG - To sternly look at JavaScript MVC and Templating Framew…というスライドが公開されています。 
(セキュリティ研究者として著名なmarioさんのスライド)

JSMVCフレームワークと言われるようなライブラリは大抵テンプレートエンジンを持っているので、
その辺とXSSについてやCSPについての内容で興味深いと思います。 


ヘッドライン

firefox ReleaseNote

Firefox 26リリース.
position:sticky のサポート(フラグ付き)、ES6準拠したGenerator(27でイテレータの方も)、URLコンストラクタ、IndexedDBを許可ダイアログなしで一時的なストレージ(LRU)として利用可能になる等

ウェブ開発者に関係ありそうな変更はFirefox 26 for developers - Mozilla | MDNにまとめられていますが、結構面白い追加機能が多い感じがします。 

JavaScript まとめ

JavaScript Developer Survey 2013のアンケート結果が公開された

node.js ReleaseNote

Node v0.10.23リリース.

AngularJS ReleaseNote

AngularJS 1.3リリースに向けて。
IE8のサポート終了、1.2より前に定義されたdeprecated APIの削除、リリースバージョンの命名ルールの変更.

以下の記事でもまとめられています。

アーティクル

WebPlatformAPI browser

ブラウザでより詳細なパフォーマンス計測等に使えるPerformance Timeline、Navigation Timing、Resource Timing、User Timingの仕様と使い方について

web browser

dns-prefetch/prefetch/prerenderについて

node.js

Node.jsのテンプレートエンジンのjadeについてのユースケースから見る細かい機能の解説

CSS firefox

Firefox 29でCSSで変数を扱えるCSS Variablesがサポートされたので、CSS Variablesの解説.

google mail JavaScript

Effectively managing memory at Gmail scale - HTML5 Rocksの翻訳
JavaScriptのメモリ管理とV8の世代別GC.
Gmailのメモリリーク観測と問題点の発見方法

JavaScript AMD testing

ReuqireJSを使ったAMDのテスト手法について。
requirejsのconfigを上手く使って、テストごとに毎回モジュールを読み込むようにしたり、モジュールのモック等を扱う方法

TravisCI node.js webservice

Travis CIでのCI、Coverallsでのコードカバレッジ、Davidでのモジュールバージョンチェックの使い方について

davidは個別のコマンドラインツールとしても使えて便利です。

JavaScript testing

Karmaを使ったワークフローについて.
Travis CIとの連携、コードカバレッジの計測とCoveralls、Karmaのプラグインについて等

AngularJS testing

AngularJSのテスタビリティについて。
プロジェクトの設定、DI、$httpBackendについて

JavaScript testing まとめ

TDDとはなにか、mochaとchaiの使い方、sinon.jsの使い方等。
JavaScriptのテストについて概要と使い方がまとまってる

backbone.js

Backbone.jsでのアンチパターンについて

animation jQuery

イージングの種類と動作のまとめ

JavaScript browser event

MessageEvent型のevetを使ったメッセージングについて.
dispatchEventで発火させる方法とpostMessageとの違いについて等

JavaScript DOM

Composition EventsやDOMContentLoaded、querySelector、ES5でのArray拡張、Property descriptors、ネイティブオブジェクトの拡張などについてまとめ

スライド、動画関係

JavaScript MVC セキュリティ スライド

data-*属性にはXSSフィルターが効かないため、Knockoutのような仕組みだとXSSを検知しにくい。
テンプレートとXSS、AngularJSのCSPモード、Chrome Packaged Appについて.
MV*のセキュリティメトリクス

合わせて読みたい

Grunt スライド tutorial

Gruntについてのチュートリアル的なスライド.
Gruntの使い方、設定方法をステップごとに紹介してて分かりやすい。
タスクの紹介やタスクの書き方について

 
ツール、ライブラリ関係

JSON HTTP サーバー testing library node.js

https://github.com/cyberagent/node-easymock みたいにJSONファイル or JSオブジェクトを元にモックサーバを立てられるNodeモジュール

Sass testing

SassでBDDライクなテストを書けるライブラリ

書籍関係

HTML5 book

HTML5タグについてのカルタ付き書籍

HTML5 book

2013年12月28日発売
広義のHTML5、Yahoo!Japan本

この記事へ修正リクエストをする
JSer.info Slackに参加する