GDG Tokyo New Year Seminar 2018 参加メモ #gdgtokyo

## イベント情報
* [connpass](https://gdg-tokyo.connpass.com/event/73835/)
* GDG Tokyo とは、主に Google のテクノジーに興味のある人たちで情報を共有し合う集い。
* ハッシュタグ: [#gdgtokyo](https://twitter.com/search?q=%23gdgtokyo&src=typd)

## Android
* 発表者: https://twitter.com/wasabeef_jp
* 資料: https://speakerdeck.com/wasabeef/how-to-start-android-app-development
* Android Studio で Hello World
    * ビルドも早くなった（だいたい 6 秒以下）
* Kotlin
    * Java よりモダンな書き方ができる
* Support Library
    * 古いバージョンの OS でも新しい API で呼べる
* Lifecycles
    * アプリのイベント（起動とかバックグラウンドにいったとか）をハンドリングして適切に処理しなければならない
* System Permissions
    * `カレンダーの情報を取得する` などの権限を付与する
    * Marshmallow(version 6)以降は Runtime Permissions に変更された（　iOS と同じ方式

## Web
* 発表者: https://www.facebook.com/profile.php?id=100002373516186
* 資料: https://www.slideshare.net/secret/6E1Vi94F9PhAfx
* 昨年の Web 動向
    * 主な Topic
        * PWA ( Progressive Web App )
            * ネイティブアプリのユーザー体験に近い先進的 Web アプリの提供環境
        * Multi Media ( WebXR, WebRTC )
            * 音声/動画ほか AR/VR/MR など多様なメディアの表現媒体
        * WoT ( Web of Things )
    * Chrome のアップデート
        * Web Bluetooth API
        * position: sticky;
            * フローティングの実装が容易になった
        * HTML5への移行
        * WebVR の試験実装リリース
        * display: grid;
            * グリッドレイアウト
        * Media Session API
        * display: fullscreen;
            * フルスクリーン表示
        * Mac OS の通知機能
        * Headless Chrome
        * Image Capture API
            * 写真撮影
        * Paint Timings API
        * font-display
        * WebAssembly
            * コンパイル済みの C や C++ のコードを Web で実行できる
        * Web Share API
            * SNS の共有の呼び出し
        * Web USB
        * Network Information API
        * OpenType の可変フォント
        * メディアのライブキャプチャ
        * Async Iterators & Generators
        * overscroll-behavior
            * 最上部までスクロールした時の挙動を設定できる
        * 強化されたポップアップブロッカー
        * Resize Observer
        * import.meta

## Cloud
* 発表者: https://twitter.com/hayatoy82
* 資料: https://www.slideshare.net/HayatoYoshikawa/serverless-on-gcp-86202435
* Serverless で行こう！
    * Cloud Functions
        * Node.js をサポート
        * Functions の作り方
            * 名前
            * メモリサイズ
            * 何をトリガにするか
            * HTTPトリガの場合、その URL
            * ソースのアップ方法
        * inline エディタ
            * ブラウザ上で編集
                * ソースコード
                * 実行される関数名
        * 200万コール/month まで無料
        * GCP との相性が良い
            * BigQuery への保存など

## Dialogflow
* 発表者: https://twitter.com/canoefishing
* 資料: https://www.slideshare.net/tsudakyohei/gdg-tokyo-new-year-seminar-2018-dialogflow
* Dialogflow とは
    * 自然言語処理を実装できるツール
    * 英語、日本語をはじめ 24 言語に対応
    * SDK 豊富
        * Python, Ruby, Node.js, Android, iOS など
    * チャットプラットフォームに即連携可能
        * Slack, LINE, facebook など
    * 機能
        * Intent
            * 会話の設計をするもの
        * Entity
            * 辞書のようなもの
            * 商品名など
        * Fulfillment
            * バックエンドの設定


## Firebase
* 発表者: https://twitter.com/Yatima_K
* 資料: https://speakerdeck.com/wasabeef/how-to-start-android-app-development
* Firebase とは
    * フルマネージド
    * サーバレス
    * 安定性
* 対応プラットフォーム
    * web
    * Android
    * iOS
    * C++
    * Unity
* Cloud Functions
    * GCP の Cloud Functions に加え、Firebase 特化のトリガがあるなどカスタマイズされている
* Cloud Firestore
    * データベース
    * NoSQL
    * リアルタイム同期
    * オフラインもよしなにやってくれる
* Predictions
    * ユーザー予測
    * 無料
    * ユーザグループの行動予測
        * 使うのを辞めそうか
        * 課金をしてくれるかどうか
    * Remote Config や Notification などで離脱予防ができる

## Go
* 発表者: https://twitter.com/tenntenn
* 資料: https://www.slideshare.net/takuyaueda967/go-86427118?ref=https://gdg-tokyo.connpass.com/event/73835/presentation/
* Go
    * パフォーマンスがよい
        * バイナリになる
    * Go Mobile
        * Go でモバイルアプリをお作るツール群がある
    * GopherJS
        * Go から JavaScript を生成できる
        * WebAssembly に対応が進んでいる
    * 学習
        * [A Tour of Go](https://go-tour-jp.appspot.com/welcome/1)

## XR
* 発表者: https://twitter.com/ega1979
* 資料: https://www.slideshare.net/hirokazuegashira/arcore-101
* Google XR
    * Daydream
        * VR
    * ARCore
        * Android 向けの AR プラットフォーム
        * WebAR
            * Web 上で AR アプリが作れる
        * テクノロジー
            * Motion Tracking
                * 端末の位置と向きを認識
            * Environmental Understanding
                * 環境認識
            * Light Estimation
                * 光源推定
                * 表示する 3D オブジェクトの照明効果を調整する
        * 仕組み
            * カメラが捉えた画像の特徴点を抽出
            * 加速度&ジャイロセンサー(IMU)
        * 対応端末
            * Pixel 系端末
            * Galaxy S8
        * ARCore Preview 2
            * C API の追加
            * 空間認識の精度向上
        * 2018/03/01 に Tango の提供終了
        * 開発方法
            * C (Native App)
            * Unity
            * Unreal Engine
            * Java