SlideShare a Scribd company logo
1 of 37
Download to read offline
ログ管理でウキウキ 
Android Life 
2014/11/20 
Mercari Inc. 
今井智章
自己紹介 
• 株式会社メルカリ Android エンジニア(2014.3~) 
! 
! 
! 
! 
! 
! 
フリマアプリの機能開発、USアプリ開発 
• 以前はSIerでインフラ系DBエンジニア(たまにjava開発) 
2 
twitter: tomoaki_imai 
github: tomoima525 
qiita: tomoima525
Agenda 
• ウキウキするエラー系ログ管理のお話 
• ウキウキする分析系ログ管理のお話 
3
エラーログとは
ユーザーの声にならない 
叫び
ユーザーの声として上がるのはほんの一部です
エラーログ、見ましょう 
バグ、駆逐しましょう
メルカリでのエラー監視 
• Google Developer Console 
• Crashlytics 
• 自前でのリアルタイムエラーレポート 
8
Google Developer Console 
• apkをGoogle playに上げる時に時のアレ 
• アプリがクラッシュし、ユーザーがエラーレポー 
ト送付してくれた内容が見られる 
- なので大体氷山の一角 
• Crashlyticsで拾えないネイティブクラッシュが 
確認できる 
9
Crashlytics 
• 言わずと知れた有名エラーレポートサービス 
• 導入が超簡単。レポートも詳細。 
• テスト配信機能も有り 
• 最近はアカウント作成待10ちの行列ができてる
使い方 
• 一番最初に起動するActivityで呼ぶだけ 
! 
@Override 
public void onCreate(Bundle savedInstanceState) { 
com.crashlytics.android.Crashlytics.start(this); 
! 
• クラッシュ時の情報を添付することもできる 
11 
} 
com.crashlytics.android.Crashlytics.setString( 
"last_activity", this.getClass().getName());
使い方 
! 
• メルカリではdev,stg,productでパッケージ名を分け、 
それぞれでログ監視 
• テスト、QAレベルでエラーログを拾う 
12
自前エラーレポート 
• エラー用Apiでクラッシュ時に送信 
• より詳細に状況を把握し、バグ解消に活かす 
• 以下の3点が実装のポイント 
①予期せずエラーが起きてもレポートを飛ばす仕組み 
②既知のバグの発生条件を調査できる仕組み 
③レポートを貯めて送る仕組み 
13
仕組み 
①予期せずエラーが起きてもレポートを飛ばす 
仕組み 
public class ThisApplication extends Application 
implements Thread.UncaughtExceptionHandler { 
@Override 
public void uncaughtException(Thread thread, final Throwable ex) { 
new Thread() { 
public void run() { 
ByteArrayOutputStream b = new ByteArrayOutputStream(); 
ex.printStackTrace(new PrintStream(b)); 
String errMessage = b.toString(); 
gotoErrorActivityAndReport(errMessage); //エラーレポートをAPIに送る 
System.exit(1); 
}; 
}.start(); 
14 
} 
Applicationクラス内でThread.UncaughtExceptionHandlerを実装
仕組み 
②既知のバグの発生条件を調査できる仕組み 
すでにErrorが発生すると判明している部分で、try/catchし、 
catch内で調査に必要な情報を送る 
try { 
return BitmapFactory.decodeFileDescriptor(fileDescriptor, null, options); 
} catch (OutOfMemoryError ooe) { 
postErrorReport(getCurrentActivity().getClass().getName() 
, options.inSampleSize 
, options.outWidth 
, reqWidth);     //画像処理系で画像サイズ情報を送信 
15 
}
レポートをプリファレンスに保存し、レポート送信前にクラッシュ 
したり通信できなくても、次回起動時に送付できるようにする 
public void sendErrorReportInternal(final JSONObject errReport) { 
String errMessage = JSONUtil.getString(errReport, S.message); 
if (errMessage != null) { 
Api.process(errReport, new responseListener<JSONObject>() { 
@Override 
public void onResponse(JSONObject response) {} 
@Override 
public void onErrorResponse(JSONObject response) { 
ErrorStore.addErrReport(errReport); //プリファレンスに保存 } 
//以下略 
仕組み 
③レポートを貯めて送る仕組み 
public void onResume() { 
sendOldErrorReports(); //以前のレポートがあった場合は送信 
} 
16
まとめ 
• Crashlyticsで届かないかゆいところに自前エ 
ラーレポートを組み合わせるとバグ駆逐が捗る 
Google 
Analytics Crashlytics 自前 
17 
ログのわかりや 
すさ△ ◯ ◎ 
カスタマイズ性☓ △ ◎ 
導入容易性default ◯ △
ウキウキしましたか?
続いて、分析ログの話
What is 分析ログ? 
• インストール率, DAU, 売上, A/B testing etc. 
を分析するためのログ 
• 用途によって様々なサービスがある 
20
分析ログ(サービス)の問題点 
• それぞれの分析サービスのApiに標準性がない 
- 似たようなトラッキングコードをひたすら書かされる 
- その割にApiごとに癖があって実装に困る 
- 新しいライブラリを追加する度に導入の調査が必要になる 
21
そうだ、Segment 
使おう
Segment 
• 複数の分析サービスを統合できる 
• シンプルなAPIで導入が簡単 
• けどかなり詳細に分析データを送信できる! 
23
Segment 
• SegmentのApiで多くの分析サービスをカバー 
• ユーザーはコンソールから分析サービスを選ぶ 
だけ 
24
実装例 
• 事前準備 
- アカウントの用意 
- https://segment.com/ 
- プロジェクトの作成 
- 組織単位でproject作成が可能 
- API keyを確認 
25 
こちらにまとめました↓ 
http://qiita.com/tomoima525/items/bab086d341b686b9f8a1
実装例 
• gradleのdependencies追加(Android Studio) 
dependencies { 
compile('com.segment.analytics.android:core:+@aar') { 
transitive = true 
} 
//必要なライブラリのみ追加 
compile 'com.google.android.gms:play-services:+' 
compile ‘com.mixpanel.android:mixpanel-android:+@aar' 
} 
! 
! 
! 
Eclipse向けにjarファイルもある(ただしバージョンは古い) 
! 
• AndroidManifest.xmlへの設定 
<uses-permission android:name=“android.permission.INTERNET”/>   //必須 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.READ_LOGS"/> 
<uses-permission android:name="android.permission.GET_TASKS"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
26
実装例 
• res/values/analytics.xmlにAPI keyを設定 
<resources> 
<string name="analytics_write_key">YOUR_WRITE_KEY</string> 
<string name="analytics_logging">true</string> 
<integer name="analytics_queue_size">20</integer> 
</resources> 
analytics_write_key: 
   コンソールで確認したApi key 
analytics_logging: 
   logに送信データが出力 
   うまく確認できなかった。iOSでは見られる? 
analytics_queue_size: 
   一度のキューで送信するイベントの数 
   キューがたまらなくても一定時間で送信されている様子 
27
代表的なトラッキングメソッド 
• identify 
アプリユーザーのIDを設定する 
Analytics.with(context).identify(user_id); 
複数のTraits(特徴)を設定することも可能 
Analytics.with(context).identify(new Traits().putName(“Moge Hoge")); 
Analytics.with(context).identify( 
new Traits().putEmail(moge@hoge.com")); 
Traitsはage, gender等多数あり、分析サービスに応じて設定可能 
https://segment.com/docs/api/tracking/identify/#special-traits
代表的なトラッキングメソッド 
• Alias 
会員登録前後のIDを紐つけ、会員登録前のイベントを関連付けする 
Mixpanel、Flurryといった分析サービスで利用 
Analytics.with(context).alias(uuid, new_id); 
//会員登録前のIDがない場合はSegment内のanonymousIDが紐付けられる 
※Segmentのエンジニア曰く統合がまだ十分でないらしく、 
今後も変わる可能性あり
代表的なトラッキングメソッド 
• Track 
あらゆるイベントにプロパティ、トラック名をつけてトラックする 
Properties properties = new Properties() 
.putValue("price", price) 
.putValue("category", CategoryId); //オブジェクト型を設定できる 
Analytics.with(context).track(trackName, properties); 
プロパティは任意のキーを設定できる
デバッガー 
• コンソールデバッガーで値を確認できる 
{ 
"messageId": "09361829-c11c-451d-83d0-d1e2e9fc9063", 
"type": "track", 
"anonymousId": "d6c327e4-76c3-418c-907e-4b0eba89ec40", 
// 中略 
"timestamp": "2014-11-19T11:34:54.000Z", 
"event": "Eat Curry", 
"properties": { 
"price": 1200, 
"category": "Indian", 
"condition": "good", 
}, 
} 
値はjsonでも取得可能
分析 
• コンソールから分析サービスを選ぶ 
それぞれの分析サービスに必要なIDやkeyを設定するだけ
分析ツールの追加があっても 
ライブラリ、ソースコードの 
追加は(ほとんど)不要
スッキリ
ちょっと注意 
• 成長中のサービスなので、開発がさかん 
• Documentの記述が食い違っている所もある 
• ソースコードが食い違っている所がある(!) 
• オープンソースなのでおかしかったら迷わずPR 
35
まとめ 
• エラーログ管理はカスタマイズするとバグ駆逐 
が捗ってウキウキ 
• 分析ログはSegment使うと楽ちん、スッキリで 
ウキウキ 
36
メルカリではAndroid/iOSエンジニア募集中!

More Related Content

What's hot

日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについてkumake
 
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...Kohei Nakamura
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」yoshiaki iwanaga
 
Redmine issue assign notice plugin の紹介
Redmine issue assign notice plugin の紹介Redmine issue assign notice plugin の紹介
Redmine issue assign notice plugin の紹介onozaty
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順Hide Koba
 
チケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfチケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfYokoba
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patternsnekop
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係yy yank
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)NTT DATA Technology & Innovation
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドYasufumi Kinoshita
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) Hironobu Isoda
 
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングSpring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングRakuten Group, Inc.
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
Fault, Error, Failure の違い
Fault, Error, Failure の違いFault, Error, Failure の違い
Fault, Error, Failure の違いMizuhiro Kaimai
 

What's hot (20)

日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
 
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 (  Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
 
Redmine issue assign notice plugin の紹介
Redmine issue assign notice plugin の紹介Redmine issue assign notice plugin の紹介
Redmine issue assign notice plugin の紹介
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
 
チケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfチケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdf
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patterns
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライド
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
 
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングSpring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
Fault, Error, Failure の違い
Fault, Error, Failure の違いFault, Error, Failure の違い
Fault, Error, Failure の違い
 

Viewers also liked

20141120 ぬるぬる動くandroid tips
20141120 ぬるぬる動くandroid tips20141120 ぬるぬる動くandroid tips
20141120 ぬるぬる動くandroid tipsYusuke Konishi
 
ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜShinobu Okano
 
Log collect with google fluentd
Log collect with google fluentdLog collect with google fluentd
Log collect with google fluentdZaki_XL
 
US進出でのAndroid開発inメルカリ Mercari US App Development
US進出でのAndroid開発inメルカリ Mercari US App Development US進出でのAndroid開発inメルカリ Mercari US App Development
US進出でのAndroid開発inメルカリ Mercari US App Development Tomoaki Imai
 
春期夏期実習活動報告会
春期夏期実習活動報告会春期夏期実習活動報告会
春期夏期実習活動報告会miii_ozakiii
 
enPiTにおけるチームによるシステム開発演習と学部への展開
enPiTにおけるチームによるシステム開発演習と学部への展開enPiTにおけるチームによるシステム開発演習と学部への展開
enPiTにおけるチームによるシステム開発演習と学部への展開Chiemi Watanabe
 
What I learned about communication in Sanfrancisco
What I learned about communication in SanfranciscoWhat I learned about communication in Sanfrancisco
What I learned about communication in SanfranciscoTomoaki Imai
 
OSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntechOSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntechSATOSHI TAGOMORI
 
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
 
Clojureによるログ収集と解析
Clojureによるログ収集と解析Clojureによるログ収集と解析
Clojureによるログ収集と解析Yoshitaka Kawashima
 
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
 
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」snicker_jp
 
で、次は何がくるの? - 第2回 TIS Matsuri
で、次は何がくるの? - 第2回 TIS Matsuriで、次は何がくるの? - 第2回 TIS Matsuri
で、次は何がくるの? - 第2回 TIS MatsuriYoshitaka Kawashima
 
Android development at mercari 2015
Android development at mercari 2015Android development at mercari 2015
Android development at mercari 2015Tomoaki Imai
 
ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較Akira Sasaki
 

Viewers also liked (20)

20141120 ぬるぬる動くandroid tips
20141120 ぬるぬる動くandroid tips20141120 ぬるぬる動くandroid tips
20141120 ぬるぬる動くandroid tips
 
Reactive android
Reactive androidReactive android
Reactive android
 
ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜ
 
Log collect with google fluentd
Log collect with google fluentdLog collect with google fluentd
Log collect with google fluentd
 
US進出でのAndroid開発inメルカリ Mercari US App Development
US進出でのAndroid開発inメルカリ Mercari US App Development US進出でのAndroid開発inメルカリ Mercari US App Development
US進出でのAndroid開発inメルカリ Mercari US App Development
 
春期夏期実習活動報告会
春期夏期実習活動報告会春期夏期実習活動報告会
春期夏期実習活動報告会
 
enPiTにおけるチームによるシステム開発演習と学部への展開
enPiTにおけるチームによるシステム開発演習と学部への展開enPiTにおけるチームによるシステム開発演習と学部への展開
enPiTにおけるチームによるシステム開発演習と学部への展開
 
What I learned about communication in Sanfrancisco
What I learned about communication in SanfranciscoWhat I learned about communication in Sanfrancisco
What I learned about communication in Sanfrancisco
 
実積ゼミの説明2015
実積ゼミの説明2015実積ゼミの説明2015
実積ゼミの説明2015
 
OSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntechOSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntech
 
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 )
 
Clojureによるログ収集と解析
Clojureによるログ収集と解析Clojureによるログ収集と解析
Clojureによるログ収集と解析
 
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アプリ開発経験談
 
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
Splunk_NiteX 「ノンテクエンジニアでも、デキる!ログ解析」
 
で、次は何がくるの? - 第2回 TIS Matsuri
で、次は何がくるの? - 第2回 TIS Matsuriで、次は何がくるの? - 第2回 TIS Matsuri
で、次は何がくるの? - 第2回 TIS Matsuri
 
Android development at mercari 2015
Android development at mercari 2015Android development at mercari 2015
Android development at mercari 2015
 
ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較ANCSとAndroid Wear徹底比較
ANCSとAndroid Wear徹底比較
 
slackのログとりの話
slackのログとりの話slackのログとりの話
slackのログとりの話
 

Similar to ログ管理でウキウキAndroid Life (Log Management in Android)

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DeNA
 
心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-LINE Corporation
 
Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03Yaboo Oyabu
 
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化You&I
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
Rancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みRancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みMichitaka Terada
 
Swagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springSwagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springkounan13
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
Introduction to NetOpsCoding
Introduction to NetOpsCodingIntroduction to NetOpsCoding
Introduction to NetOpsCodingTaiji Tsuchiya
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介CData Software Japan
 
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)Developers Summit
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例agileware_jp
 
IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介kazuki masuda
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムsatsuki fukazu
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 

Similar to ログ管理でウキウキAndroid Life (Log Management in Android) (20)

Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-
 
Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03
 
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
Rancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みRancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組み
 
Swagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springSwagger jjug ccc 2018 spring
Swagger jjug ccc 2018 spring
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
Introduction to NetOpsCoding
Introduction to NetOpsCodingIntroduction to NetOpsCoding
Introduction to NetOpsCoding
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介
 
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
 
IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介IBM Cloud Community Summit JIMUC 活動のご紹介
IBM Cloud Community Summit JIMUC 活動のご紹介
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システム
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 

More from Tomoaki Imai

Tips for better CI on Android
Tips for better CI on AndroidTips for better CI on Android
Tips for better CI on AndroidTomoaki Imai
 
Debot android debugging library
Debot android debugging libraryDebot android debugging library
Debot android debugging libraryTomoaki Imai
 
Android cleanarchitecture
Android cleanarchitectureAndroid cleanarchitecture
Android cleanarchitectureTomoaki Imai
 
Developing better debug_components
Developing better debug_componentsDeveloping better debug_components
Developing better debug_componentsTomoaki Imai
 
Development at Mercari
Development at MercariDevelopment at Mercari
Development at MercariTomoaki Imai
 
ユーザーを待たせないためにできること
ユーザーを待たせないためにできることユーザーを待たせないためにできること
ユーザーを待たせないためにできることTomoaki Imai
 

More from Tomoaki Imai (6)

Tips for better CI on Android
Tips for better CI on AndroidTips for better CI on Android
Tips for better CI on Android
 
Debot android debugging library
Debot android debugging libraryDebot android debugging library
Debot android debugging library
 
Android cleanarchitecture
Android cleanarchitectureAndroid cleanarchitecture
Android cleanarchitecture
 
Developing better debug_components
Developing better debug_componentsDeveloping better debug_components
Developing better debug_components
 
Development at Mercari
Development at MercariDevelopment at Mercari
Development at Mercari
 
ユーザーを待たせないためにできること
ユーザーを待たせないためにできることユーザーを待たせないためにできること
ユーザーを待たせないためにできること
 

ログ管理でウキウキAndroid Life (Log Management in Android)