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() constructorやposition: 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についての内容で興味深いと思います。
MozillaZine.jp » Blog Archive » Firefox 26 がリリースされた
http://mozillazine.jp/?p=3951
Firefox 26リリース.
position:sticky のサポート(フラグ付き)、ES6準拠したGenerator(27でイテレータの方
も)、URLコンストラクタ、IndexedDBを許可ダイアログなしで一時的なストレージ(LRU)として利用可能になる等
ウェブ開発者に関係ありそうな変更はFirefox 26 for developers - Mozilla | MDNにまとめられていますが、結構面白い追加機能が多い感じがします。
- Masato Kinugawa Security Blog: CVE-2013-5612: Firefoxのcharsetの継承によるXSS
- Firefox 26 が正式リリース、レスポンシブモードに追加機能など | WWW WATCH
- Firefox Nightly が position: sticky; に対応 | WWW WATCH
- Firefox 27 & 28 サイト互換性情報 | Mozilla Developer Street (modest)
DailyJS: JavaScript Developer Survey 2013: Results
http://dailyjs.com/2013/12/12/javascript-survey-results/
JavaScript Developer Survey 2013のアンケート結果が公開された
Node v0.10.23 (Stable)
http://blog.nodejs.org/2013/12/11/node-v0-10-23-stable/
Node v0.10.23リリース.
AngularJS 1.3: a new release approaches | AngularJS
http://blog.angularjs.org/2013/12/angularjs-13-new-release-approaches.html
AngularJS 1.3リリースに向けて。
IE8のサポート終了、1.2より前に定義されたdeprecated APIの削除、リリースバージョンの命名ルールの変更.
以下の記事でもまとめられています。
Understanding the Real-World Performance of your Web Application Across IE11 and Other Browsers - IEBlog - Site Home - MSDN Blogs
http://blogs.msdn.com/b/ie/archive/2013/12/12/understanding-the-real-world-performance-of-your-web-application-across-ie11-and-other-browsers.aspx
ブラウザでより詳細なパフォーマンス計測等に使えるPerformance Timeline、Navigation Timing、Resource Timing、User Timingの仕様と使い方について
サイトを先読みに対応させる - ういはるかぜの化学 - subtech
http://subtech.g.hatena.ne.jp/mayuki/20131209/1386606563
dns-prefetch/prefetch/prerenderについて
jadeを知る - 株式会社ネクスト エンジニアBlog
http://nextdeveloper.hatenablog.com/entry/2013/12/10/180457
Node.jsのテンプレートエンジンのjadeについてのユースケースから見る細かい機能の解説
CSS Variables in Firefox Nightly ✩ Mozilla Hacks – the Web developer blog
https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/
Firefox 29でCSSで変数を扱えるCSS Variablesがサポートされたので、CSS Variablesの解説.
Gmail スケールの効率的メモリ管理 - HTML5 Rocks
http://www.html5rocks.com/ja/tutorials/memory/effectivemanagement/
Effectively managing memory at Gmail scale - HTML5 Rocksの翻訳
JavaScriptのメモリ管理とV8の世代別GC.
Gmailのメモリリーク観測と問題点の発見方法
Effective Unit Testing with AMD - Bocoup
http://weblog.bocoup.com/effective-unit-testing-with-amd/
ReuqireJSを使ったAMDのテスト手法について。
requirejsのconfigを上手く使って、テストごとに毎回モジュールを読み込むようにしたり、モジュールのモック等を扱う方法
Node.jsの開発を超速化するGitHub連携 三種の神器 - teppeis blog
http://teppeis.hatenablog.com/entry/2013/12/node-github
Travis CIでのCI、Coverallsでのコードカバレッジ、Davidでのモジュールバージョンチェックの使い方について
davidは個別のコマンドラインツールとしても使えて便利です。
KarmaでTDD + Travis CI + Coverallsなイケてるワークフロー - はてブロ@ama-ch
http://ama-ch.hatenablog.com/entry/2013/12/16/075512
Karmaを使ったワークフローについて.
Travis CIとの連携、コードカバレッジの計測とCoveralls、Karmaのプラグインについて等
How to Unit Test Controllers In AngularJS Without Setting Your Hair On Fire — Nathan LeClaire
http://nathanleclaire.com/blog/2013/12/13/how-to-unit-test-controllers-in-angularjs-without-setting-your-hair-on-fire/
AngularJSのテスタビリティについて。
プロジェクトの設定、DI、$httpBackendについて
jsでTDD!MochaとChaiとsinon.js入門 - @lxyuma BLOG
http://lxyuma.hatenablog.com/entry/2013/12/15/211637
TDDとはなにか、mochaとchaiの使い方、sinon.jsの使い方等。
JavaScriptのテストについて概要と使い方がまとまってる
Backbone Antipatterns | Shine Technologies
http://blog.shinetech.com/2013/11/26/backbone-antipatterns/
Backbone.jsでのアンチパターンについて
これだけは抑えておきたい! jQuery や CSS の「イージング」の基礎知識 | KAYAC DESIGNER’S BLOG - デザインやマークアップの話
http://design.kayac.com/topics/2013/11/easing-basics.php
イージングの種類と動作のまとめ
MessageEventコンストラクタとpostMessageとWeb messagingについて | Web scratch
http://efcl.info/2013/1215/res3535/
MessageEvent型のevetを使ったメッセージングについて.
dispatchEventで発火させる方法とpostMessageとの違いについて等
ちょっと未来のJavaScript - Thujikun blog
http://thujikun.github.io/blog/2013/12/14/ie
Composition EventsやDOMContentLoaded、querySelector、ES5でのArray拡張、Property descriptors、ネイティブオブジェクトの拡張などについてまとめ
JSMVCOMFG - To sternly look at JavaScript MVC and Templating Framew…
http://www.slideshare.net/x00mario/jsmvcomfg-to-sternly-look-at-javascript-mvc-and-templating-frameworks
data-*属性にはXSSフィルターが効かないため、Knockoutのような仕組みだとXSSを検知しにくい。
テンプレートとXSS、AngularJSのCSPモード、Chrome Packaged Appについて.
MV*のセキュリティメトリクス
合わせて読みたい
- mustache-security - A wiki dedicated to JavaScript MVC security pitfalls - Google Project Hosting
- 3分で分かるAngularJSセキュリティ - teppeis blog
grunt.js - automate all the things!1!! // Speaker Deck
https://speakerdeck.com/pangratz/grunt-dot-js-automate-all-the-things-1
Gruntについてのチュートリアル的なスライド.
Gruntの使い方、設定方法をステップごとに紹介してて分かりやすい。
タスクの紹介やタスクの書き方について
typicode/json-server
https://github.com/typicode/json-server
https://github.com/cyberagent/node-easymock みたいにJSONファイル or JSオブジェクトを元にモックサーバを立てられるNodeモジュール
Bootcamp
http://tctcl.github.io/bootcamp/
SassでBDDライクなテストを書けるライブラリ
Amazon: カルタ付 HTML5マークアップ 現場で使える最短攻略ガイド (WEB PROFESSIONAL) [大型本]: 浜俊太朗
http://www.amazon.co.jp/o/ASIN/4048660705/amazon0abac-22/ref=nosim
HTML5タグについてのカルタ付き書籍
HTML5テクニックバイブル:書籍案内|技術評論社
http://gihyo.jp/book/2014/978-4-7741-6193-8
2013年12月28日発売
広義のHTML5、Yahoo!Japan本