SlideShare a Scribd company logo
1 of 37
Download to read offline
2014年6月8日
AngularJSでの非同期処理の話
AngularJS 勉強会 by GDG神戸
自己紹介
✤ おのうえ (@_likr)!
✤ 博士課程の大学院生!
✤ 可視化や最適化を使った意思決定支援に興味あり
Webと可視化
✤ Canvas、SVG、WebGLといったAPI、

D3.js、Three.jsといったライブラリによって

Web上での可視化基盤が整えられた
http://threejs.org/http://d3js.org/
AngularJSでやってること
本セッションの内容
✤ JavaScriptには、HTTPアクセス、ファイルIO、

アニメーションなど非同期処理がたくさん!
✤ 可視化のためのデータ取得も非同期処理!!
✤ 実アプリケーションには必要不可欠な非同期処理を

AngularJSでどのように扱うのか様々な例を紹介
目次
1. 遅延処理 - $timeout!
2. HTTPアクセス - $http!
3. REST APIサーバーへのアクセス - ngResource!
4. Promiseを提供する - $q!
5. ngRouteとresolve
目次
1. 遅延処理 - $timeout!
2. HTTPアクセス - $http!
3. REST APIサーバーへのアクセス - ngResource!
4. Promiseを提供する - $q!
5. ngRouteとresolve
$timeout
✤ window.setTimeoutのラッパー!
✤ 指定した時間待った後処理を実行する!
✤ 使い方
https://docs.angularjs.org/api/ng/service/$timeout
$timeout(fn[, delay])
fn
delay 遅れさせる時間(ミリ秒)
実行する処理
$timeoutのサンプル
<div ng-app>
<div ng-controller="TimeoutExample">
<span>{{str}}</span>
<button ng-click="cancel()">Cancel</button>
</div>
</div>
function TimeoutExample($scope, $timeout) {
$scope.str = 'Prompt Result';
var promise = $timeout(function() {
$scope.str = prompt('Input Message');
}, 2000);
$scope.cancel = function() {
$timeout.cancel(promise);
$scope.str = 'Canceled';
};
}
http://jsfiddle.net/likr/2NMyP/
$timeoutで、2秒後にプロンプトを

表示して、入力をビューに表示する
$timeout.cancelに$timeoutの

戻り値を渡すことで処理の中止
$timeoutを依存性注入する
setTimeoutじゃダメなの?
function TimeoutExample($scope) {
$scope.str = 'Prompt Result';
!
var timeoutId = setTimeout(function () {
$scope.str = prompt('Input Message');
}, 2000);
!
$scope.cancel = function () {
clearTimeout(timeoutId);
$scope.str = 'Canceled';
};
}
http://jsfiddle.net/likr/243ja/
setTimeoutじゃダメなの?
function TimeoutExample($scope) {
$scope.str = 'Prompt Result';
!
var timeoutId = setTimeout(function () {
$scope.str = prompt('Input Message');
}, 2000);
!
$scope.cancel = function () {
clearTimeout(timeoutId);
$scope.str = 'Canceled';
};
}
http://jsfiddle.net/likr/243ja/
function TimeoutExample($scope) {
$scope.str = 'Prompt Result';
!
var timeoutId = setTimeout(function () {
$scope.$apply(function () {
$scope.str = prompt('Input Message');
});
}, 2000);
!
$scope.cancel = function () {
clearTimeout(timeoutId);
$scope.str = 'Canceled';
};
}
データバインドを反映させるために$scope.$applyが必要
http://jsfiddle.net/likr/243ja/2/
$timeoutとpromise
✤ Promise: 非同期処理をうまく扱うためのインタフェース!
!
!
!
!
✤ $timeoutはpromiseを返す
promise.catch(onRejected)
onFullfilled
onRejected 処理が失敗したときの処理
処理が成功した時の処理
promise.then(onFullfilled[, onRejected])
$timeoutとpromiseのサンプル
function TimeoutExample($scope, $timeout) {
$scope.str = 'Prompt Result';
$scope.status = 'Pending';
!
var promise = $timeout(function () {
$scope.str = prompt('Input Message');
}, 2000);
!
promise.then(function () {
$scope.status = 'Fullfilled';
});
promise.catch(function () {
$scope.status = 'Rejected';
});
!
$scope.cancel = function () {
$timeout.cancel(promise);
$scope.str = 'Canceled';
};
}
http://jsfiddle.net/likr/2NMyP/1/
$timeoutのpromiseに成功時、

失敗時のコールバックを登録
目次
1. 遅延処理 - $timeout!
2. HTTPアクセス - $http!
3. REST APIサーバーへのアクセス - ngResource!
4. Promiseを提供する - $q!
5. ngRouteとresolve
$http
✤ HTTPサーバーへとの通信を行う!
✤ GET / POST / PUT / DELETE / HEAD!
✤ JSONP!
✤ 使い方
https://docs.angularjs.org/api/ng/service/$http
$http.get(url[, config])
$http.post(url[, config])
…
$http(config)
$httpのサンプル
function HttpExample($scope, $http) {
$http.get('http://example.com/')
.then(function(response) {
$scope.data = response.data;
});
}
http://jsfiddle.net/likr/ct6Jn/
function HttpExample($scope, $http) {
$http({
method: 'get',
url: 'http://example.com/'
}).then(function(response) {
$scope.data = response.data;
});
}
methodとurlを指定して$httpを呼び出す
$httpを依存性注入する
$httpはPromiseを返すのでthenで!
通信成功、失敗時の処理ができる
$http.getは$httpのショートカット
Response
✤ Promiseでresolveされるオブジェクトのプロパティ!
✤ data: Responseのbody!
✤ status: HTTPのステータスコード!
✤ headers: HTTPヘッダーのgetter!
✤ config: $httpの引数!
✤ statusText: HTTPのステータス文章
HttpPromise
✤ HttpPromise!
✤ $httpが返すPromise!
✤ thenの代わりにsuccessとerrorが使える
function HttpExample($scope, $http) {
$http.get('http://gdgkobe-ng-guestbook.appspot.com/greetings')
.success(function(response) {
$scope.data = response.data;
})
.error(function(reason) {
});
}
他のAJAX APIと比べて
✤ $scope.$applyの問題がない!
✤ $httpBackendによるテストが容易
目次
1. 遅延処理 - $timeout!
2. HTTPアクセス - $http!
3. REST APIサーバーへのアクセス - ngResource!
4. Promiseを提供する - $q!
5. ngRouteとresolve
ngResource
✤ REST APIサーバーとの通信を便利にするモジュール!
✤ REST APIサーバーの例
https://docs.angularjs.org/api/ngResource
Method URL 処理
GET http://example.com/greetings greeting
GET http://example.com/greetings/1 ID1
POST http://example.com/greetings 新しい
PUT http://example.com/greetings/1 ID1
DELETE http://example.com/greetings/1 ID1
ngResourceの利用
✤ AngularJS本体とは別jsファイルで提供されているので

scriptタグを追加して読み込む!
!
✤ 依存モジュールとして指定
<script src="angular-resource.js"></script>
var app = angular.module('example', ['ngResource']);
Resourceの作成
✤ リソースのURLを指定してResourceを作成!
!
✤ factoryでserviceとして登録しておくと便利
$resource(‘http://example.com/greetings/:id')
app.factory('Greeting', function($resource) {
return $resource(‘http://example.com/greetings/:id');
});
Resourceの利用
✤ データ取得!
!
!
✤ データ保存
var Greeting = $resource('http://example.com/greetings/:id');
!
var greetings = Greeting.query();
var newGreeting = new Greeting();
newGreeting.content = 'hello';
newGreeting.$save();
Resourceの遅延処理
var app = angular.module('example', ['ngResource']);
!
app.factory('Greeting', function($resource) {
return $resource('http://gdgkobe-ng-guestbook.appsp
});
!
app.controller('Main', function(Greeting) {
var greetings = Greeting.query();
greetings.$promise
.then(function() {
console.log(greetings);
});
console.log(greetings);
});
Resourceのメソッドはプレースホルダーを

返して、処理が完了した時点で内容を挿入する
http://jsfiddle.net/likr/BHS5v/
ResourceとPromise
✤ 関数の結果の$promiseプロパティでPromiseを取得

get()、query()、delete()、$save…
Greeting.query().$promise
.then(function(greetings) {
// TODO
});
目次
1. 遅延処理 - $timeout!
2. HTTPアクセス - $http!
3. REST APIサーバーへのアクセス - ngResource!
4. Promiseを提供する - $q!
5. ngRouteとresolve
Promiseを提供する
✤ $timeout、$http、ngResourceはプロミスで

非同期処理を扱うことができる!
✤ 自分の非同期処理、非AngularJSの外部ライブラリを

同様のAPIで提供する方法は?
$q
✤ Promiseの作成、ラップをする!
✤ $timeout、$http、ngResource内でも使用されている
https://docs.angularjs.org/api/ng/service/$q
$q.defer()
$q.when(promise)
$q.all(promises)
$q.defer
✤ Deferredオブジェクトを作成する!
!
✤ resolve、reject、notifyで非同期処理の状態を通知する!
!
!
✤ promiseプロパティでPromiseオブジェクトを取得する
deferred.resolve(value)
deferred.reject(reason)
deferred.notify(value)
var deferred = $q.defer()
var promise = deferred.promise;
$qのサンプル1
var app = angular.module('q-example', []);
!
app.factory('d3get', function($q) {
return function(xhr) {
var deferred = $q.defer();
xhr
.on('load', function(data) {
deferred.resolve(data);
})
.on('error', function(status) {
deferred.reject(status);
})
.get();
return deferred.promise;
};
})
!
app.controller('Main', function(d3get) {
d3get(d3.csv('http://example.com/data.csv'))
.then(function(data) {
// TODO
});
});
D3.jsのxhr系関数をラップしてみる
$q.deferでdeferredオブジェクトを作成
データ取得が成功したらresolve
promiseオブジェクトを返す
thenでデータ取得後の処理を行う
loadDataをラップした関数をfactoryで提供
データ取得が失敗したらreject
$qのサンプル2
function getData(url) {
return $.get(url);
}
!
!
function Main($q) {
$q.when(getData('http://example.com/'))
.then(function(data) {
// TODO
});
});
jQueryのAJAX関数をラップしてみる
AngularJSとは関係のない、
jQueryXHR(Promise)を返す関数
$q.whenでラップすると!
$scope.$applyの手間等が不要
目次
1. 遅延処理 - $timeout!
2. HTTPアクセス - $http!
3. REST APIサーバーへのアクセス - ngResource!
4. Promiseを提供する - $q!
5. ngRouteとresolve
問題
✤ 非同期処理が成功してからコントローラーの処理をし
たい場合!
✤ 認証、データ取得
ngRoute
✤ AngularJSのルーティングモジュール!
✤ コントローラーへの依存性注入で、コントローラー処
理に入る前にデータ取得などを済ませることができる!
✤ ui-routerでも同様
https://docs.angularjs.org/api/ngRoute
ngRouteのresolve
var app = angular.module('resolve-example', ['ngRoute']);
!
app.config(function($routeProvider) {
$routeProvider.when('/', {
template: '{{data}}',
controller: function($scope, response) {
$scope.data = response.data;
},
resolve: {
response: function($http) {
return $http.get('http://example.com/');
}
}
});
});
resolveの要素がPromiseを返した場合、
全てのPromiseがresolveされてからコン
トローラーの処理を行う
まとめ
✤ AngularJSが提供する非同期処理APIを使うことで

複雑な非同期処理も簡単に扱える!
✤ Promiseパターンで非同期処理を統一的に扱える!
✤ $qで自分で非同期処理を提供できる!
✤ AngularJS用じゃない非同期処理は、データバインド
に気をつける($q.when, $scope.$apply)

More Related Content

What's hot

コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティスコンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、ReactのベストプラクティスとバッドプラクティスKohei Asai
 
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話yoshioka_cb
 
今からでも遅くない! React事始め
今からでも遅くない! React事始め今からでも遅くない! React事始め
今からでも遅くない! React事始めynaruta
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門spring_raining
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門Kohei Kadowaki
 
はじめてのVue.js
はじめてのVue.jsはじめてのVue.js
はじめてのVue.jskamiyam .
 
まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?IRI MO
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかYoichi Toyota
 
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからYusuke Murata
 
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」Naoyuki Kataoka
 
Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with BrowserifyMuyuu Fujita
 
AngularJSを浅めに紹介します
AngularJSを浅めに紹介しますAngularJSを浅めに紹介します
AngularJSを浅めに紹介しますnkazuki
 
簡単AngularJS(関西AngularJS勉強会)
簡単AngularJS(関西AngularJS勉強会)簡単AngularJS(関西AngularJS勉強会)
簡単AngularJS(関西AngularJS勉強会)Takahiro Maki
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScripthideaki honda
 
Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会VOYAGE GROUP
 
3分でわかるangular js
3分でわかるangular js3分でわかるangular js
3分でわかるangular jsShin Adachi
 

What's hot (20)

コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティスコンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
 
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
 
今からでも遅くない! React事始め
今からでも遅くない! React事始め今からでも遅くない! React事始め
今からでも遅くない! React事始め
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
 
20160927 reactmeetup
20160927 reactmeetup20160927 reactmeetup
20160927 reactmeetup
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
 
はじめてのVue.js
はじめてのVue.jsはじめてのVue.js
はじめてのVue.js
 
まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?まだDOM操作で消耗してるの?
まだDOM操作で消耗してるの?
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
 
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
 
Vue.js入門
Vue.js入門Vue.js入門
Vue.js入門
 
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
 
Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with Browserify
 
AngularJSを浅めに紹介します
AngularJSを浅めに紹介しますAngularJSを浅めに紹介します
AngularJSを浅めに紹介します
 
Alt01-LT
Alt01-LTAlt01-LT
Alt01-LT
 
簡単AngularJS(関西AngularJS勉強会)
簡単AngularJS(関西AngularJS勉強会)簡単AngularJS(関西AngularJS勉強会)
簡単AngularJS(関西AngularJS勉強会)
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScript
 
Flux react現状確認会
Flux react現状確認会Flux react現状確認会
Flux react現状確認会
 
React.js + Flux
React.js + FluxReact.js + Flux
React.js + Flux
 
3分でわかるangular js
3分でわかるangular js3分でわかるangular js
3分でわかるangular js
 

Similar to AngularJSでの非同期処理の話

RESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScriptRESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScriptNaoto Koshikawa
 
AngularFireで楽々バックエンド
AngularFireで楽々バックエンドAngularFireで楽々バックエンド
AngularFireで楽々バックエンドYosuke Onoue
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門Atsushi Tadokoro
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインShumpei Shiraishi
 
第19回html5とか勉強会 pjax
第19回html5とか勉強会 pjax第19回html5とか勉強会 pjax
第19回html5とか勉強会 pjaxKensaku Komatsu
 
WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話Hidetaka Okamoto
 
Ja story of cakephp2.0
Ja story of cakephp2.0Ja story of cakephp2.0
Ja story of cakephp2.0Hiroki Shimizu
 
WordBench Saitama vol.6
WordBench Saitama vol.6WordBench Saitama vol.6
WordBench Saitama vol.6masaaki komori
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2Moto Yan
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5ichikaway
 
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScriptマークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScripteiji sekiya
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザインKazuhiro Hara
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_GebNobuhiro Sue
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介Shotaro Suzuki
 

Similar to AngularJSでの非同期処理の話 (20)

RESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScriptRESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScript
 
HTML5 on ASP.NET
HTML5 on ASP.NETHTML5 on ASP.NET
HTML5 on ASP.NET
 
AngularFireで楽々バックエンド
AngularFireで楽々バックエンドAngularFireで楽々バックエンド
AngularFireで楽々バックエンド
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
 
第19回html5とか勉強会 pjax
第19回html5とか勉強会 pjax第19回html5とか勉強会 pjax
第19回html5とか勉強会 pjax
 
WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話WordBench京都12月、WordCampUSからのWP REST APIな話
WordBench京都12月、WordCampUSからのWP REST APIな話
 
Ja story of cakephp2.0
Ja story of cakephp2.0Ja story of cakephp2.0
Ja story of cakephp2.0
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
WordBench Saitama vol.6
WordBench Saitama vol.6WordBench Saitama vol.6
WordBench Saitama vol.6
 
Pjax1
Pjax1Pjax1
Pjax1
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5
 
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話 Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
 
Antのススメ
AntのススメAntのススメ
Antのススメ
 
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScriptマークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScript
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザイン
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
 

More from Yosuke Onoue

Angular 2のRenderer
Angular 2のRendererAngular 2のRenderer
Angular 2のRendererYosuke Onoue
 
アニメーション(のためのパフォーマンス)の基礎知識
アニメーション(のためのパフォーマンス)の基礎知識アニメーション(のためのパフォーマンス)の基礎知識
アニメーション(のためのパフォーマンス)の基礎知識Yosuke Onoue
 
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいAngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいYosuke Onoue
 
GDG DevFest Kobe Firebaseハンズオン勉強会
GDG DevFest Kobe Firebaseハンズオン勉強会GDG DevFest Kobe Firebaseハンズオン勉強会
GDG DevFest Kobe Firebaseハンズオン勉強会Yosuke Onoue
 
Polymerやってみた
PolymerやってみたPolymerやってみた
PolymerやってみたYosuke Onoue
 
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?Yosuke Onoue
 
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーションAngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーションYosuke Onoue
 
社会的決定とAHP
社会的決定とAHP社会的決定とAHP
社会的決定とAHPYosuke Onoue
 
CUDA 6の話@関西GPGPU勉強会#5
CUDA 6の話@関西GPGPU勉強会#5CUDA 6の話@関西GPGPU勉強会#5
CUDA 6の話@関西GPGPU勉強会#5Yosuke Onoue
 
Anaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみたAnaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみたYosuke Onoue
 
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法Yosuke Onoue
 
What's New In Python 3.3をざっと眺める
What's New In Python 3.3をざっと眺めるWhat's New In Python 3.3をざっと眺める
What's New In Python 3.3をざっと眺めるYosuke Onoue
 
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編Yosuke Onoue
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門Yosuke Onoue
 
数理最適化とPython
数理最適化とPython数理最適化とPython
数理最適化とPythonYosuke Onoue
 
Rsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしいRsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしいYosuke Onoue
 

More from Yosuke Onoue (18)

Angular 2のRenderer
Angular 2のRendererAngular 2のRenderer
Angular 2のRenderer
 
アニメーション(のためのパフォーマンス)の基礎知識
アニメーション(のためのパフォーマンス)の基礎知識アニメーション(のためのパフォーマンス)の基礎知識
アニメーション(のためのパフォーマンス)の基礎知識
 
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいAngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたい
 
GDG DevFest Kobe Firebaseハンズオン勉強会
GDG DevFest Kobe Firebaseハンズオン勉強会GDG DevFest Kobe Firebaseハンズオン勉強会
GDG DevFest Kobe Firebaseハンズオン勉強会
 
Polymerやってみた
PolymerやってみたPolymerやってみた
Polymerやってみた
 
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?
 
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーションAngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
 
社会的決定とAHP
社会的決定とAHP社会的決定とAHP
社会的決定とAHP
 
CUDA 6の話@関西GPGPU勉強会#5
CUDA 6の話@関西GPGPU勉強会#5CUDA 6の話@関西GPGPU勉強会#5
CUDA 6の話@関西GPGPU勉強会#5
 
Anaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみたAnaconda & NumbaPro 使ってみた
Anaconda & NumbaPro 使ってみた
 
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
 
What's New In Python 3.3をざっと眺める
What's New In Python 3.3をざっと眺めるWhat's New In Python 3.3をざっと眺める
What's New In Python 3.3をざっと眺める
 
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
 
数理最適化とPython
数理最適化とPython数理最適化とPython
数理最適化とPython
 
201010ksmap
201010ksmap201010ksmap
201010ksmap
 
PyCUDAの紹介
PyCUDAの紹介PyCUDAの紹介
PyCUDAの紹介
 
Rsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしいRsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしい
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (9)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

AngularJSでの非同期処理の話