Submit Search
Upload
前任者から引き継いだ Eight Android アプリ内部の改善
•
Download as PPTX, PDF
•
5 likes
•
2,290 views
健一 辰濱
Follow
Sansan tech meetup #1 モバイルアプリ編 https://sansan.connpass.com/event/48510/ 発表資料
Read less
Read more
Software
Report
Share
Report
Share
1 of 41
Download now
Recommended
Kotlin 使いになりました
Kotlin 使いになりました
健一 辰濱
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
健一 辰濱
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
健一 辰濱
Firebase Test Lab 無料枠を使ってみました。
Firebase Test Lab 無料枠を使ってみました。
cch-robo
AWA with Realm
AWA with Realm
Yuji Hato
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
今城 善矩
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10
Yasuharu Suzuki
Recommended
Kotlin 使いになりました
Kotlin 使いになりました
健一 辰濱
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
健一 辰濱
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
健一 辰濱
Firebase Test Lab 無料枠を使ってみました。
Firebase Test Lab 無料枠を使ってみました。
cch-robo
AWA with Realm
AWA with Realm
Yuji Hato
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
今城 善矩
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10
Yasuharu Suzuki
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
JOYZO
さばわのわ#2 AWS SDK for PHP で学ぶAthena
さばわのわ#2 AWS SDK for PHP で学ぶAthena
Takaki Sugitani
AWS Lambda in Golang
AWS Lambda in Golang
Koichiro Nishijima
メール受信も API Gateway と Lambda で!〜サービス連携でPaaSを拡張〜
メール受信も API Gateway と Lambda で!〜サービス連携でPaaSを拡張〜
宗 大栗
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
Akira Nagata
初めてのLambda(ラムダ)
初めてのLambda(ラムダ)
Fumitaka Nishiyama
Alibaba Cloudのベンチマークテスト
Alibaba Cloudのベンチマークテスト
Kazunori Inaba
スマホアプリ自動テストサービス
スマホアプリ自動テストサービス
Koh Uehara
GAS + SaaS時々 AWSで自動化
GAS + SaaS時々 AWSで自動化
Mitsuhiro Yamashita
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
Midori Ikegami
20160312 Jaws Days 2016 API Gateway+Lambda
20160312 Jaws Days 2016 API Gateway+Lambda
Kazuki Ueki
Zaim 500万ユーザに向けて
Zaim 500万ユーザに向けて
Wataru Nishimoto
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
Mitsuhiro Yamashita
20160705 ふたつのAuroraクラスタを同期した話
20160705 ふたつのAuroraクラスタを同期した話
Wataru Nishimoto
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
Yasuharu Suzuki
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
Kahori Takeda
JAWS-UG Lightning Talk 2010-04-07
JAWS-UG Lightning Talk 2010-04-07
axsh co., LTD.
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
Jawsug chiba API Gateway
Jawsug chiba API Gateway
Takuro Sasaki
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
chocolamint
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
健一 辰濱
More Related Content
What's hot
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
JOYZO
さばわのわ#2 AWS SDK for PHP で学ぶAthena
さばわのわ#2 AWS SDK for PHP で学ぶAthena
Takaki Sugitani
AWS Lambda in Golang
AWS Lambda in Golang
Koichiro Nishijima
メール受信も API Gateway と Lambda で!〜サービス連携でPaaSを拡張〜
メール受信も API Gateway と Lambda で!〜サービス連携でPaaSを拡張〜
宗 大栗
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
Akira Nagata
初めてのLambda(ラムダ)
初めてのLambda(ラムダ)
Fumitaka Nishiyama
Alibaba Cloudのベンチマークテスト
Alibaba Cloudのベンチマークテスト
Kazunori Inaba
スマホアプリ自動テストサービス
スマホアプリ自動テストサービス
Koh Uehara
GAS + SaaS時々 AWSで自動化
GAS + SaaS時々 AWSで自動化
Mitsuhiro Yamashita
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
Midori Ikegami
20160312 Jaws Days 2016 API Gateway+Lambda
20160312 Jaws Days 2016 API Gateway+Lambda
Kazuki Ueki
Zaim 500万ユーザに向けて
Zaim 500万ユーザに向けて
Wataru Nishimoto
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
Mitsuhiro Yamashita
20160705 ふたつのAuroraクラスタを同期した話
20160705 ふたつのAuroraクラスタを同期した話
Wataru Nishimoto
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
Yasuharu Suzuki
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
Kahori Takeda
JAWS-UG Lightning Talk 2010-04-07
JAWS-UG Lightning Talk 2010-04-07
axsh co., LTD.
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
Jawsug chiba API Gateway
Jawsug chiba API Gateway
Takuro Sasaki
What's hot
(20)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
さばわのわ#2 AWS SDK for PHP で学ぶAthena
さばわのわ#2 AWS SDK for PHP で学ぶAthena
AWS Lambda in Golang
AWS Lambda in Golang
メール受信も API Gateway と Lambda で!〜サービス連携でPaaSを拡張〜
メール受信も API Gateway と Lambda で!〜サービス連携でPaaSを拡張〜
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
初めてのLambda(ラムダ)
初めてのLambda(ラムダ)
Alibaba Cloudのベンチマークテスト
Alibaba Cloudのベンチマークテスト
スマホアプリ自動テストサービス
スマホアプリ自動テストサービス
GAS + SaaS時々 AWSで自動化
GAS + SaaS時々 AWSで自動化
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
20160429 JAWS-UG沖縄 Cloud on the BEACH 2016 AWS全サービス紹介
20160312 Jaws Days 2016 API Gateway+Lambda
20160312 Jaws Days 2016 API Gateway+Lambda
Zaim 500万ユーザに向けて
Zaim 500万ユーザに向けて
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
20160705 ふたつのAuroraクラスタを同期した話
20160705 ふたつのAuroraクラスタを同期した話
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
JAWS-UG Lightning Talk 2010-04-07
JAWS-UG Lightning Talk 2010-04-07
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Jawsug chiba API Gateway
Jawsug chiba API Gateway
Viewers also liked
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
chocolamint
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
健一 辰濱
Eightにおけるエンジニア主導の取り組み
Eightにおけるエンジニア主導の取り組み
Sansan
成長するサービスを支えるAPI管理
成長するサービスを支えるAPI管理
Hideharu Okuma
つながりを加速させる、Eightのリアルタイムリコメンデーション技術
つながりを加速させる、Eightのリアルタイムリコメンデーション技術
Yotaro Fujii
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
JAWS DAYS 2017 ランチセッション
JAWS DAYS 2017 ランチセッション
Tetsuya Mase
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
Yotaro Fujii
Android cleanarchitecture
Android cleanarchitecture
Tomoaki Imai
結果を出すチームビルディング術
結果を出すチームビルディング術
Mao Ohnishi
プロダクトマネージャーとエンジニアで行う改善サイクル 3つのP
プロダクトマネージャーとエンジニアで行う改善サイクル 3つのP
絵里子 尾部
可視化法学-大和超券ステージ
可視化法学-大和超券ステージ
(shibao)芝尾 (kouichiro)幸一郎
Designers Pit 01 Origamiを使ったプロトタイプ作成を学ぼう
Designers Pit 01 Origamiを使ったプロトタイプ作成を学ぼう
Ryo Yoshitake
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
健一 辰濱
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
健一 辰濱
RxBinding-kotlin
RxBinding-kotlin
Satoru Fujiwara
エクセルで学ぶビジネスシミュレーション②: 実践編
エクセルで学ぶビジネスシミュレーション②: 実践編
Hitoshi Kumano
エクセルで学ぶビジネス・シミュレーション①: 超入門
エクセルで学ぶビジネス・シミュレーション①: 超入門
Hitoshi Kumano
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
健一 辰濱
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Yoshitaka Fujii
Viewers also liked
(20)
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
Eightにおけるエンジニア主導の取り組み
Eightにおけるエンジニア主導の取り組み
成長するサービスを支えるAPI管理
成長するサービスを支えるAPI管理
つながりを加速させる、Eightのリアルタイムリコメンデーション技術
つながりを加速させる、Eightのリアルタイムリコメンデーション技術
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
JAWS DAYS 2017 ランチセッション
JAWS DAYS 2017 ランチセッション
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
Android cleanarchitecture
Android cleanarchitecture
結果を出すチームビルディング術
結果を出すチームビルディング術
プロダクトマネージャーとエンジニアで行う改善サイクル 3つのP
プロダクトマネージャーとエンジニアで行う改善サイクル 3つのP
可視化法学-大和超券ステージ
可視化法学-大和超券ステージ
Designers Pit 01 Origamiを使ったプロトタイプ作成を学ぼう
Designers Pit 01 Origamiを使ったプロトタイプ作成を学ぼう
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
RxBinding-kotlin
RxBinding-kotlin
エクセルで学ぶビジネスシミュレーション②: 実践編
エクセルで学ぶビジネスシミュレーション②: 実践編
エクセルで学ぶビジネス・シミュレーション①: 超入門
エクセルで学ぶビジネス・シミュレーション①: 超入門
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Similar to 前任者から引き継いだ Eight Android アプリ内部の改善
アプリの不具合を少なくするために
アプリの不具合を少なくするために
健一 辰濱
kintone x Sansan連携事始め~カスタマイズまで
kintone x Sansan連携事始め~カスタマイズまで
Katsuki Ito
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNA
アプリ開発作業の効率改善
アプリ開発作業の効率改善
健一 辰濱
いまさら聞けないRancherの話
いまさら聞けないRancherの話
Ryotaro Kobayashi
DevSumi 2014[14-C-5]
DevSumi 2014[14-C-5]
Kaoru NAKAMURA
20150219 ベストアプリ勉強会 アプリ評価を上げて物理でなぐればいい
20150219 ベストアプリ勉強会 アプリ評価を上げて物理でなぐればいい
Kenta Kuwata
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a Service
Makoto Haruyama
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
leverages_event
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
Isamu Suzuki
Introducing Sencha Space
Introducing Sencha Space
久司 中村
ビジネスの出会い × API が広げるビジネスの可能性
ビジネスの出会い × API が広げるビジネスの可能性
API Meetup
ProductManagement / front-endin Sansan( & remote work)
ProductManagement / front-endin Sansan( & remote work)
Iwashita Hironori
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
Sho Yoshida
オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果
Masato Kataoka
Robotium を使った UI テスト
Robotium を使った UI テスト
健一 辰濱
AWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現する
久司 中村
社員数100名の壁を越える タイミングに在籍する、 組織・サービスを支える プロダクトチームの 苦悩と喜び−ランサーズ− のサマリ
社員数100名の壁を越える タイミングに在籍する、 組織・サービスを支える プロダクトチームの 苦悩と喜び−ランサーズ− のサマリ
Satoshi Yokoi
Datadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stack
Masatomo Ito
Developers Summit 2014【13-C-3】Smashing Android UI, Androidデザインの極意
Developers Summit 2014【13-C-3】Smashing Android UI, Androidデザインの極意
Nobuya Sato
Similar to 前任者から引き継いだ Eight Android アプリ内部の改善
(20)
アプリの不具合を少なくするために
アプリの不具合を少なくするために
kintone x Sansan連携事始め~カスタマイズまで
kintone x Sansan連携事始め~カスタマイズまで
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
アプリ開発作業の効率改善
アプリ開発作業の効率改善
いまさら聞けないRancherの話
いまさら聞けないRancherの話
DevSumi 2014[14-C-5]
DevSumi 2014[14-C-5]
20150219 ベストアプリ勉強会 アプリ評価を上げて物理でなぐればいい
20150219 ベストアプリ勉強会 アプリ評価を上げて物理でなぐればいい
DeNAのゲーム開発を支える Game Backend as a Service
DeNAのゲーム開発を支える Game Backend as a Service
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
Introducing Sencha Space
Introducing Sencha Space
ビジネスの出会い × API が広げるビジネスの可能性
ビジネスの出会い × API が広げるビジネスの可能性
ProductManagement / front-endin Sansan( & remote work)
ProductManagement / front-endin Sansan( & remote work)
愛せよ、さもなくば捨てよ。
愛せよ、さもなくば捨てよ。
オンプレからAuroraへの移行とその効果
オンプレからAuroraへの移行とその効果
Robotium を使った UI テスト
Robotium を使った UI テスト
AWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現する
社員数100名の壁を越える タイミングに在籍する、 組織・サービスを支える プロダクトチームの 苦悩と喜び−ランサーズ− のサマリ
社員数100名の壁を越える タイミングに在籍する、 組織・サービスを支える プロダクトチームの 苦悩と喜び−ランサーズ− のサマリ
Datadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stack
Developers Summit 2014【13-C-3】Smashing Android UI, Androidデザインの極意
Developers Summit 2014【13-C-3】Smashing Android UI, Androidデザインの極意
More from 健一 辰濱
地方創生ワカモノ会合
地方創生ワカモノ会合
健一 辰濱
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
健一 辰濱
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
健一 辰濱
Android 開発の昔と今
Android 開発の昔と今
健一 辰濱
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
健一 辰濱
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
健一 辰濱
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
健一 辰濱
Firebase Summit 2019 Recap
Firebase Summit 2019 Recap
健一 辰濱
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
健一 辰濱
Firebase hands on in Matsuyama
Firebase hands on in Matsuyama
健一 辰濱
インドのインターネット環境との戦い方
インドのインターネット環境との戦い方
健一 辰濱
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
健一 辰濱
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
健一 辰濱
企業スポンサー
企業スポンサー
健一 辰濱
参加したセッションのピックアップ
参加したセッションのピックアップ
健一 辰濱
CFP(Call For Paper)を出す話
CFP(Call For Paper)を出す話
健一 辰濱
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
健一 辰濱
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
健一 辰濱
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
健一 辰濱
More from 健一 辰濱
(20)
地方創生ワカモノ会合
地方創生ワカモノ会合
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
Android 開発の昔と今
Android 開発の昔と今
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
Firebase Summit 2019 Recap
Firebase Summit 2019 Recap
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
Firebase hands on in Matsuyama
Firebase hands on in Matsuyama
インドのインターネット環境との戦い方
インドのインターネット環境との戦い方
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
企業スポンサー
企業スポンサー
参加したセッションのピックアップ
参加したセッションのピックアップ
CFP(Call For Paper)を出す話
CFP(Call For Paper)を出す話
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
前任者から引き継いだ Eight Android アプリ内部の改善
1.
前任者から引き継いだ Eight Android アプリ内部の改善 2017/02/16 Sansan
tech meetup #1 モバイルアプリ編 Sansan 株式会社 Eight 事業部 辰濱健一
2.
Copyright © 2014
Sansan, Inc. All rights reserved. #Sansan_tech_meetup 1
3.
Copyright © 2014
Sansan, Inc. All rights reserved. 2
4.
Copyright © 2014
Sansan, Inc. All rights reserved. 3 【公開自粛】
5.
Copyright © 2014
Sansan, Inc. All rights reserved. > 自己紹介 4 • 辰濱健一 @tatsuhama50 • 徳島生まれ、奈良育ち、徳島県在住 • 2回転職するも、いずれも徳島県内勤務 • Tokushima.app 主催 (徳島でのスマホアプリの勉強会) • Sansan株式会社所属 • 古民家を改修した神山ラボ勤務 • 名刺アプリ Eight Android 版の開発 • Kotlin, RxJava, Realm, … を使ってます • リモートワーク • 趣味は楽器演奏
6.
Copyright © 2014
Sansan, Inc. All rights reserved. > Sansan神山ラボ 5
7.
Copyright © 2014
Sansan, Inc. All rights reserved. > 趣味 6 • 楽器演奏(エレクトーン・トランペット) • 徳島県内のイベントで、ちらほら演奏する機会を頂い てます
8.
Copyright © 2014
Sansan, Inc. All rights reserved. Eight Android アプリ関係者の推移 7 #1 #2 #3 #4 #5 #6
9.
Copyright © 2014
Sansan, Inc. All rights reserved. Eight Android アプリ関係者の推移 8 #1 #2 #3 #4 #5 #6 前任者 社員 社員 業務委託 社員 内定者
10.
Copyright © 2014
Sansan, Inc. All rights reserved. Eight Android アプリ関係者の推移 9 #1 #2 #3 #4 #5 #6 前任者 社員 社員 業務委託 社員 内定者 ・#5前任者 ・#1社員 ・#3業託 ・#1社員 ・#3業託 ・#2社員 ・#1社員 ・#3業託 ・#2社員 ・#6社員
11.
Copyright © 2014
Sansan, Inc. All rights reserved. 時代の推移 10 • 前任者時代 • Android エンジニア同士のレビューができない • どうしても個性が出る • マッチョな Activity • バトンタッチ後 • Android エンジニアの複数人体制 • レビューによる議論も盛んに • 技術顧問の招聘 • モダンなライブラリの紹介&ハンズオン • レビューへの参加
12.
Copyright © 2014
Sansan, Inc. All rights reserved. バトンタッチ後に導入したライブラリ等 11 • Realm • Dagger2 • RxJava • Kotlin • Retrofit • など…
13.
Copyright © 2014
Sansan, Inc. All rights reserved. バトンタッチ後に導入した CI 環境(Jenkins) 12 • 自動ビルド • リリースバイナリ作成 • Fabric beta へのアップロード • Verification • Lint • UnitTest • 関数の UnitTest • AndroidTest • Realm のマイグレーションテスト
14.
Copyright © 2014
Sansan, Inc. All rights reserved. 本題へ… 13
15.
Copyright © 2014
Sansan, Inc. All rights reserved. 内部設計の改善 14 • レイヤーの整理・分割 • データの流れ、View の更新方法を整理
16.
Copyright © 2014
Sansan, Inc. All rights reserved. レイヤーの整理・分割 15 • Before • マッチョな Activity • View の構築 • 通信処理を呼び出す準備のコード • 通信処理のコールバックで DB 書き込み、View 更新 • After • 表示:Presentation Layer に分割 • 操作:UseCase に切り出して呼び出すだけ
17.
Copyright © 2014
Sansan, Inc. All rights reserved. Layers 16 Presentation Layer Application Layer Domain Layer Infrastructure Layer View Presenter Activity Entity UseCase DB Network
18.
Copyright © 2014
Sansan, Inc. All rights reserved. Layers 17 Presentation Layer Application Layer Domain Layer Infrastructure Layer View Presenter Activity Entity UseCase DB Network マッチョ Activity
19.
Copyright © 2014
Sansan, Inc. All rights reserved. データの流れ、View の更新方法を整理 18 • モデルの変更は別スレッドで行う • View はモデル(Store)からの変更通知を受けて 表示を更新する (Action が View を直接編集しない)
20.
Copyright © 2014
Sansan, Inc. All rights reserved. 簡単なアプリで考える 19 • 仕様 • サーバ上のデータを TextView に表示する • 処理 • ローカルにキャッシュがあれば、先にそれを表示する • サーバからデータが取得できたら • TextView に反映する • 値をキャッシュしておく
21.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 20
22.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 21 → Presenter に切り出せる
23.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 22 → UseCase に切り出せる
24.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 23 色んな場所で View を更新している!!
25.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 24 Action(UseCase) が 表示を更新している!
26.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 25 色んな場所で View を更新している!!
27.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 26 色んな場所で View を更新している!! モデルの変更通知を 受けて更新すべき
28.
Copyright © 2014
Sansan, Inc. All rights reserved. モデルの変更通知を受けて View を更新する… 27 • SharedPreference • OnSharedPreferenceChangeListener • BehaviorSubject • onNext → subscribe • Realm • Finegrained notifications
29.
Copyright © 2014
Sansan, Inc. All rights reserved. モデルの変更通知を受けて View を更新する… 28 • SharedPreference • OnSharedPreferenceChangeListener • BehaviorSubject • onNext → subscribe • Realm • Finegrained notifications データの保存場所に依存せず、 View に Entity を提供したい
30.
Copyright © 2014
Sansan, Inc. All rights reserved. モデルの変更通知を受けて View を更新する… 29 • SharedPreference • OnSharedPreferenceChangeListener • BehaviorSubject • onNext → subscribe • Realm • Finegrained notifications データの保存場所に依存せず、 View に Entity を提供したい Store の導入
31.
Copyright © 2014
Sansan, Inc. All rights reserved. Store 30 • View は Store からの更新を受けて更新するだけ
32.
Copyright © 2014
Sansan, Inc. All rights reserved. Store 31 • View は Store からの更新を受けて更新するだけ
33.
Copyright © 2014
Sansan, Inc. All rights reserved. ObjectStore を定義 32 • 値を取得する • 値の変更を Observable で受け取る • これらの実装クラスを作成し、 View はこの実装クラスだけを監視して、 更新があったら反映するだけ
34.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 33
35.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 34 Action(UseCase) が 表示を更新している! × 不要
36.
Copyright © 2014
Sansan, Inc. All rights reserved. 例) 35 Action(UseCase) が 表示を更新している! × 不要
37.
Copyright © 2014
Sansan, Inc. All rights reserved. Before / After 36 TextView Shared Pref. 初期化時に取得・反映 UseCase ※サーバからの取得処理 反映 反映
38.
Copyright © 2014
Sansan, Inc. All rights reserved. Before / After 37 TextViewStoreUseCase TextView Shared Pref. 初期化時に取得・反映 UseCase ※サーバからの取得処理 反映 反映 Shared Pref. 反映 反映 監視 反映 監視
39.
Copyright © 2014
Sansan, Inc. All rights reserved. 38 スッキリ!
40.
Copyright © 2014
Sansan, Inc. All rights reserved. 補足 39 • 更新通知には rx.Observable を使ってます • Kotlin 使うと Rx 周りはとてもシンプルに書けます • 1つの値を保持する ObjectStore だけでなく、集合を 保持する ArrayStore も用意しています • デグレを支えてくれるテストチームさまさまm(__)m
41.
Copyright © 2014
Sansan, Inc. All rights reserved. 40 Fin.
Download now