SlideShare a Scribd company logo
1 of 151
実践 Redux Saga
-Practical Redux Saga-
2017/01/27(金)
スタジオ・アルカナ 社内勉強会 #21
よしだ しんいちろう
自己紹介
name: “よしだ しんいちろう”
age: 32
worksAt: “Studio Arcana co.,Ltd.”
roles: [
“Web Application Developer”,
“Management”
]
twitter: “@yossy222”
graduated: [
“Advanced Institute of Industrial Technology”,
“National Institute of Technology, Kushiro College”
]
2
自己紹介
Prototype.js/script.aculo.us (2007年頃)
YUI Library(2008年頃)
jQuery/jQuery UI(2008年~)
Backbone.js(2013年頃)
Riot.js(2016年頃)
Angular 1(2014年~)
React.js(2014年~)
なんぞを一通り使ってみたことはある程度のおっさんです。
3
自己紹介
と、フロントエンドやってる人っぽく書いてみましたが、
本業はディレクション/マネジメントがほとんど。
趣味がてら、IPAプロジェクトマネージャ、ネットワークスペ
シャリスト、データベーススペシャリスト、情報セキュリティス
ペシャリスト、アプリケーションエンジニアなど。
守備範囲は広めで生きていきたい。
4
自己紹介
なお、このスライドのトンマナは、
スーパーナントカメーカーに影響を受けています。
hico00氏に表紙をみせたら、神速で
こういうコメントを送ってきましたが、それではない。
(プリンはファミマの「くちどけ贅沢プリン」が好きです。ください。)
5
はじめに
6
はじめに
あけましておめでとうございます。
2017年もよろしくお願いします。
7
はじめに
ほんだい
8
はじめに
プロダクションの案件で
redux-saga を
使ってみたということで、
そのお話をしてみます。
9
はじめに
Redux Sagaを使うにあたり、
どのような指針で設計をしたか?
なぜそのような指針にしたか?
その結果、何が見えてきたか?
といった感じの内容です。
10
はじめに
設計思想や考え方の話が多く、
抽象的なクダリも多いですが、
ご承知おきください。
あと、Redux Sagaまでの
前置きの話も長いです。
11
技術要素
12
技術要素
React , Redux , Redux Saga , Apache
Cordova , Onsen UI , Sqlite , WebSQL ,
WebAPI(Ajax) , Webpack , Babel(stage-0),
ES6 , Generator(ES6) , Promise(ES6),
Gulp, Sass
あたりの技術を使ってます。
今日のお話しは、赤字の部分だけ。
13
今日お話しすること
14
今日お話しすること
jQuery
React
FLUX
Redux
Redux Saga
15
今日お話しすること
順番にいってみよう
16
jQuery
17
jQuery
jQueryはみんな知ってますね?
18
jQuery
画面の状態を変更するときは、
DOMを直接操作します。
19
jQuery
20
HTML HTML
HTMLのDOMを直接操作する
jQuery
シンプルな構成のサイトで
使う分には、全く問題ない。
21
jQuery
静的なHTMLのサイトで、
ちょっとアコーディオン。
ちょっとインタラクション。
ちょっとタブ切り替え。
ちょっと外部APIを呼び出す。
など
22
jQuery
しかし、
DOMの変更を多用すると、
どこで何が起きているか
わからなくなる。
23
jQuery
外部からデータを取得して、
HTMLテンプレート定義して、
テンプレートの文字列を置換して、
画面に結果のHTMLを表示して、
24
jQuery
.append()…
.appendTo()…
.addClass()…
.attr()…
…???
25
jQuery
その間にユーザーが別の
操作をしたらどうなる?
外部からデータが
取得できなかったらどうなる?
データ呼出しのボタンを
連打されたらどうなる?
26
jQuery
DOM操作するタイミングで、
既にDOMの構造が
変化していたらどうなる?
CSSクラス名を付けたり消したり
するタイミングが重複したらどうなる?
27
jQuery
いろんな所でイベントリスナー
監視しまくりのコードを
自分が引き継いだら理解できる?
28
jQuery
29
HTML
jQuery
30
HTML HTML
jQuery
31
HTML HTML HTML
jQuery
32
HTML HTML HTML
HTML
jQuery
33
HTML HTML HTML
HTML HTML
元の状態は…
???
jQuery
34
※出典:山口県周南市徳山動物園のツヨシくん
jQuery
そこで、
Reactのでばん
35
jQuery
Reactを使うことで、
いくつかの課題を解決できます
36
React
37
React
Reactは、
UIを構築するためのライブラリ
38
React
Model, View, Controller の
Viewだけ担当みたいな役割
39
React
Component という単位の
パーツを組み合わせて
HTMLのDOM構造を構築する
40
React
Componentのクラスの中で
JSXというHTMLっぽい記法で
DOMの構造を定義できる
41
React
42
HTMLComponent
JSX
React
class HelloMessage extends React.Component {
render() {
return <div>Hello Jane</div>;
}
}
ReactDOM.render(<HelloMessage />, mountNode);
43
Component
<div>Hello Jane</div>
HTML
React
HTMLの属性と似たように
Propsという属性も定義できる。
44
React
45
HTMLComponent
Props
PropsはComponentが外部から受け取ることができる値
オブジェクト指向でいうとsetterのようなイメージ
JSX
React
class HelloMessage extends React.Component {
render() {
return <div>Hello {this.props.name}</div>;
}
}
ReactDOM.render(<HelloMessage name="Jane" />, mountNode);
46
Component
<div>Hello Jane</div>
HTML
React
Component は
Propsのほかに、
Stateとよばれる状態を
保持することもできる
47
React
48
HTMLComponent
State
Stateは、そのComponentの内部だけで操作できる値
オブジェクト指向のprivateプロパティのようなイメージ
JSX
React
画面のDOMの構造は
“Props”と“State”
の状態によって、決定する
49
React
50
HTMLComponent
State
Props
JSX
React
jQueryの場合だと
51
React
52
HTML HTML
jQueryの場合
HTMLのDOMを直接操作する
React
Reactの場合だと
53
Component
React
54
HTML
Reactの場合
JSX
Component
Props
React
55
HTML
Reactの場合
JSX
Component
Props
React
56
HTML
State
Reactの場合
JSX
Component
Props
React
57
HTML
State
Reactの場合
JSX
Component
Props
React
58
HTML
State
Reactの場合
JSX
Component
Props
React
59
HTML
State
Reactの場合
JSXとStateとPropsによって、
HTMLのDOM構造が決定する
JSX
Component
Props
React
60
HTML
State
Reactの場合
DOMの構造は、Reactが変更を
自動的に計算し、差分だけ更新する
(Virtual DOM)
JSX
React
Component は部品ごとに
細かく分けてネストもできる
61
React
62
HTMLComponent
Component
Component
Component
子のComponentにはPropsで値を渡すことができる
オブジェクト指向でいうと別クラスに委譲して引数で値を渡すイメージ
React
63
Component
Component Component
Component Component
Componentはツリー上の構造にすることもできて、
親から子へのデータはPropsで渡していく
React
64
Component
Component Component
Component Component
Callback
Callback
子から親へのデータは、コールバック関数を経由してやり取りする
FLUX
65
FLUX
FLUXは、
アプリケーション構造の
アーキテクチャ
66
FLUX
Hacker Way: Rethinking Web App Development at Facebook
https://www.youtube.com/watch?v=nYkdrAPrdcw
67
FLUX
MVCの場合
※サーバーサイドのMVCではなく、
GUIのMVC (Smalltalk MVC) ね。
68
FLUX
構造が複雑になるとスケールしない。
(ModelとViewのデータフローが双方向で、
コードの影響が予測しにくい)
69
FLUX
この場合も子と親のデータフローが双方向で、
コードの影響が予測しにくい。
70
Component
Component Component
Component Component
Callback
Callback
State
更新
FLUX
そこで、FLUXのでばん
71
FLUX
FLUXの場合
72
FLUX
データフローを単方向にすることで、
コードの影響を予測しやすくする
73
FLUX
74
Action
Dispatcher
Store
View
アプリケーションに必要なデータを保持する領域。
データの保持と、データを操作するロジックを持つ。
Dispatcherにより、メソッドが呼び出される。
Storeの状態によって、描画する画面が決定する。
ボタンを押す、といったようなユーザーの操作。
ユーザー操作を受け取って、Storeのメソッドを呼ぶ。
(Actionを受け取って、Storeに指示を送る。)
FLUX
75
HTMLComponent
State
Props
JSX
Reactのイメージがこうだとしたら、
FLUX
76
HTMLComponent
State
Props
JSX
StateがComponentの外に出て、
FLUX
77
HTML
Store
View
(Container)
Component
State
Props
JSX
それぞれがStoreとViewという位置づけに。
FLUX
78
HTML
Dispatcher
View
(Container)
Component
Props
JSX
ActionActionAction
StoreStoreStore
State
そして、こんなデータフローに。
FLUX
コードを見てみましょう
79
FLUX
80
HTML
Dispatcher
View
(Container)
Component
Props
JSX
ActionActionAction
StoreStoreStore
State
FLUX
import HelloDispatcher from './HelloDispatcher';
const HelloActions = {
changeName(name) {
HelloDispatcher.dispatch({
type: ‘CHANGE_NAME’,
name,
});
}
};
export default HelloActions;
81
HelloAction
ユーザーがHelloボタンを押したときに呼ばれる。
パラメータでnameを受け取っている。
Storeへ渡されるActionのオブジェクト。
typeとnameを保持している。
FLUX
82
HTML
Dispatcher
View
(Container)
Component
Props
JSX
ActionActionAction
StoreStoreStore
State
FLUX
import {Dispatcher} from 'flux';
export default new Dispatcher();
83
HelloDispatcher
Fluxが提供してるDispatcher
FLUX
84
HTML
Dispatcher
View
(Container)
Component
Props
JSX
ActionActionAction
StoreStoreStore
State
FLUX
import {ReduceStore} from 'flux/utils';
import HelloDispatcher from './HelloDispatcher';
class HelloStore extends ReduceStore {
getInitialState() {
return 'Jane';
}
reduce(state, action) {
switch (action.type) {
case ‘CHANGE_NAME':
return action.name;
default:
return state;
}
}
}
export default new HelloStore(HelloDispatcher);
85
HelloStore
Actionを受け取り、ユーザー操作のタイプに
応じて、値を返却する。
FLUX
86
HTML
Dispatcher
View
(Container)
Component
Props
JSX
ActionActionAction
StoreStoreStore
State
FLUX
import {Container} from 'flux/utils';
import HelloStore from './HelloStore';
import HelloComponent from './HelloComponent';
class HelloContainer extends Component {
static getStores() {
return [HelloStore];
}
static calculateState(prevState) {
return {
name: HelloStore.getState(),
};
}
render() {
return <HelloComponent name={this.state.name} />;
}
}
const AppContainer = Container.create(HelloContainer);
ReactDOM.render(<AppContainer />, mountNode);
87
HelloContainer
FLUX
88
HTML
Dispatcher
View
(Container)
Component
Props
JSX
ActionActionAction
StoreStoreStore
State
FLUX
import React from 'react';
import HelloActions from ‘./HelloActions';
class HelloComponent extends React.Component {
handleChange(event) {
HelloActions.changeName(event.target.value);
};
render() {
return (<div>
<div>Hello {this.props.name}</div>
<input type=“text” onChange={this.handleChange} />
</div>);
}
}
export default HelloComponent;
89
HelloComponent
Redux
90
Redux
Reduxは、
FLUXとElmArchitectureに
影響を受けた
ステート管理コンテナ
91
Redux
http://elm-lang.org/
(action, state) => state
Elm“updaters”≒ Redux“reducers”
このあたりの考え方がおなじ。
92
Redux
Reduxは、
FLUXと似ています。
93
Redux
Reduxは制約を強めて、
次のような条件をつきます
94
Redux
「Storeは、ひとつだけ」
「Stateは、原則、読み取り専用」
「状態の変化は、Reducer経由で」
95
Redux
Dispatcherという概念もない
96
Redux
97
Action
Reducer
State アプリケーションに必要なデータを保持する領域。
ボタンを押す、といったようなユーザーの操作。
ユーザー操作を受け取って、新しいStateを返す。
(Actionを受け取って、Storeに結果を渡す。)
Redux
98
HTML
Dispatcher
View
(Container)
Component
Props
JSX
ActionActionAction
StoreStoreStore
State
これはFLUXのときの図
Redux
99
HTML
Reducer
View
(Container)
Component
Props
JSX
ActionActionAction
State
Dispatcherはない。
Store
Redux
100
Reducer
View
(Container)
Component
Props
JSX
ActionActionAction
State
Storeはひとつだけ。
Redux
101
View
(Container)
Component
Props
JSX
ActionActionAction
もうちょっと分解してみると、
Store
Reducer
State
Redux
102
Provider
Component
Props
JSX
ActionActionAction
Container
Store
Reducer
State
こんな感じ
Redux
103
Provider
Component
Props
JSX
ActionActionAction
Container
Store
Reducer
State
Redux
FLUXとだいたい流れは似てますね?
104
Redux
Reduxの強み
Middleware
105
Redux
106
Provider
Component
Props
JSX
ActionActionAction
Container
Store
Reducer
State
Reduxには、
Middlewareという仕組みがあります
Redux
107
Provider
ActionActionAction Container
Store
Reducer
State
Component
Props
JSX
Middleware
Redux
Middlewareを使うことで
外部API呼び出しなどの
非同期処理の取り扱いができる
(副作用とか呼ばれてる)
108
Redux
109
Provider
ActionActionAction Container
Store
Reducer
State
Component
Props
JSX
Middleware外部API
Redux
Middlewareの中のひとつが、
Redux Saga
110
Redux Saga
111
Redux Saga
Actionを受け取って
任意のロジックを非同期で処理
112
Redux Saga
113
Provider
Action Action Container
Reducer
State
Component
Props
JSX
Saga
外部API
Action
非同期処理
Redux Saga
Sagaから、別のSagaを
呼び出すこともできる
114
Redux Saga
115
Action
Saga
Saga
外部API
Saga
DB
Saga
外部API
呼出し方は2通り
・Fork: 非同期で呼出し
・Call: 同期的に呼出し
Fork
Fork Call
Redux Saga
Actionを発行したり、
受け取ったりすることもできる
116
Redux Saga
117
Reducer
Saga
Action
Saga
Put
Take
Action
Put
Redux Saga
実際のところ、どう使うのか
118
Redux Saga
いろいろな組み合わせ方ができるので
人によって実装がバラバラになる
119
Redux Saga
ある程度のガイドラインを決めたい
120
Redux Saga
いろいろ模索してみた結果
121
Redux Saga
素晴らしい記事と出会う
122
Redux Saga
123
https://medium.com/@marcelschulze/using-react-native-with-redux-and-redux-saga-a-new-proposal-ba71f151546f
Redux Saga
ActionはすべてSagaを経由する
124
Redux Saga
Actionを2種類で分けて考える
「System&User Action」
「Reducer Action」
125
Redux Saga
どういうことかというと、
126
Redux Saga
127
Provider
Action Action Container
State
Component
Props
JSX
Saga
外部API
Action Reducer
Redux Saga
128
Provider
Action Action Container
State
Component
Props
JSX
Saga
外部API
Action Reducer
ユーザー操作のActionは直接Reducerへ渡さない
Redux Saga
129
Provider
Action Container
State
Component
Props
JSX
Saga
外部API
Action Reducer
単一のデータフローを維持
(副作用ではなく、主作用として考える)
Redux Saga
130
Provider
Action Container
State
Component
Props
JSX
Saga
外部API
Action Reducer
User Action
Reducer Action
Redux Saga
「System&User Action」
ユーザーが操作したアクション
or
システムから発生したアクション
131
Redux Saga
Actionのtypeの命名指針は大事。
「だれが、何を、どうした」
が、わかるような命名に決めた。
e.g. USER_NEWS_ARTICLE_TOUCHED
e.g. SYSTEM_APP_LAUNCHED
132
Redux Saga
「Reducer Action」
Reducerへ渡すための
State更新指示をするAction
133
Redux Saga
こちらもActionの命名指針は大事。
「Sagaが、何を、どうした」
が、わかるような命名に決めた。
e.g. REDUCER_VIEW_NEWS_FETCH_DONE
134
Redux Saga
ほかに、役割ごとにレイヤー化
データフローの流れを決める
135
136
Redux
Saga
Ajax Model
User
Action
User
Interface
Data
Access
Data
Integration
User
Event
Data
Store
State
Machine
Reducer
Web API XML-RPC Static JSON Database
Ajax
Redux
Saga
Layer Model / with React, Redux, Redux Saga, External API
StateState
Ajax
Redux
Container
Redux
Provider
React
Component
HTTP HTTP HTTP Sqlite/webSQL/localStorage
System
Action
Redux
Saga
State
Event
Reducer
Action
137
Redux
Store
State
Action
Dispatch
Index.js
Reducer
Action
React
Provider
data
process
component
Action
App
Initial News Product
Action
Dispatch
Action
Dispatch
user
operation
initialize
completion
Saga (Redux Middleware)
Saga
(root)
user
operation
take
Saga
(thread)
External API
WebAPI
XML-RPC
Static
JSON
fork
fetch / HTTP
Ajaxcall
Dispatch
Saga
(thread)
Ajax
put
Model
call
fork
fetch / HTTP
selectは参照しない。
(state(=View構造)に依存するから)
(でも通信中状態の判定では必要かも)
put
Internal API
Storage
Action
operation
fetch
Dispatch
Action
凡例
transfered
Redux Saga
という感じの
ガイドラインに落ち着く。
138
まとめ
139
まとめ
React + Redux + Redux Saga
学習コストはちょっと高いかも。
慣れてしまえばコードは追いやすい。
メンテも引き継ぎもしやすい。
チームでスケールして戦える。
140
まとめ
レイヤー構造やデータフローを常に
意識しながら設計する必要がある。
設計の難易度はちょっと高めかも。
小さい規模の案件には向かないかも。
長期メンテのある案件には向いてそう。
141
Appendix
142
React Fiber
React Fiber に期待したい気持ち
(Reactコアアルゴリズムの再実装)
60FPS出せたり、アニメーションの実装が
しやすくなるといいな…
https://github.com/acdlite/react-fiber-architecture
(ちなみに、React 16からFiberがデフォルトになるみたい)
143
React Fiber
Andrew Clark: What's Next for React — ReactNext 2016
https://www.youtube.com/watch?v=aV1271hd9ew
144
React Fiber
POSTDのこの記事もよかったです
http://postd.cc/react-fiber-architecture/
145
FLUX Standard Action
Actionのデータ構造の標準
https://github.com/acdlite/flux-standard-action
146
An action MUST
- be a plain JavaScript object.
- have a type property.
An action MAY
- have an error property.
- have a payload property.
- have a meta property.
FLUX Standard Action
サンプル
147
{
type: 'ADD_TODO',
payload: {
text: 'Do something.'
}
}
FLUX Standard Action
ガイドラインに従うことで、
コードのクオリティが均一になるので、
積極的に合わせていきましょう。
148
おしまい
149
おしまい
ご清聴ありがとうございました。
150
おしまい
151

More Related Content

What's hot

サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたItaru Kitagawa
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarkujirahand kujira
 
JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門Shumpei Shiraishi
 
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13智治 長沢
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門Kohei Kadowaki
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会Shoichi Kakizaki
 
今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしましたMitsuru Ogawa
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたShin Ogata
 
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話yoshioka_cb
 
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルJavaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルMaaya Ishida
 
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話Yutaro Miyazaki
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)Mitsuru Ogawa
 
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
非エンジニアが MENstackでWebアプリをつくった話 #nodejs非エンジニアが MENstackでWebアプリをつくった話 #nodejs
非エンジニアが MENstackでWebアプリをつくった話 #nodejsYusaku Kinoshita
 
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介schoowebcampus
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分松田 千尋
 
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみた
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみたJavaFXとRoboVMを使ってiOS上で動くアプリを試してみた
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみたSatoshi Takami
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScripthideaki honda
 

What's hot (20)

React Native 入門
React Native 入門React Native 入門
React Native 入門
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminar
 
JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門
 
JavaScript 研修
JavaScript 研修JavaScript 研修
JavaScript 研修
 
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会
 
今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
 
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
 
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイルJavaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
 
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
 
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
非エンジニアが MENstackでWebアプリをつくった話 #nodejs非エンジニアが MENstackでWebアプリをつくった話 #nodejs
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
 
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
 
React + Flux
React + FluxReact + Flux
React + Flux
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
 
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみた
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみたJavaFXとRoboVMを使ってiOS上で動くアプリを試してみた
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみた
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScript
 

Similar to 実践 Redux Saga -Practical Redux Saga-

ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03Daiki Maekawa
 
いま、できるアジャイル
いま、できるアジャイルいま、できるアジャイル
いま、できるアジャイルMasanori Kado
 
今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular jsKohashi Daisuke
 
2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義
2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義
2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義chachaki chachaki
 
Next.js Storybook Driven Development
Next.js Storybook Driven DevelopmentNext.js Storybook Driven Development
Next.js Storybook Driven DevelopmentTakuya Tejima
 
改善React道
改善React道改善React道
改善React道Hoso michi
 
WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方PIXTA Inc.
 
エンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つ
エンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つエンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つ
エンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つYusaku Kinoshita
 
グリッドレイアウトを簡単に行うJavaScript!Masonry.js
グリッドレイアウトを簡単に行うJavaScript!Masonry.jsグリッドレイアウトを簡単に行うJavaScript!Masonry.js
グリッドレイアウトを簡単に行うJavaScript!Masonry.jsYoshinori Kobayashi
 
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)Recruit Lifestyle Co., Ltd.
 
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミングHideki Takase
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Koji Hasegawa
 
Practices Of An Agile Developer
Practices Of An Agile DeveloperPractices Of An Agile Developer
Practices Of An Agile DeveloperShintaro Kakutani
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterpriseKoichiro Sumi
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Shuji Watanabe
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)Hiroyuki Kusu
 

Similar to 実践 Redux Saga -Practical Redux Saga- (20)

ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
 
No4
No4No4
No4
 
いま、できるアジャイル
いま、できるアジャイルいま、できるアジャイル
いま、できるアジャイル
 
Roo
RooRoo
Roo
 
React introduntion
React introduntionReact introduntion
React introduntion
 
今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js
 
Walking front end
Walking front endWalking front end
Walking front end
 
2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義
2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義
2020年01月24-25日 「仮説検証型UXデザイン特論」 講義資料 @産技大講義
 
Next.js Storybook Driven Development
Next.js Storybook Driven DevelopmentNext.js Storybook Driven Development
Next.js Storybook Driven Development
 
改善React道
改善React道改善React道
改善React道
 
WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方
 
エンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つ
エンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つエンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つ
エンジニアじゃなくてもAngularJS×milkcocoaでチャットアプリが1時間!? 非エンジニアから見たAngularJSの感動するポイント3つ
 
グリッドレイアウトを簡単に行うJavaScript!Masonry.js
グリッドレイアウトを簡単に行うJavaScript!Masonry.jsグリッドレイアウトを簡単に行うJavaScript!Masonry.js
グリッドレイアウトを簡単に行うJavaScript!Masonry.js
 
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
 
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
 
Practices Of An Agile Developer
Practices Of An Agile DeveloperPractices Of An Agile Developer
Practices Of An Agile Developer
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterprise
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
 

More from Shinichiro Yoshida

Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-Shinichiro Yoshida
 
"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_studyShinichiro Yoshida
 
自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_studyShinichiro Yoshida
 
ルワンダの IT視察レポートだよ #sa_study
ルワンダのIT視察レポートだよ #sa_studyルワンダのIT視察レポートだよ #sa_study
ルワンダの IT視察レポートだよ #sa_studyShinichiro Yoshida
 
World Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_studyWorld Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_studyShinichiro Yoshida
 
インターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_studyインターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_studyShinichiro Yoshida
 
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyインターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyShinichiro Yoshida
 
インターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyインターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyShinichiro Yoshida
 
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97Shinichiro Yoshida
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-Shinichiro Yoshida
 
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」Shinichiro Yoshida
 
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYardShinichiro Yoshida
 
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介Shinichiro Yoshida
 
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)Shinichiro Yoshida
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)Shinichiro Yoshida
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座Shinichiro Yoshida
 
オープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobeオープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@KobeShinichiro Yoshida
 
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』Shinichiro Yoshida
 
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介Shinichiro Yoshida
 

More from Shinichiro Yoshida (20)

Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
 
"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study
 
自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study
 
ルワンダの IT視察レポートだよ #sa_study
ルワンダのIT視察レポートだよ #sa_studyルワンダのIT視察レポートだよ #sa_study
ルワンダの IT視察レポートだよ #sa_study
 
World Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_studyWorld Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_study
 
インターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_studyインターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_study
 
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyインターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
 
インターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyインターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_study
 
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
 
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
 
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
 
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
 
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
 
オープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobeオープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobe
 
Osc2011 kobe 20110416_01
Osc2011 kobe 20110416_01Osc2011 kobe 20110416_01
Osc2011 kobe 20110416_01
 
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
 
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
 

Recently uploaded

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

Recently uploaded (9)

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

実践 Redux Saga -Practical Redux Saga-