10月9日
GDG DevFest Japan 2017
に行ってきた!まずは、午前中(お昼のLTまで。オープニングは遅刻してみなかった)
をメモメモ!
■Android1.5~8.0
・前半OSフレームワーク
・後半アプリ
Android oreo
ターゲットSDK26にする必要あり
Doze,Upstanby:使っていない時のバッテリー消費
バックグラウンドのデザイン原則
Reduce
Deffer
coalesce
Bg.Activity Limitations
Doze 50%
PJ.svelte18%
・2009 OS 1.5 API LV3 CUPCAKE
2009 OS 1.6 API LV4 DONUT 複数解像度、バッテリー
2009 OS2.0/2.1 5~7 エクレア
2.0 通知アイコン必須
タスクキラーアプリ
8.0 5秒以内にフォアグラウンドに(原則禁止)
2010 2.2 FROYO
2010 2.3 GINGERBREAD
パフォーマンス
2.2 Dalvik
2.3 ConcurrentGC
5.0 ART
7.0 ART + JITコンパイラ
2011 3.x HONEYCOMB
2011 4.0 ICE CREAM SANDWICH
2012 4.1~4.3 JELLY BEAN
Unicode:絵文字
4.3 Unicode6絵文字
5.0 nonhuman
6.0 Unicode7&8,ZWJ
7.0 Unicode9 Human Shape & Skin tones
→キャリアで違う
2013 4.4 KITKAT
アラーム
4.4 setWindow(),setExact()
6.0 遅延、
2014 5.0 LOLLIPOP UX変更64ビット
WebView
4.4 Chromium
7.0 Chrome APK
8.0 マルチプロセスモード
2015 マシュマロ
DOZE
6.0 省電力機能
7.0 ポケットにスマホいれても
2016 NOUGAST
AppIcon
4.3 ミッドマップ
7.1 ラウンドアイコン
8.0 あ
そして 8.0 OREO
アプリの最適化
・後半 APIの進化
・自己紹介
・古いAPIからの振り返り
ライフサイクル:1.5~あまり変わっていない
アクティビティは絶えず状態が遷移する
画面遷移
端末の状態変化
ほかのアプリの状態変化
→少ないメモリ空間を効率的に使う
端末の設定や状態の変化に追随しやすくなる仕組み
アプリの固有な状態
非同期処理:別スレッドで
カップケーキから非同期処理(AsyncTask)
AsyncTask
アクティビティと密結合になりやすかった→Interface
コールバックを弱参照で保持
カップケーキのもうひとつの非同期処理IntentService
UIと関係ない
・NetworkI/O
Apache HttpClient
Http(s)URLConnection
・DiskIO
ファイルAPI
SQLite
SharedPrefarence
・パフォーマンスモニタリング StrictMode
・AcyncTask:結果の戻し方
→Loader:死んでいたらキャッシュする
Lodercallback
Loader
Loadfinish
・Fragment
目的
使いまわすことのできるUIのまとまり
UI使わない:SetRetainInstance(true)
おさほうあ
Supportライブラリ
・ろりぽっぷから変わる
バックグラウンド処理→実行タイミングをよしなにはかる
アラームマネージャー、ジョブスケジューラー、
・Dozeエンハンスメント
バックグラウンド制限
位置情報の制限
インテントサービスも影響
・旧来のAPIの抽象化
RecyclerView
・ライフサイクル抽象化
アーキテクチャーコンポーネント
AppCompatActivity
まとめ
・ベースはほぼおなじ
画面や非同期処理のライフサイクルはほぼ変わっていない
・APIの複雑さ:抽象化
■GCPではじめるかんたん機械学習
・自己紹介
・機械学習ってなんだっけ
機械学習とは:ただの関数です
関数:
機械学習でやりたいこと
入力 X0,X1,
出力 Y
→既知の入力と出力
出力結果が未知
→入力があったとき、未知の出力を知りたい
推論をする
関数の中のパラメータ調整
機械学習
学習フェーズ
推論フェーズ
機械学習は何のパラメータを変えているの?
既知のデータから境界線のパラメータを変えている
機械学習VSルールベースアルゴリズム
ルールベース:計算
機械学習:既知データから自動で判別式を算出
→現実のデータは、そんな簡単にルールがわからない
ニューラルネットワーク
境界線を引くのは同じ
ニューロン:直線しかひけない→組み合わさると曲線が引ける
やりすぎが起きてしまう
精度の高い結果を得るには
学習するデータ数
モデルの設計
演算能力
結構大変!→そこでGCP
・GCPと機械学習
APIが準備されている
サーバーレス機械学習
環境の使い分け
使うだけ(学習不要・モデル不要)
学習必要
Scikit Learn
TensorFlow
→クラウドマシーンラーニング;
・GCPのML系のAPI
Cloud Vision API
ランドマークでぃてくション
ラベルディテクション
不適切画像検知
OCR
顔認識
ロゴ認識
ラベル検出
VisionAPIでもできる マニアックさ
自然言語処理
感情分析:文章がポジティブか、ネガティブか?
デモ bit.ly/nl-bubble
・ML API X GAE X Firebase
デモアプリのアーキテクチャ
GAEからFirebaseDBへインサート
Firebase簡単
・Datalab X Big Query
Jupyter Notebookのクラウド版
→リアルタイムで結果を見える
pandasからBigQueryクエリ実行
・GAEXMLエンジン
GAE:あっぷえんじん
Cloud MachineLearningEngin
TensorFlowのフルマネージドサービス
学習・推論のジョブが流せる
APIでほかのシステムと連携できる
pix2pix:Variableが200MBあって重い
重いモデルをどうやって使う
モバイルアプリに積むのはつらい
GAEはTensorFlow動かない
そうだMLエンジン
GAEからOnlinePredictionAPIを使う
MLエンジン
https://qiita.com/hayatoy
GCPと機械学習の良い本 11月
■LT
・OpenSUSEにのせる あとは調布
・Adaptive Iconについて
・Vector Drawable モーふぃんぐとかできるけど、むいていないものも
・Android Instant Apps 、Progressive Web Apps
・法律の話
・Polymer:Webコンポーネント:11月4日にPolymer Japanのイベント
GDG DevFest Japan 2017
に行ってきた!まずは、午前中(お昼のLTまで。オープニングは遅刻してみなかった)
をメモメモ!
■Android1.5~8.0
・前半OSフレームワーク
・後半アプリ
Android oreo
ターゲットSDK26にする必要あり
Doze,Upstanby:使っていない時のバッテリー消費
バックグラウンドのデザイン原則
Reduce
Deffer
coalesce
Bg.Activity Limitations
Doze 50%
PJ.svelte18%
・2009 OS 1.5 API LV3 CUPCAKE
2009 OS 1.6 API LV4 DONUT 複数解像度、バッテリー
2009 OS2.0/2.1 5~7 エクレア
2.0 通知アイコン必須
タスクキラーアプリ
8.0 5秒以内にフォアグラウンドに(原則禁止)
2010 2.2 FROYO
2010 2.3 GINGERBREAD
パフォーマンス
2.2 Dalvik
2.3 ConcurrentGC
5.0 ART
7.0 ART + JITコンパイラ
2011 3.x HONEYCOMB
2011 4.0 ICE CREAM SANDWICH
2012 4.1~4.3 JELLY BEAN
Unicode:絵文字
4.3 Unicode6絵文字
5.0 nonhuman
6.0 Unicode7&8,ZWJ
7.0 Unicode9 Human Shape & Skin tones
→キャリアで違う
2013 4.4 KITKAT
アラーム
4.4 setWindow(),setExact()
6.0 遅延、
2014 5.0 LOLLIPOP UX変更64ビット
WebView
4.4 Chromium
7.0 Chrome APK
8.0 マルチプロセスモード
2015 マシュマロ
DOZE
6.0 省電力機能
7.0 ポケットにスマホいれても
2016 NOUGAST
AppIcon
4.3 ミッドマップ
7.1 ラウンドアイコン
8.0 あ
そして 8.0 OREO
アプリの最適化
・後半 APIの進化
・自己紹介
・古いAPIからの振り返り
ライフサイクル:1.5~あまり変わっていない
アクティビティは絶えず状態が遷移する
画面遷移
端末の状態変化
ほかのアプリの状態変化
→少ないメモリ空間を効率的に使う
端末の設定や状態の変化に追随しやすくなる仕組み
アプリの固有な状態
非同期処理:別スレッドで
カップケーキから非同期処理(AsyncTask)
AsyncTask
アクティビティと密結合になりやすかった→Interface
コールバックを弱参照で保持
カップケーキのもうひとつの非同期処理IntentService
UIと関係ない
・NetworkI/O
Apache HttpClient
Http(s)URLConnection
・DiskIO
ファイルAPI
SQLite
SharedPrefarence
・パフォーマンスモニタリング StrictMode
・AcyncTask:結果の戻し方
→Loader:死んでいたらキャッシュする
Lodercallback
Loader
Loadfinish
・Fragment
目的
使いまわすことのできるUIのまとまり
UI使わない:SetRetainInstance(true)
おさほうあ
Supportライブラリ
・ろりぽっぷから変わる
バックグラウンド処理→実行タイミングをよしなにはかる
アラームマネージャー、ジョブスケジューラー、
・Dozeエンハンスメント
バックグラウンド制限
位置情報の制限
インテントサービスも影響
・旧来のAPIの抽象化
RecyclerView
・ライフサイクル抽象化
アーキテクチャーコンポーネント
AppCompatActivity
まとめ
・ベースはほぼおなじ
画面や非同期処理のライフサイクルはほぼ変わっていない
・APIの複雑さ:抽象化
■GCPではじめるかんたん機械学習
・自己紹介
・機械学習ってなんだっけ
機械学習とは:ただの関数です
関数:
機械学習でやりたいこと
入力 X0,X1,
出力 Y
→既知の入力と出力
出力結果が未知
→入力があったとき、未知の出力を知りたい
推論をする
関数の中のパラメータ調整
機械学習
学習フェーズ
推論フェーズ
機械学習は何のパラメータを変えているの?
既知のデータから境界線のパラメータを変えている
機械学習VSルールベースアルゴリズム
ルールベース:計算
機械学習:既知データから自動で判別式を算出
→現実のデータは、そんな簡単にルールがわからない
ニューラルネットワーク
境界線を引くのは同じ
ニューロン:直線しかひけない→組み合わさると曲線が引ける
やりすぎが起きてしまう
精度の高い結果を得るには
学習するデータ数
モデルの設計
演算能力
結構大変!→そこでGCP
・GCPと機械学習
APIが準備されている
サーバーレス機械学習
環境の使い分け
使うだけ(学習不要・モデル不要)
学習必要
Scikit Learn
TensorFlow
→クラウドマシーンラーニング;
・GCPのML系のAPI
Cloud Vision API
ランドマークでぃてくション
ラベルディテクション
不適切画像検知
OCR
顔認識
ロゴ認識
ラベル検出
VisionAPIでもできる マニアックさ
自然言語処理
感情分析:文章がポジティブか、ネガティブか?
デモ bit.ly/nl-bubble
・ML API X GAE X Firebase
デモアプリのアーキテクチャ
GAEからFirebaseDBへインサート
Firebase簡単
・Datalab X Big Query
Jupyter Notebookのクラウド版
→リアルタイムで結果を見える
pandasからBigQueryクエリ実行
・GAEXMLエンジン
GAE:あっぷえんじん
Cloud MachineLearningEngin
TensorFlowのフルマネージドサービス
学習・推論のジョブが流せる
APIでほかのシステムと連携できる
pix2pix:Variableが200MBあって重い
重いモデルをどうやって使う
モバイルアプリに積むのはつらい
GAEはTensorFlow動かない
そうだMLエンジン
GAEからOnlinePredictionAPIを使う
MLエンジン
https://qiita.com/hayatoy
GCPと機械学習の良い本 11月
■LT
・OpenSUSEにのせる あとは調布
・Adaptive Iconについて
・Vector Drawable モーふぃんぐとかできるけど、むいていないものも
・Android Instant Apps 、Progressive Web Apps
・法律の話
・Polymer:Webコンポーネント:11月4日にPolymer Japanのイベント