simplest api server "miq"

23
Simplest API Server “miq” Good Coding Friends LT Yuki Ito / @publmag1 / acomagu / s1230004

Upload: yuki-ito

Post on 12-Apr-2017

113 views

Category:

Engineering


7 download

TRANSCRIPT

Page 1: Simplest API Server "miq"

Simplest API Server“miq”

Good Coding Friends LTYuki Ito / @publmag1 / acomagu / s1230004

Page 2: Simplest API Server "miq"

みなさん

Page 3: Simplest API Server "miq"

RDBは好きですか

Page 4: Simplest API Server "miq"

そこそこ好き: 11人

嫌い: 0人

Page 5: Simplest API Server "miq"

なるほどね。

Page 6: Simplest API Server "miq"

じゃあ、

Page 7: Simplest API Server "miq"

SQLは好きですか?

Page 8: Simplest API Server "miq"

そこそこ好き: 0人

ふつう: 5人

嫌い: 5人

Page 9: Simplest API Server "miq"

なるほどねー

Page 10: Simplest API Server "miq"

めっちゃわかるぅ〜☆(ゝω・)v

Page 11: Simplest API Server "miq"

3日前に陥った状況

- WebサーバーにちょっとしたDBが必要

- NoSQL微妙

- RDB使いたいけど、SQL書きたくない

- 書いてもいいけど、サーバーのロジックと混ぜたくない

- できることならHTTP/JSONで通信したい

- でもFirebaseとかは使いたくない

- 今回のアプリケーションにはちょっと大げさかな...

Page 12: Simplest API Server "miq"

だから一昨日からつくった

Page 13: Simplest API Server "miq"

だから一昨日からつくったmiq

Page 14: Simplest API Server "miq"
Page 15: Simplest API Server "miq"
Page 16: Simplest API Server "miq"
Page 17: Simplest API Server "miq"

miq: micro query-runner server

- コンパクトなAPIサーバー- YAMLの設定ファイルにしたがって動作- SQLを実行して結果をJSONにして返すのみ

- (現状)できること- クエリの実行- Pathパラメータ、URLクエリ、POST Body(JSON)から変数を受け取

れる- トランザクション- 複数クエリの実行

- できないこと- 認証

- なのでそのまま外部には公開できない- データになんらかの処理をしてからJSONを返却

Page 18: Simplest API Server "miq"

つかいどころ

Page 19: Simplest API Server "miq"

つかいどころ

- SQLをコードに書きたくない人

- Microservicesごっこしたいひと

Page 20: Simplest API Server "miq"

それ、単に二度手間なだけじゃね?

Page 21: Simplest API Server "miq"

Benefits

Page 22: Simplest API Server "miq"

Benefits

- SQL Injectionのリスクが減る(必ず静的プレース

ホルダが使用される)- SQLの事前コンパイルし忘れがない

- そのアプリケーションがどんなSQL オペレーショ

ンをするのかひと目でわかる

- やっぱり生のSQL実行よりJSONから読むほうが

簡単

Page 23: Simplest API Server "miq"

github.com/acomagu/miq

Thank you!