Slide 1

Slide 1 text

シェアハウスにおける 風呂問題を 雑に解決する(ための技術) @yuukigoodman

Slide 2

Slide 2 text

最近の興味

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

解決したい問題

Slide 5

Slide 5 text

シェアハウスの風呂が混む

Slide 6

Slide 6 text

「風呂入るか」 (2Fから1Fに降りる) 「だれか入っていた。。。」

Slide 7

Slide 7 text

手段

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Facebookログイン ユーザ名 ビーコン検知 投稿

Slide 10

Slide 10 text

改造中

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

雑感

Slide 14

Slide 14 text

iOSアプリケーション ● 雑に作成(2日) ● Swift ● ちょっとしたノウハウがたくさん必要 ○ ライブラリ管理 ○ XCodeの操作 ● 構成が難しい ○ Reactive Programing ○ MVVMアーキテクチャ

Slide 15

Slide 15 text

簡易BLEビーコン ● Rasberry Piにドングル刺してnode.js ● 作るのは簡単 ○ OSをインストール、初期設定 ○ Bluetoothドングルを刺して設定 ○ ビーコンプログラム作成 ○ 起動時にBluetoothインタフェースをupする設定 ○ 起動時にスクリプトをsupervisordで実行

Slide 16

Slide 16 text

Cognito Identity ● 認証が一番むずかしい(と思う) ● iOSとAWS両方の知識が必要 ● Cognitoは地味だけど実は超強力 ○ 複数のLogin ProviderでIdentityを提供 ○ 端末間でユーザ設定値の同期 ○ AWSへのアクセス権を提供(後述) ● 自前で作るのはめっちゃ厳しい

Slide 17

Slide 17 text

CognitoとSTS ● スマフォからAWSへの権限を提供 ● 何もしなくても高水準なセキュリティ ● SDKを使うと楽 ● APIも公開されている ● STS: Security Token Service ○ キーをアプリに埋め込んで配布するのは良くない ○ 有効期限が短いキーを都度発行 ○ ヤバくなったら無効化するだけでOK

Slide 18

Slide 18 text

DynamoDB ● 高可用フルマネージドKVS ● テーブル - アイテム - レコード ● (運用も含めて)使うのは簡単 ● コストマネジメントが難しい ● Cognito経由なら安全に直接アクセス可能

Slide 19

Slide 19 text

AWS Lambda ● 他のAWSイベントで実行するnode.jsバッチ ● フルマネージドEC2という新しい使い方 ● やってみると実は簡単で便利 ● ライブラリ的な自由度も高い ● イベントソースはまだ弱い ○ S3 notification ○ DynamoDB Streams(Limited Preview) ○ Kinesis(めっちゃ高価)

Slide 20

Slide 20 text

DynamoDB Streams ● DynamoDBを更新したらLambda実行 ● 更新内容をLambdaから読める ● Limited Preview ● 日本語が通らない疑惑 ● 1度作成したStreamは削除できない

Slide 21

Slide 21 text

S3で簡易webホスティング ● LambdaでHTMLファイルを作成 ● S3にファイルを配置してpublicにする ● Route53でCNAMEを設定してそれっぽく見せ る

Slide 22

Slide 22 text

まとめ

Slide 23

Slide 23 text

Lambda使うと EC2が無くて 完全に従量課金で良い感じ

Slide 24

Slide 24 text

スマフォもAWSの力で 良い感じにできるっぽい

Slide 25

Slide 25 text

やること多くて こういう分野大変だけど 楽しいのでやると良いです

Slide 26

Slide 26 text

Fin.