SlideShare a Scribd company logo
1 of 35
Download to read offline
4GCEVKXG#PFTQKF
#IGPFC 
! 
• Reactive Programmingって何? 
• Android で使えるの? 
• 実際に作ってみる 
• まとめ
4GCEVKXG2TQITCOOKPI闋闎∶獑
䧕訳闁闳闐 
⚮㊽䥥防陈阋附阺陎阋
“Reactive Programmingは 
データフローと変化の伝播を中心とした 
プログラミングパラダイムである” 
–Wiki (意訳)
“FRPは非同期データストリームを用いる 
プログラミングである” 
–@andrestaltz
“Reactive Programmingとは 
Reactive Programming的考え方を 
実現するプログラミング手法のこと” 
–Kugimiya 
プログラミング手法の話をしているのに、 
名前のない考え方を 
内包しているので伝えにくい
4GCEVKXG2TQITCOOKPI䥥勤閰㢚 
闐闗獑 
データの流れや変化が自動でインタラクティブに 
Viewなどに反映させる考え方
1, こんな状態 
≬閰闘閻闻闒㐀闀 
2, B2に =A1+A2をいれると 
3, 加算されて3が表示される 
4, A2を4に変更する 
5, B2が反応して5になる!!
閻间闺銙䛟闁闳䎛闓㧕闓箞㹫闒Ⅼ闺勤閰闳 
ストリームという概念で物事をとらえる。 
 ストリームとは、 
時間順に並んだ進行中のイベントの列 
time 
です。 
1つのストリーム 
イベントイベントイベントイベント
time 
ストリームを考える事で、 
A1に1 A2に2 A1に3 
B2を1 B2を3 B2を4 
反応(Reactive)できる! 
注: 画像はイメージです。 
パフォーマンスがあがる訳ではありません
㡕䛧闁闳闐 
Reactive Programmingとは 
データの流れや変化が自動でインタラクティブに 
Viewなどに反映させる考え方を 
実現する為に 
物事をストリームでとらえて 
プログラミングする手法 
です
闉闒闧闓珯珯珯
4GCEVKXG2TQITCOKPI闖∮剏闍閹闗 
㐀屻䥥闓閻闻闒㐀闀 
・オブジェクト指向 
・関数型> ・MVC 
・MVVM > Reactive 
 
(=) 
Programming 
デザイン 
パターン> スニペット
4GCEVKXG2TQITCOOKPI闗 
#PFTQKF闏≠閰闳闖獑
≠閰闦闁
4Z#PFTQKF闺瞪⑆闁闳閻闐闏伂☹闓 
4GCEVKXG2TQITCOOKPI闏銙蜐閴闏閵闦闁 
RxAndroidとはRxJavaのAndroid Moduleです。 
RxJavaはJavaでReactive Programmingを行う為の 
ライブラリです。
瞪⑆闗伂☹ 
Gradleファイルに下記を書くだけ
銙楼闓∽闋闎闧闳猳
伂☹闒闪闖闺∽闋闎闧闳镩 
【仕様】 
ボタン1かボタン2を 
押すと 
カウントが1増える。 
! 
それだけ。
4GCEVKXG2TQITCOOKPI闋闥閷勤閰闎闧闳 
time 
InputAのストリーム 
クリック 
time 
InputBのストリーム 
time 
見るべきのストリーム 
クリッククリッククリック 
二つをmerge! 
クリッククリック 
クリッククリッククリッククリッククリッククリック
4GCEVKXG2TQITCOOKPI闋闥閷勤閰闎闧闳 
time 
見るべきストリーム 
表示表示表示表示表示表示 
ストリームを監視してoutputに出力する
銙蜐猳 
InputAのストリームを作成 
InputBのストリームを作成 
ストリームをmerge! 
Rx○○ではObserverパターンを適用していて、 
ストリームが監視対象のため 
ストリームの事をObservableと読んでます。
屬闳闡閵阔阣际閥阻闺簬屷閿闎 
QWVRWV闓孉䰛闁闳 
subscribeで監視し、 
Actionにイベント追加時の処理を書く
伂☹闒闪闖闺∽闋闎闧闳镪 
【仕様】 
outputに常に 
A と Bの加算された値が 
表示される。 
! 
ただそれだけ。
4GCEVKXG2TQITCOOKPI闋闥閷勤閰闎闧闳 
time 
値変更 
InputAのストリーム 
値変更値変更値変更 
time 
値変更 
InputBのストリーム 
値変更 
time 
値変更 
見るべきのストリーム 
値変更値変更値変更値変更値変更 
merge!!
time 
OGTIG閿闇⬕⛩珮閻閮闒闳 
Bの値変更 
見るべきのストリーム 
Aの値変更Bの値変更Aの値変更Aの値変更Aの値変更 
19 1 20 22 5 9 
19 + ?を表示?+5を表示 
欲しいのは両方の値!
EQODKPG.CVGUV闺≠閲閮 
time 
値変更 
InputAのストリーム 
値変更値変更値変更 
time 
値変更 
InputBのストリーム 
値変更 
combineLatest! 
time 
値変更 
見るべきのストリーム 
値変更値変更値変更値変更値変更
ㄙ闓闪閮䔨㢚闖磷砒闖闿阴陎阣闐 
time 
阖阞阣闓閿闎閷间闳 
値変更 
見るべきのストリーム 
値変更値変更値変更値変更値変更 
表示表示表示表示表示表示 
これで加算が可能。 
あとはこのストリームを監視してoutputに出力するだけ
銙蜐猳 
InputAのストリームを作成 
InputBのストリームを作成
⛩∴猳 
見るべきストリームを作成 
combineLatestを使って合体する
屬闳闡閵阔阣际閥阻闺簬屷閿闎 
QWVRWV闓孉䰛闁闳 
subscribeで監視し、 
Actionにイベント追加時の処理を書く
↷闓闗閵闋闐閻闻闒Ⅼ闓≠閰闳 

闖闏闗闒閳闵閮閳 
・/QFGN%QPVTQNNGT闖闌闒閶 
・*VVR聆⋂闖际阊阃阔阣陇阔阸陎阔 
闒闑闒闑 
闐闗閬閰珮 
'XGT[VJKPIKUUVTGCO闱閿閬闖闏闒闻闏闪閬閹闳闗闂珯
闦闐闩
・4GCEVKXG2TQITCOKPI闋闎∶闆闬闺䛧缷閿闒閬闐 
ֺ哋ⓧ閴∶閿闎闳閳闰閷闷閳闱闒閬珮㨍㈴闓 
! 
・倱⼡阸闿陎阣闗∶闺阔阣际閥阻闐闁闳閳闈闐㋾閮 
! 
・∶闺阔阣际閥阻闐閿闎㕒閮閳闒闑闖 
ֺ阴阔阣防附阊阡闾阔闗闦闈闧闻闒㴂倃ℎ㐀

More Related Content

Viewers also liked

Android wear ui guidelines ( and Circle Design UX )
Android wear ui guidelines ( and Circle Design UX )Android wear ui guidelines ( and Circle Design UX )
Android wear ui guidelines ( and Circle Design UX )Yukio Andoh
 
Shared Preferences Anti Pattern
Shared Preferences Anti PatternShared Preferences Anti Pattern
Shared Preferences Anti PatternShinobu Okano
 
王道的な使い方 Android Wear
王道的な使い方 Android Wear王道的な使い方 Android Wear
王道的な使い方 Android WearMima Yuki
 
Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Kenichi Kambara
 
ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較Akira Sasaki
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0David Delabassee
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Androidyo_waka
 
開発効率アンチパターン
開発効率アンチパターン開発効率アンチパターン
開発効率アンチパターンshinnosuke kugimiya
 
Effective SQLite For Android
Effective SQLite For AndroidEffective SQLite For Android
Effective SQLite For AndroidShinobu Okano
 
Reactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にReactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にYoshifumi Kawai
 
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃんRetrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃんYukari Sakurai
 
JavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j FrameworkJavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j FrameworkMiro Wengner
 
Top 10 Ways to Ally for Women in Technology
Top 10 Ways to Ally for Women in TechnologyTop 10 Ways to Ally for Women in Technology
Top 10 Ways to Ally for Women in TechnologyHeather VanCura
 
2016 JCP Year End Summary
2016 JCP Year End Summary2016 JCP Year End Summary
2016 JCP Year End SummaryHeather VanCura
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014Koji Hasegawa
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプラインkyon mm
 
Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)Dmitry Kornilov
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはNozomi Ito
 

Viewers also liked (20)

Android wear ui guidelines ( and Circle Design UX )
Android wear ui guidelines ( and Circle Design UX )Android wear ui guidelines ( and Circle Design UX )
Android wear ui guidelines ( and Circle Design UX )
 
Shared Preferences Anti Pattern
Shared Preferences Anti PatternShared Preferences Anti Pattern
Shared Preferences Anti Pattern
 
王道的な使い方 Android Wear
王道的な使い方 Android Wear王道的な使い方 Android Wear
王道的な使い方 Android Wear
 
Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Android Wearアプリ開発経験談
Android Wearアプリ開発経験談
 
ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Android
 
開発効率アンチパターン
開発効率アンチパターン開発効率アンチパターン
開発効率アンチパターン
 
Effective SQLite For Android
Effective SQLite For AndroidEffective SQLite For Android
Effective SQLite For Android
 
Adopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UKAdopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UK
 
Reactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にReactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単に
 
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃんRetrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
 
JavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j FrameworkJavaOne 2016 :: Bringing Robot online with Robo4j Framework
JavaOne 2016 :: Bringing Robot online with Robo4j Framework
 
Top 10 Ways to Ally for Women in Technology
Top 10 Ways to Ally for Women in TechnologyTop 10 Ways to Ally for Women in Technology
Top 10 Ways to Ally for Women in Technology
 
2016 JCP Year End Summary
2016 JCP Year End Summary2016 JCP Year End Summary
2016 JCP Year End Summary
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)Adopt-a-JSR session (JSON-B/P)
Adopt-a-JSR session (JSON-B/P)
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
 
Stac2014 石川
Stac2014 石川Stac2014 石川
Stac2014 石川
 

Similar to Reactive android

LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~典子 松本
 
オブジェクト指向最強
オブジェクト指向最強オブジェクト指向最強
オブジェクト指向最強haganemetal
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。Akihiro Kuwano
 
Reactive cocoaをかじってみた。
Reactive cocoaをかじってみた。Reactive cocoaをかじってみた。
Reactive cocoaをかじってみた。孝文 田村
 
Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門Keisuke Takahashi
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)
コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)
コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)cvpaper. challenge
 
Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門hoxo_m
 
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状Keiichiro Ono
 
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方Yuki Ishikawa
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version Mikiya Okuno
 
「ディープラーニングでは、エコシステムが大切よ!」
 「ディープラーニングでは、エコシステムが大切よ!」 「ディープラーニングでは、エコシステムが大切よ!」
「ディープラーニングでは、エコシステムが大切よ!」Mr. Vengineer
 
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラインフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラsusumu tanaka
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Tatsuya Tojima
 
Reactive Systems と Back Pressure
Reactive Systems と Back PressureReactive Systems と Back Pressure
Reactive Systems と Back PressureAkihiro Ikezoe
 
20200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その220200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その2Hikaru Tanaka
 
20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回Yusuke Yokozawa
 
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たちAndroid案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たちYamashita Takeshi
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 

Similar to Reactive android (20)

LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
 
オブジェクト指向最強
オブジェクト指向最強オブジェクト指向最強
オブジェクト指向最強
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
 
Reactive cocoaをかじってみた。
Reactive cocoaをかじってみた。Reactive cocoaをかじってみた。
Reactive cocoaをかじってみた。
 
Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)
コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)
コンピュータビジョンの今を映す-CVPR 2017 速報より- (夏のトップカンファレンス論文読み会)
 
Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門
 
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
 
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version
 
「ディープラーニングでは、エコシステムが大切よ!」
 「ディープラーニングでは、エコシステムが大切よ!」 「ディープラーニングでは、エコシステムが大切よ!」
「ディープラーニングでは、エコシステムが大切よ!」
 
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラインフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
 
Reactive Systems と Back Pressure
Reactive Systems と Back PressureReactive Systems と Back Pressure
Reactive Systems と Back Pressure
 
20200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その220200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その2
 
20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回
 
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たちAndroid案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
Android案件見積りに現れる要素、あるいは丁寧に埋設された地雷たち
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 

More from shinnosuke kugimiya

このあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMしたこのあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMしたshinnosuke kugimiya
 
これからの設計の話をしよう
これからの設計の話をしようこれからの設計の話をしよう
これからの設計の話をしようshinnosuke kugimiya
 
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)例の縛るやつ(Data binding)
例の縛るやつ(Data binding)shinnosuke kugimiya
 
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話shinnosuke kugimiya
 
Model View Presenter for Android
Model View Presenter for AndroidModel View Presenter for Android
Model View Presenter for Androidshinnosuke kugimiya
 
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRあの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRshinnosuke kugimiya
 

More from shinnosuke kugimiya (11)

Coordinator Layout Behavior
Coordinator Layout BehaviorCoordinator Layout Behavior
Coordinator Layout Behavior
 
Framework code reading
Framework code readingFramework code reading
Framework code reading
 
読むと怖くないDagger2
読むと怖くないDagger2読むと怖くないDagger2
読むと怖くないDagger2
 
このあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMしたこのあと滅茶苦茶LGTMした
このあと滅茶苦茶LGTMした
 
just one line
just one linejust one line
just one line
 
これからの設計の話をしよう
これからの設計の話をしようこれからの設計の話をしよう
これからの設計の話をしよう
 
例の縛るやつ(Data binding)
例の縛るやつ(Data binding)例の縛るやつ(Data binding)
例の縛るやつ(Data binding)
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecture
 
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
 
Model View Presenter for Android
Model View Presenter for AndroidModel View Presenter for Android
Model View Presenter for Android
 
あの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoRあの日見たMVCを僕たちはまだ知らない for RoR
あの日見たMVCを僕たちはまだ知らない for RoR
 

Reactive android