登壇した初夏のJavaScript祭2016 の資料アップしました。

先日は初夏のJavaScript祭2016「JAVASCRIPTでデバイス連携してみて出会える技術!広がる知識!」で登壇をしてまいりました。ありがとうございました。

デバイス連携に触れることで、周辺技術に知見が深まってJavaScript楽しいよという話をしまして。普段のWeb開発だとなかなか触れない、WebSocket/MQTTリアルタイム技術・ハード制御そのもの・オススメWebサービスなどお伝えしました。

続きを読む →

私の記事のArduino・Raspberry Pi・littleBits・Javascriptでのデバイス連携記事を2015年ぶんでピックアップしてみました

それなりにいろいろと記事を書いていて、私の記事のArduino・Raspberry Pi・littleBits・Javascriptでのデバイス連携記事を2015年ぶんでピックアップしてみました。

細かな作り方や実際のコードなど、登壇時になかなか掘り下げて話せない時もあるので、コレ読むと良さそうなのを中心に選んでみます。

続きを読む →

Node.jsでFunction.bind関数で非同期処理がだいぶ書きやすくなった話

皆様お疲れ様です。最近、Node.jsを書くことが多いのですが、Node.jsに標準で入っているFunction.bind関数を利用することで非同期処理がだいぶ書きやすくなった話を書いておきます。

Node.jsでは、性質上、非同期処理主体になるので、Functionのネストが深くなってしまい結構コードが追いにくくなります(自分で)。しかも、あまり深くなっていくと、自分の意図しないタイミングで動いてしまうこともあり、悩ましい。

もちろん、ネストせずに関数の参照で移すこともできなくはないですが、結局JavaScriptのスコープに影響を受けてしまうので、それはそれで組みにくくなるので苦しいところです。

asyncモジュール

こういう悩みで調べていくと、asyncモジュールを使えばいいという話があります。
これをつかうと並列で書けるのですが、若干癖があるので、複数人で開発している時に共有したり、ましてや自分が1年後メンテする際にちょっと苦労しそうな印象があるので、万能というわけではありません。(とはいえ、とっても便利です。)

Function.bind関数

導入が長くなりましたが、Node.jsに標準で入っているFunction.bind関数を利用することで非同期処理がだいぶ書きやすくなった話を書いておきます。

Function.bind関数はDelegate(委譲)のような振る舞いをする機能で、コールバック関数でthisをスコープとして実行できる機能です。

this.test.bind( this );

function test(){
  // thisのスコープとして動く
}

では早速やってみましょう。

続きを読む →

Edge Animate CC(2.0)が出たので生成ファイルを1.5と比較してみた。

ついに、Edge Animate CC(2.0)がリリースされました。

Edge Animate CC – Coming in June is here! « Adobe Edge Animate Team Blog

Edge Animate 1.5とCCの生成ファイルを比較してみました。

今回のテストでは、ファイル比較のみで、再生パフォーマンス、アプリケーションのUIの変化、追加機能については言及しないのでご注意ください。

続きを読む →