<commit_before>---
title: "2014-12-23のJS: 開発者アンケート結果、Protractorの仕組み、パフォーマンスチューニング"
author: azu
layout: post
date : 2014-12-23T18:26
category: JSer
tags:
    - アンケート
    - E2E
    - Performance
    - JavaScript
    - Angular

---

JSer.info #207 - [DailyJS](http://dailyjs.com/ "DailyJS: A JavaScript Blog")が毎年この時期にやっているアンケートである[JavaScript Developer Survey 2014](http://dailyjs.com/2014/12/16/javascript-survey-results/ "DailyJS: JavaScript Developer Survey 2014: Results")([翻訳](http://panda.node.ws/?p=1620 "翻訳"))の結果が公開されました。

毎年微妙に質問や回答方法(複数可となってたり)が異なるため、単純に比較はしにくい設問もありますが、
[去年](http://dailyjs.com/2013/12/12/javascript-survey-results/ "DailyJS: JavaScript Developer Survey 2013: Results")はGrunt一強だったビルドツールについてがGulpが35%、Gruntは47%となっていたり見ていて面白い変化も多いです。

----

[JavaScript - こわくない Protractor - Qiita](http://qiita.com/shuhei/items/6973fe694d29a193f224 "JavaScript - こわくない Protractor - Qiita")という記事では、[Protractor](https://github.com/angular/protractor "Protractor")というE2Eテストツールがどのようにして[WebDriverJS](https://code.google.com/p/selenium/wiki/WebDriverJs "WebDriverJS")を扱ってテストしているのかについて詳しく書かれています。

テスト時にSeleniumでブラウザを操作しているため、操作から実際の結果までに間があったり、その結果をassertするタイミングが難しかったり、非同期とした場合コードが複雑になったりしやすいです。

そのため[色々なライブラリ](https://github.com/groupon-testium/testium "groupon-testium/testium")がこの[WebDriver protocolのラッパ](https://theintern.github.io/leadfoot/ "Leadfoot docs: Index")を作ったり、それらのラッパを使って直感的に[テストを書けるような記法](http://nightwatchjs.org/ "Nightwatch.js | Node.js powered End-to-End testing framework")を考えたりしています。

Protractorも同じように[WebDriverJS](https://code.google.com/p/selenium/wiki/WebDriverJs "WebDriverJS")というラッパを使い、`ElementFinder`という概念を導入したり、Promiseで非同期に処理されつつ直感的に書けるようにしているという話が書かれています。

----

[Effective web performance tuning for smartphone](http://www.slideshare.net/dena_study/effective-web-performance-tuning-for-smartphone "Effective web performance tuning for smartphone")というスライドではスマートフォン向けウェブアプリのパフォーマンス改善について実践的な内容が紹介されています。

実際にどうやって問題を見つけて、計測して、何を指標にして改善していったかが書かれていて、
どうやってパフォーマンス改善に取り組んでいけばいいのかの参考になる点も多いと思います。

以下もあわせて

- [2014年のWebパフォーマンスふりかえり - 来年以降の期待etc ::ハブろぐ](http://havelog.ayumusato.com/develop/performance/e637-web_performance_2014.html "2014年のWebパフォーマンスふりかえり - 来年以降の期待etc ::ハブろぐ")

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Node v0.10.34 (Stable)
[blog.nodejs.org/2014/12/17/node-v0-10-34-stable](http://blog.nodejs.org/2014/12/17/node-v0-10-34-stable "Node v0.10.34 (Stable)")<commit_msg>結果の例を追加した<commit_after>---
title: "2014-12-23のJS: 開発者アンケート結果、Protractorの仕組み、パフォーマンスチューニング"
author: azu
layout: post
date : 2014-12-23T18:26
category: JSer
tags:
    - アンケート
    - E2E
    - Performance
    - JavaScript
    - Angular

---

JSer.info #207 - [DailyJS](http://dailyjs.com/ "DailyJS: A JavaScript Blog")が毎年この時期にやっているアンケートである[JavaScript Developer Survey 2014](http://dailyjs.com/2014/12/16/javascript-survey-results/ "DailyJS: JavaScript Developer Survey 2014: Results")([翻訳](http://panda.node.ws/?p=1620 "翻訳"))の結果が公開されました。

毎年微妙に質問や回答方法(複数可となってたり)が異なるため、単純に比較はしにくい設問もありますが、
[去年](http://dailyjs.com/2013/12/12/javascript-survey-results/ "DailyJS: JavaScript Developer Survey 2013: Results")はGrunt一強だったビルドツールについてがGulpが35%、Gruntは47%となっていたり見ていて面白い変化も多いです。

<div class="kwout" style="text-align: center;"><a href="http://dailyjs.com/files/2014-survey-summary.pdf"><img src="http://kwout.com/cutout/s/ar/v6/t94_bor.jpg" alt="http://dailyjs.com/files/2014-survey-summary.pdf" title="JavaScript Developer Survey 2014 - Google Forms - 2014-survey-summary.pdf" width="554" height="357" style="border: none;" /></a><p style="margin-top: 10px; text-align: center;"><a href="http://dailyjs.com/files/2014-survey-summary.pdf">2014-survey-summary.pdf</a> via <a href="http://dailyjs.com/2014/12/16/javascript-survey-results/">DailyJS: JavaScript Developer Survey 2014: Results</a></p></div>

----

[JavaScript - こわくない Protractor - Qiita](http://qiita.com/shuhei/items/6973fe694d29a193f224 "JavaScript - こわくない Protractor - Qiita")という記事では、[Protractor](https://github.com/angular/protractor "Protractor")というE2Eテストツールがどのようにして[WebDriverJS](https://code.google.com/p/selenium/wiki/WebDriverJs "WebDriverJS")を扱ってテストしているのかについて詳しく書かれています。

テスト時にSeleniumでブラウザを操作しているため、操作から実際の結果までに間があったり、その結果をassertするタイミングが難しかったり、非同期とした場合コードが複雑になったりしやすいです。

そのため[色々なライブラリ](https://github.com/groupon-testium/testium "groupon-testium/testium")がこの[WebDriver protocolのラッパ](https://theintern.github.io/leadfoot/ "Leadfoot docs: Index")を作ったり、それらのラッパを使って直感的に[テストを書けるような記法](http://nightwatchjs.org/ "Nightwatch.js | Node.js powered End-to-End testing framework")を考えたりしています。

Protractorも同じように[WebDriverJS](https://code.google.com/p/selenium/wiki/WebDriverJs "WebDriverJS")というラッパを使い、`ElementFinder`という概念を導入したり、Promiseで非同期に処理されつつ直感的に書けるようにしているという話が書かれています。

----

[Effective web performance tuning for smartphone](http://www.slideshare.net/dena_study/effective-web-performance-tuning-for-smartphone "Effective web performance tuning for smartphone")というスライドではスマートフォン向けウェブアプリのパフォーマンス改善について実践的な内容が紹介されています。

実際にどうやって問題を見つけて、計測して、何を指標にして改善していったかが書かれていて、
どうやってパフォーマンス改善に取り組んでいけばいいのかの参考になる点も多いと思います。

以下もあわせて

- [2014年のWebパフォーマンスふりかえり - 来年以降の期待etc ::ハブろぐ](http://havelog.ayumusato.com/develop/performance/e637-web_performance_2014.html "2014年のWebパフォーマンスふりかえり - 来年以降の期待etc ::ハブろぐ")

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Node v0.10.34 (Stable)
[blog.nodejs.org/2014/12/17/node-v0-10-34-stable](http://blog.nodejs.org/2014/12/17/node-v0-10-34-stable "Node v0.10.34 (Stable)")
{'fraction_non_alphanumeric': 0.14706959706959707, 'fraction_numerical': 0.055860805860805864, 'mean_word_length': 6.399728997289973, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 18, 'https://': 10, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2494018', 'n_tokens_mistral': 3142, 'n_tokens_neox': 2703, 'n_words': 227}