SlideShare a Scribd company logo
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
好きです
よろしく
お願い致します
React.js + Flux入門 #scripty02
©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 (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に変えてみました
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_52
Yahoo!デベロッパーネットワーク
 
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjpElasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Yahoo!デベロッパーネットワーク
 
【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
 
Jsug 20160422 slides
Jsug 20160422 slidesJsug 20160422 slides
Jsug 20160422 slides
Yuichi Hasegawa
 
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
Toshiaki 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
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
Yahoo!デベロッパーネットワーク
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
Rakuten Group, Inc.
 
Spring.project
Spring.projectSpring.project
Spring.project
広平 田村
 
#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_52
Yahoo!デベロッパーネットワーク
 
【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 #springframework
Toshiaki 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.
 

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
Deep 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 Cities
Deep 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 unit
Deep 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 Networks
Deep 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 Estimation
Deep 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 Images
Deep 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 Information
Deep 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 Transformation
Deep 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 Generation
Deep 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 networks
Deep Learning JP
 
[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
Deep 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 Cities
Deep 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 unit
Deep 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 Networks
Deep 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 Estimation
Deep 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 Images
Deep 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 Information
Deep 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 Transformation
Deep 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 Generation
Deep 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 networks
Deep Learning JP
 
Ad

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
softlayerjp
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
Sho Yoshida
 
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
Sho Yoshida
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
 
スマートハウスの実験室 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 ツール #immutableinfra
Naotoshi 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 2014
Tsuyoshi Nakao
 
ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座
ナイル株式会社
 
Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03Service Workerとの戦い ~ 実装編 ~ #scripty03
Service Workerとの戦い ~ 実装編 ~ #scripty03
Yahoo!デベロッパーネットワーク
 
IETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjpIETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjp
Kaoru Maeda
 
html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」html5jロボット部 第3回勉強会「ロボット × ビジネス」
html5jロボット部 第3回勉強会「ロボット × ビジネス」
robotstart
 
Jaws-warrantee
Jaws-warranteeJaws-warrantee
Jaws-warrantee
yusuke Shouno
 
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 Web
dsuke Takaoka
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
softlayerjp
 
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
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 ツール #immutableinfra
Naotoshi 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 2014
Tsuyoshi Nakao
 
ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座ウェブマスターツールの使い方徹底講座
ウェブマスターツールの使い方徹底講座
ナイル株式会社
 
IETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjpIETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjp
Kaoru 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 Web
dsuke Takaoka
 
Ad

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

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

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. 無断利用・転載禁止 • 普段はスマフォのリッチ広告 を作ったりしています。
  • 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