SlideShare a Scribd company logo
1 of 71
Download to read offline
React.js + Flux
入門
リッチラボ株式会社 穴井宏幸
@pirosikick

2014/12/18(Mon) SCRIPTY#2
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
穴井 宏幸
リッチラボ株式会社 エンジニア
@pirosikick
(ぴろしきっく)
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
• 普段はスマフォのリッチ広告
を作ったりしています。
JavaScript
好きです
よろしく
お願い致します
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
• Facebook製の
• UI構築のためのライブラリ
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
http://facebook.github.io/react/
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
• JUST THE UI
• VIRTUAL DOM
• DATA FLOW
JUST THE UI
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
• View専門のライブラリ
• ルーティングやAPIリクエスト
など、
• SPAを作るのに必須な機能は、
• 含まれていない
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Hello! World
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Hello! World
!?!?
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
JSX
• JSX →(コンパイル)→ JavaScript
• JSの中でタグを書く
• コンパイル方法
1. JSXTransformer.js
2. react-tools
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
JSXTransformer.js
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
react-tools
# react-toolsをインストール
$ npm i -g react-tools
!
# jsx/にあるJSXを
# コンパイルしてjs/に出力
$ jsx jsx/ js/
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
• Browserify → reactify
• webpack → jsx-loader
Virtual DOM
Virtual DOM
⇓
仮想DOM
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
なぜ仮想DOMという概念が俺達の魂を震えさせるのか
http://qiita.com/mizchi/items/4d25bc26def1719d52e6
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
• 仮想のツリーを持つ
• そこで差分を計算して、
• 本物のDOMに反映する
• 高速、処理がシンプルに
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Model
View
DOM
初期データ 追加 削除変更
初期レンダー 追加 削除変更
従来
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
View
Model
DOM
初期データ 追加 削除変更
初期レンダー 追加 削除変更
それぞれ処理が必要
従来
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Store
View
DOM
最新の状態を参照
Virtual DOM
変更を通知
レンダー
古 新 差分
差分を反映
←比較→
VDOM
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Store
View
DOM
Virtual DOM
変更を通知
レンダー
古 新 差分
差分を反映
←比較→
シンプル!!!!
VDOM
最新の状態を参照
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Store
View
DOM
最新の状態を参照
Virtual DOM
変更を通知
レンダー
古 新 差分
差分を反映
←比較→
DOM操作は
賢くやってくれる
VDOM
DATA FLOW
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
親
子
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
親
子
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
親
子
属性経由でデータを渡す
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
• this.props
• 親→子の一方通行
• 理解しやすい
その他
よく使う機能
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
propsのValidation
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
propsのValidation
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
propsのValidation
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
this.state
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
this.state
stateが更新されると再レンダーされる
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
イベント
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
イベント
• Eventはラップされてる
• ブラウザ差異は気にしなくてよい
• stopPropergation, preventDefault

も実行可能
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
ライフサイクル

メソッド
http://facebook.github.io/react/docs/component-specs.html
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Mount
イベントのadd, removeに
よく使われる
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
shouldComponentUpdate
再レンダーのタイミングを制御できる
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Flux
• Facebookが提唱しているアーキテクチャ
• 特定のフレームワークの名前ではない
• 「MVC」と同じレイヤーの話
• View, Store, Dispatcher
• ViewはReact.js
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
https://github.com/facebook/flux
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store Callback()
Action
Creater()
Web
API
dispatch()
ActionChange
Event
User
Interaction
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store
①クリックとか
Callback()
Action
Creater()
Web
API
dispatch()
ActionChange
Event
User
Interaction
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store
②ActionCreater
実行
Callback()
Action
Creater()
Web
API
dispatch()
ActionChange
Event
User
Interaction
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store Callback()
Action
Creater()
Web
API
dispatch()
Action
③Actionを発行
Change
Event
User
Interaction
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store Callback()
④Storeの
Callbackを実行
Action
Creater()
Web
API
dispatch()
ActionChange
Event
User
Interaction
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store Callback()
Action
Creater()
Web
API
dispatch()
ActionChange
Event
⑤内部の状態を
変更
User
Interaction
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store Callback()
Action
Creater()
Web
API
dispatch()
Action
⑥変更を通知Change
Event
User
Interaction
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store Callback()
Action
Creater()
Web
API
dispatch()
Action
⑦View更新
User
Interaction
Change
Event
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher
Views
Store Callback()
Action
Creater()
Web
API
dispatch()
ActionChange
Event
User
Interaction
データの流れが
一方通行
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
例)Todoリスト
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
<Application />
<TodoItem/>
<TodoItem/>
<TodoItem/>
<TodoItem/>
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
フレームワーク
• 今回は「Fluxxor」を使う
• http://fluxxor.com/
• シンプルで小さいので理解しやすい
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Dispatcher作成
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Action Creatorたち
dispatcher.dispatch()
を実行
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
TodoStore作成
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
TodoStore作成
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
TodoStore作成
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
<Application />
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
<Application />
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
<Application />
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
<Application />
まとめ
シンプルでよい
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
Don't React
http://staltz.com/dont-react/
©2014 Rich Lab Co., Ltd. All Rights Reserved.
無断利用・転載禁止
他の仮想DOM系も
追っていきたい
• https://github.com/Matt-Esch/
virtual-dom
• https://github.com/segmentio/deku
Thank you:)
@pirosikick
(ぴろしきっく)

More Related Content

What's hot

#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみましたYahoo!デベロッパーネットワーク
 
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたJJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたKoichi Sakata
 
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶおっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶdcubeio
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと心 谷本
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Tokuhiro Matsuno
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側賢 秋穂
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo!デベロッパーネットワーク
 
【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!Sakae Saito
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発terahide
 
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会Yuki Okada
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクションTakahiro Okumura
 
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkToshiaki Maki
 
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論賢次 海老原
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Takakiyo Tanaka
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)Rakuten Group, Inc.
 

What's hot (20)

#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
 
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めたJJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
 
おっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶおっさんES6/ES2015,React.jsを学ぶ
おっさんES6/ES2015,React.jsを学ぶ
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjpElasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
 
【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
 
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
Jsug 20160422 slides
Jsug 20160422 slidesJsug 20160422 slides
Jsug 20160422 slides
 
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
 
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
XPages Day 2013 [B-3] XPages開発を始める Notes技術者のためのWeb技術概論
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
 
Spring.project
Spring.projectSpring.project
Spring.project
 

Viewers also liked

[DL輪読会]Training RNNs as Fast as CNNs
[DL輪読会]Training RNNs as Fast as CNNs[DL輪読会]Training RNNs as Fast as CNNs
[DL輪読会]Training RNNs as Fast as CNNsDeep Learning JP
 
Web開発初心者がReactをチームに導入して半年経った
Web開発初心者がReactをチームに導入して半年経ったWeb開発初心者がReactをチームに導入して半年経った
Web開発初心者がReactをチームに導入して半年経ったkazuki matsumura
 
[DL輪読会] DeepNav: Learning to Navigate Large Cities
[DL輪読会] DeepNav: Learning to Navigate Large Cities[DL輪読会] DeepNav: Learning to Navigate Large Cities
[DL輪読会] DeepNav: Learning to Navigate Large CitiesDeep Learning JP
 
[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料Deep Learning JP
 
[DLHacks 実装] The statistical recurrent unit
[DLHacks 実装] The statistical recurrent unit[DLHacks 実装] The statistical recurrent unit
[DLHacks 実装] The statistical recurrent unitDeep Learning JP
 
[DLHacks 実装]Neural Machine Translation in Linear Time
[DLHacks 実装]Neural Machine Translation in Linear Time [DLHacks 実装]Neural Machine Translation in Linear Time
[DLHacks 実装]Neural Machine Translation in Linear Time Deep Learning JP
 
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural NetworksDeep Learning JP
 
[DL輪読会]Parallel Multiscale Autoregressive Density Estimation
[DL輪読会]Parallel Multiscale Autoregressive Density Estimation[DL輪読会]Parallel Multiscale Autoregressive Density Estimation
[DL輪読会]Parallel Multiscale Autoregressive Density EstimationDeep Learning JP
 
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...Deep Learning JP
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...Deep Learning JP
 
[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images
[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images
[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People ImagesDeep Learning JP
 
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...Deep Learning JP
 
[DL輪読会]Opening the Black Box of Deep Neural Networks via Information
[DL輪読会]Opening the Black Box of Deep Neural Networks via Information[DL輪読会]Opening the Black Box of Deep Neural Networks via Information
[DL輪読会]Opening the Black Box of Deep Neural Networks via InformationDeep Learning JP
 
[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image Transformation
[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image Transformation[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image Transformation
[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image TransformationDeep Learning JP
 
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-Deep Learning JP
 
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video GenerationDeep Learning JP
 
[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networksDeep Learning JP
 

Viewers also liked (17)

[DL輪読会]Training RNNs as Fast as CNNs
[DL輪読会]Training RNNs as Fast as CNNs[DL輪読会]Training RNNs as Fast as CNNs
[DL輪読会]Training RNNs as Fast as CNNs
 
Web開発初心者がReactをチームに導入して半年経った
Web開発初心者がReactをチームに導入して半年経ったWeb開発初心者がReactをチームに導入して半年経った
Web開発初心者がReactをチームに導入して半年経った
 
[DL輪読会] DeepNav: Learning to Navigate Large Cities
[DL輪読会] DeepNav: Learning to Navigate Large Cities[DL輪読会] DeepNav: Learning to Navigate Large Cities
[DL輪読会] DeepNav: Learning to Navigate Large Cities
 
[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料
 
[DLHacks 実装] The statistical recurrent unit
[DLHacks 実装] The statistical recurrent unit[DLHacks 実装] The statistical recurrent unit
[DLHacks 実装] The statistical recurrent unit
 
[DLHacks 実装]Neural Machine Translation in Linear Time
[DLHacks 実装]Neural Machine Translation in Linear Time [DLHacks 実装]Neural Machine Translation in Linear Time
[DLHacks 実装]Neural Machine Translation in Linear Time
 
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
[DLHacks 実装] DeepPose: Human Pose Estimation via Deep Neural Networks
 
[DL輪読会]Parallel Multiscale Autoregressive Density Estimation
[DL輪読会]Parallel Multiscale Autoregressive Density Estimation[DL輪読会]Parallel Multiscale Autoregressive Density Estimation
[DL輪読会]Parallel Multiscale Autoregressive Density Estimation
 
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
 
[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images
[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images
[DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images
 
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
 
[DL輪読会]Opening the Black Box of Deep Neural Networks via Information
[DL輪読会]Opening the Black Box of Deep Neural Networks via Information[DL輪読会]Opening the Black Box of Deep Neural Networks via Information
[DL輪読会]Opening the Black Box of Deep Neural Networks via Information
 
[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image Transformation
[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image Transformation[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image Transformation
[DLHacks 実装]Perceptual Adversarial Networks for Image-to-Image Transformation
 
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
 
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
 
[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks
 

Similar to React.js + Flux入門 #scripty02

Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。Sho Yoshida
 
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦Sho Yoshida
 
スマートハウスの実験室 Connectly Lab.
スマートハウスの実験室 Connectly Lab.スマートハウスの実験室 Connectly Lab.
スマートハウスの実験室 Connectly Lab.Daisuke Kimura
 
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI [網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI Hiromichi Koga
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
Serf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfraSerf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfraNaotoshi Seo
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野livedoor
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場Shota Suzuki
 
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Tsuyoshi Nakao
 
ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座ナイル株式会社
 
IETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjpIETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjpKaoru Maeda
 
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」robotstart
 
Adobe Web 統合開発環境のご紹介
Adobe Web 統合開発環境のご紹介Adobe Web 統合開発環境のご紹介
Adobe Web 統合開発環境のご紹介Tsuyoshi Nakao
 
オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザインAtsushi Kojima
 
AITCオープンラボ: Pepper x IoT x Web
AITCオープンラボ: Pepper x IoT x WebAITCオープンラボ: Pepper x IoT x Web
AITCオープンラボ: Pepper x IoT x Webdsuke Takaoka
 

Similar to React.js + Flux入門 #scripty02 (20)

Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
 
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
 
スマートハウスの実験室 Connectly Lab.
スマートハウスの実験室 Connectly Lab.スマートハウスの実験室 Connectly Lab.
スマートハウスの実験室 Connectly Lab.
 
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI [網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
Serf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfraSerf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfra
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場
 
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
 
ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座
 
Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03
 
WordPressのセキュリティ対策
WordPressのセキュリティ対策WordPressのセキュリティ対策
WordPressのセキュリティ対策
 
IETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjpIETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjp
 
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」
 
Jaws-warrantee
Jaws-warranteeJaws-warrantee
Jaws-warrantee
 
Adobe Web 統合開発環境のご紹介
Adobe Web 統合開発環境のご紹介Adobe Web 統合開発環境のご紹介
Adobe Web 統合開発環境のご紹介
 
オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザイン
 
AITCオープンラボ: Pepper x IoT x Web
AITCオープンラボ: Pepper x IoT x WebAITCオープンラボ: Pepper x IoT x Web
AITCオープンラボ: Pepper x IoT x Web
 

More from Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

More from Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

React.js + Flux入門 #scripty02

  • 1. React.js + Flux 入門 リッチラボ株式会社 穴井宏幸 @pirosikick
 2014/12/18(Mon) SCRIPTY#2
  • 2. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 穴井 宏幸 リッチラボ株式会社 エンジニア @pirosikick (ぴろしきっく)
  • 3. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 • 普段はスマフォのリッチ広告 を作ったりしています。
  • 6.
  • 7. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 • Facebook製の • UI構築のためのライブラリ
  • 8. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 http://facebook.github.io/react/
  • 9. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 • JUST THE UI • VIRTUAL DOM • DATA FLOW
  • 11. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 • View専門のライブラリ • ルーティングやAPIリクエスト など、 • SPAを作るのに必須な機能は、 • 含まれていない
  • 12. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Hello! World
  • 13. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Hello! World !?!?
  • 14. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 JSX • JSX →(コンパイル)→ JavaScript • JSの中でタグを書く • コンパイル方法 1. JSXTransformer.js 2. react-tools
  • 15. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 JSXTransformer.js
  • 16. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 react-tools # react-toolsをインストール $ npm i -g react-tools ! # jsx/にあるJSXを # コンパイルしてjs/に出力 $ jsx jsx/ js/
  • 17. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 • Browserify → reactify • webpack → jsx-loader
  • 20. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 なぜ仮想DOMという概念が俺達の魂を震えさせるのか http://qiita.com/mizchi/items/4d25bc26def1719d52e6
  • 21. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 • 仮想のツリーを持つ • そこで差分を計算して、 • 本物のDOMに反映する • 高速、処理がシンプルに
  • 22. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Model View DOM 初期データ 追加 削除変更 初期レンダー 追加 削除変更 従来
  • 23. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 View Model DOM 初期データ 追加 削除変更 初期レンダー 追加 削除変更 それぞれ処理が必要 従来
  • 24. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Store View DOM 最新の状態を参照 Virtual DOM 変更を通知 レンダー 古 新 差分 差分を反映 ←比較→ VDOM
  • 25. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Store View DOM Virtual DOM 変更を通知 レンダー 古 新 差分 差分を反映 ←比較→ シンプル!!!! VDOM 最新の状態を参照
  • 26. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Store View DOM 最新の状態を参照 Virtual DOM 変更を通知 レンダー 古 新 差分 差分を反映 ←比較→ DOM操作は 賢くやってくれる VDOM
  • 28. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 親 子
  • 29. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 親 子
  • 30. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 親 子 属性経由でデータを渡す
  • 31. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 • this.props • 親→子の一方通行 • 理解しやすい
  • 33. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 propsのValidation
  • 34. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 propsのValidation
  • 35. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 propsのValidation
  • 36. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 this.state
  • 37. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 this.state stateが更新されると再レンダーされる
  • 38. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 イベント
  • 39. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 イベント • Eventはラップされてる • ブラウザ差異は気にしなくてよい • stopPropergation, preventDefault
 も実行可能
  • 40. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 ライフサイクル
 メソッド http://facebook.github.io/react/docs/component-specs.html
  • 41. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Mount イベントのadd, removeに よく使われる
  • 42. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 shouldComponentUpdate 再レンダーのタイミングを制御できる
  • 43. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止
  • 44. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Flux • Facebookが提唱しているアーキテクチャ • 特定のフレームワークの名前ではない • 「MVC」と同じレイヤーの話 • View, Store, Dispatcher • ViewはReact.js
  • 45. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 https://github.com/facebook/flux
  • 46. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store Callback() Action Creater() Web API dispatch() ActionChange Event User Interaction
  • 47. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store ①クリックとか Callback() Action Creater() Web API dispatch() ActionChange Event User Interaction
  • 48. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store ②ActionCreater 実行 Callback() Action Creater() Web API dispatch() ActionChange Event User Interaction
  • 49. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store Callback() Action Creater() Web API dispatch() Action ③Actionを発行 Change Event User Interaction
  • 50. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store Callback() ④Storeの Callbackを実行 Action Creater() Web API dispatch() ActionChange Event User Interaction
  • 51. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store Callback() Action Creater() Web API dispatch() ActionChange Event ⑤内部の状態を 変更 User Interaction
  • 52. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store Callback() Action Creater() Web API dispatch() Action ⑥変更を通知Change Event User Interaction
  • 53. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store Callback() Action Creater() Web API dispatch() Action ⑦View更新 User Interaction Change Event
  • 54. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher Views Store Callback() Action Creater() Web API dispatch() ActionChange Event User Interaction データの流れが 一方通行
  • 55. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 例)Todoリスト
  • 56. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 <Application /> <TodoItem/> <TodoItem/> <TodoItem/> <TodoItem/>
  • 57. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 フレームワーク • 今回は「Fluxxor」を使う • http://fluxxor.com/ • シンプルで小さいので理解しやすい
  • 58. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Dispatcher作成
  • 59. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Action Creatorたち dispatcher.dispatch() を実行
  • 60. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 TodoStore作成
  • 61. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 TodoStore作成
  • 62. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 TodoStore作成
  • 63. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 <Application />
  • 64. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 <Application />
  • 65. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 <Application />
  • 66. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 <Application />
  • 69. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 Don't React http://staltz.com/dont-react/
  • 70. ©2014 Rich Lab Co., Ltd. All Rights Reserved. 無断利用・転載禁止 他の仮想DOM系も 追っていきたい • https://github.com/Matt-Esch/ virtual-dom • https://github.com/segmentio/deku