Fork me on GitHub

2014-02-24のJS: Gruntfileのメンテナンス、Promisesアンチパターン、ES6 Fiddle

Edit on GitHub 編集履歴を見る

JSer.info #163 - Maintainable Gruntfile.js - from scratchという記事ではGruntの設定ファイルであるGruntfile.jsの管理やタスクの実行速度の改善についてまとめられています。

最近は責務が大きすぎるGruntをどうにかする的な記事が増えてきた気がしますし、PintのようにGrunt自体をラップしてより効率的に管理/実行できるようにする試みや、Broccoliのように高速なビルドに主眼を置いた新しいビルドツール等も出てきています。

Broccoliはまだαのαな感じですがBroccoli: First Beta Releaseに書かれているファイルではなくTreeをベースにしたアーキテクチャ等は面白い感じです。


Promise Anti-patternsという記事では、Promisesを使ってコード書いた時によくありそうなミスやアンチパターンについて書かれています。

最近書かれたES6のPromisesについての記事をあなたが読むべきJavaScript Promises | JSer.infoでまとめて紹介してあるので、こちらも一緒に読むといいかと思います。


ES6 Fiddleというサービスでは、JSFiddleよりかなり簡易ですが、ECMAScript6の文法で書かれたコードを実行/共有することが出来ます。

Traceurを使って変換されたものが実行されるため、ブラウザがまだサポートされてない場合でもある程度実行出来ます。(PromisesとかもTraceurでサポートされてるので実行出来ます)

なので、ES6 FiddleというよりはTraceur Fiddleという感じですが、ES6のコードがどんな結果になるのかが見えて便利です。


ヘッドライン

DOMJavaScriptlibraryReleaseNote

React v0.9リリース

Test Utilitiesの追加、JSXのwhite spaceの扱いの変更

node.jsReleaseNote

Koa 0.5.0リリース。

node.jsReleaseNote

Node v0.10.26リリース。

アーティクル

GruntTips

Gruntの設定ファイルのメンテナンスについての記事

load-grunt-configを使ったタスクのファイル分割、time-gruntを使った実行時間の計測、タスクにキャッシュ機構の追加や並列実行などを利用して実行時間の改善などについて

JavaScriptTips

strict modeにすることで、コーディングミスした時にエラー(構文エラーor実行時エラー)として検出しやすくなったりすることについて。

JavaScriptURL

JavaScriptでシンプルなルーティングライブラリを書いてみるチュートリアル

JavaScript

ES5で追加されたmapやeach等の配列の拡張メソッドについて。

使い方とpolyfillの実装について書かれている。

JavaScriptTools動画

JavaScriptパッケージ管理ツールのComponentについてのチュートリアル。

node.jsstreamtutorial

node streamを使ってCSVをJSONに変換するTransform streamのチュートリアル。

PromisesJavaScript

Promisesを使った非同期処理のコード例とpromiseのライブラリの紹介。

PromisesデザインパターンJavaScript

Promisesのアンチパターンについて。

ネストしたpromise、 例外をcatchできないpromise、配列の中身に対してそれぞれ非同期処理するケース、分岐とpromise、過剰なエラーハンドリング、無駄なpromise

スライド、動画関係

JavaScriptlibrary

カウントベースのフローコントロールライブラリ

https://github.com/uupaa/Task.js についてのスライド

CSS動画

CSS animation eventについてのスクリーンキャスト

サイト、サービス

JavaScriptECMAScriptTools

ECMAScript6のコードを実行出来るJSFiddle的なサービス。

Traceurを使ったコンパイル、JSHintを使ったLint等が行われるのでブラウザが直接サポートされて無くても実行が出来る

ソフトウェア、ツール、ライブラリ関係

GruntTools

Gruntラッパーなコマンドラインツール。

タスクの設定ファイル分割、タスクの依存関係を元に可能ならタスクの並列実行を行えるようにする。

browser画像Tools

PhantomJSを使った指定サイズのスクリーンショットをまとめて取るツール

https://github.com/juliangruber/review と似た感じ

JavaScriptTools

高速なインクリメンタルビルドを目的としてGrunt等のようなビルドツール。

ビルド対象をファイルではなく tree として扱う、pluginもtreeとして扱う。キャッシュの仕組みなども入っている。

JavaScripttestinglibrary

AngularのDIライブラリ。

ライブラリのコード自体もES6で書かれていてTraceurで変換してる。

JavaScriptperformancelibrary

UserTiming APIのpolyfillライブラリ

HTMLaudioAPIlibrary

HTMLVideo, HTMLAudio, WebAudioのAPIを同じインターフェースで扱えるライブラリ

firefoxwebdrivernode.js

Firefoxのプロファイルを作ったり、既存のプロファイルを利用したり、アドオンを追加等プロファイルを扱えるNodeモジュール。WebDriverと合わせて使う感じ

書籍関係

dartbook

Dart言語について詳しく書かれたマニュアル。

基本的な文法から幅広く解説されてる

AngularJSbookデザインパターン

AngularJSでのデザインパターンについての書籍

JavaScriptbook

Web Platform APIsのPolyfillについての書籍。

canvas動画JavaScriptbook

2014年3月10日発売

JavaScriptを使った画像/動画処理について初心者向けに解説した書籍。

動画の処理をベースに書かれているとの事

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