REVIVE USBを使う。
Amazonで組み立て済みが売っている
REVIVE USB(組立済)
https://www.amazon.co.jp/dp/B0126A5NRG
【参考サイト】
USB入力のスイッチを自作する! [Home Cockpit Building]
http://kei-sim.blog.so-net.ne.jp/2011-11-13
Amazonで組み立て済みが売っている
REVIVE USB(組立済)
https://www.amazon.co.jp/dp/B0126A5NRG
【参考サイト】
USB入力のスイッチを自作する! [Home Cockpit Building]
http://kei-sim.blog.so-net.ne.jp/2011-11-13
6月16日
API Meetup Tech Deep Dive #1: gRPC
に行ってきた!のでメモメモ
API MeetUp
■会場提供
・Speeeさん、無償だよ!
■諸注意
・トイレは向かって左
・Wifiはってあるよ
・飲み物左後ろの自販機
コーヒーもあるよ
・喫煙:禁煙、ビルの外
(→4階の注意、Speeeは5階もある)
■What I learned about APIs in my first
・Google
APIいっぱい
データセンター→サービス
1件の検索でも、数千のコンピューターが通信
10びりおん+ APIコール/秒
・以前
iosでAPIを使う側
・Google Cloud Platform
・Googleに入る前にAPIについて知っていたこと
APIは重要
APIはテストしないといけない
APIはデザイン重要
・分散コンピューティングの思い込み
ネットワーク信頼できる
遅延0
帯域無限
:
・コンウェイの法則
壁がある
中に入って
・Googleほどのスケール
→特別な注意
最適化
標準化
柔軟性
・プロトコルバッファ Googleの初期のころからある
・プロトコルバッファ 3つの側面
シリアル化
インターフェース記述言語
方法論
しりあらいずのしくみ
→ツールがやるので、しらなくてもOK
protoファイル→protocによって、Go,Java言語になる
GoogleはJSONとかではなく、protocol bufferでやっている
・GRPC
Googleの方法、つまりprotocol bufferに基づいている
→オープンソース化
HTTP2を使っている
ローカル関数呼び出すような感じ
・認定された言語リスト
・Unary(ゆーなりー)API:ストリームでないもの
1対1
・grpcはストリーミングができる
・双方向チャットも簡単
→RESTだと大変だよね!
・ほかの会社でもgRPC使っている
→めるかりさんも
NetFlix
・Swift on server
GoogleはJava,goo,C++,pythin
IBMはJava,JS,Swift
・protocol buffer,gRPCのOpenAPIサポート
・Google APIスタイルガイドがある
公開されている
■gRPC and REST with gRPC in practice
・自己紹介
・アジェンダ
・gRPCの概要
HTTP2を使ったRPC
今V1.3
特徴
・コネクションはりっぱなし
1つのコネクションを使いまわす
RPC終了タイミング
デッドライン・タイムアウト
残り時間確認
・ステータスコード
独自の物定義:16こぐらい
・メタデータ
・メッセージフォーマット非依存
JSON使っても実はいい。
・言語
C,Java,Go実装
Cを拡張
・使い方
サーバーGo,クライアントRuby
サーバー側
1.Proto定義をかく
2.ProtoからGoコードを生成
3.サービスを実装する
4.サーバー起動
クライアント側
5.protoからRubyコード作成
6.クライアント実装
・RestとBrowser
REST APIは終わった?そうではない
後方互換性
進んでいない言語
Webブラウザ
・grpc-gateway
REST→gRPCへ(自動生成ある)
Cloud Endpointsにそれあり
マッピングルールの記述
・Gatewayのコード生成と起動
マッピングルール
いくつか表現可能
・Swagger(OpenAPI)
→ドキュメント生成
・ブラウザ対応
HTTP2、raw binary、Traller
gRPC-Web
Webで使えるようにする拡張
3つのコンポーネント
grpcweb
ts-protoc-gen
grpc-web-client
・grpcweb
プロトコル変換
→トレーラーをヘッダー、ペイロードへ
・grpc-web-client
クライアント向け
FetchAPI
・α版、
・新機能
Interceptor
ミドルウェア:リクエスト処理を挟み込む
エラー時の詳細情報
→エラーをstatus messageへ:detailsに
ロードバランシング
名前解決
デフォルトDNS
APIで独自実装可能
バランサーのタイプ、サーバー名も返せる
grpclb
HTTP CONNECTプロキシ
・メルカリの事例
gRPC使う理由
簡単に作れる
ぱふぉーまんす
Single Source of Truth
事例:プラットフォーム化
失敗事例:AndroidでgRPC→機能性が枯れてから(強制アップデートできるならOK)
TCPロードバランサー(nginx)
フォワードプロキシ
カスタムリゾルバと接続の多重化
プロキシとLBを普通につなぐと1コネクション
Protoファイルの管理
1つのリポジトリで管理
CIによる開発版、最新版の自動生成
・まとめ
HTTP2の対応は思ったより悪い
polyglotが使いづらい
HTTP2:待ってれば・・・
こみにてぃ
API Meetup Tech Deep Dive #1: gRPC
に行ってきた!のでメモメモ
API MeetUp
■会場提供
・Speeeさん、無償だよ!
■諸注意
・トイレは向かって左
・Wifiはってあるよ
・飲み物左後ろの自販機
コーヒーもあるよ
・喫煙:禁煙、ビルの外
(→4階の注意、Speeeは5階もある)
■What I learned about APIs in my first
・Google
APIいっぱい
データセンター→サービス
1件の検索でも、数千のコンピューターが通信
10びりおん+ APIコール/秒
・以前
iosでAPIを使う側
・Google Cloud Platform
・Googleに入る前にAPIについて知っていたこと
APIは重要
APIはテストしないといけない
APIはデザイン重要
・分散コンピューティングの思い込み
ネットワーク信頼できる
遅延0
帯域無限
:
・コンウェイの法則
壁がある
中に入って
・Googleほどのスケール
→特別な注意
最適化
標準化
柔軟性
・プロトコルバッファ Googleの初期のころからある
・プロトコルバッファ 3つの側面
シリアル化
インターフェース記述言語
方法論
しりあらいずのしくみ
→ツールがやるので、しらなくてもOK
protoファイル→protocによって、Go,Java言語になる
GoogleはJSONとかではなく、protocol bufferでやっている
・GRPC
Googleの方法、つまりprotocol bufferに基づいている
→オープンソース化
HTTP2を使っている
ローカル関数呼び出すような感じ
・認定された言語リスト
・Unary(ゆーなりー)API:ストリームでないもの
1対1
・grpcはストリーミングができる
・双方向チャットも簡単
→RESTだと大変だよね!
・ほかの会社でもgRPC使っている
→めるかりさんも
NetFlix
・Swift on server
GoogleはJava,goo,C++,pythin
IBMはJava,JS,Swift
・protocol buffer,gRPCのOpenAPIサポート
・Google APIスタイルガイドがある
公開されている
■gRPC and REST with gRPC in practice
・自己紹介
・アジェンダ
・gRPCの概要
HTTP2を使ったRPC
今V1.3
特徴
・コネクションはりっぱなし
1つのコネクションを使いまわす
RPC終了タイミング
デッドライン・タイムアウト
残り時間確認
・ステータスコード
独自の物定義:16こぐらい
・メタデータ
・メッセージフォーマット非依存
JSON使っても実はいい。
・言語
C,Java,Go実装
Cを拡張
・使い方
サーバーGo,クライアントRuby
サーバー側
1.Proto定義をかく
2.ProtoからGoコードを生成
3.サービスを実装する
4.サーバー起動
クライアント側
5.protoからRubyコード作成
6.クライアント実装
・RestとBrowser
REST APIは終わった?そうではない
後方互換性
進んでいない言語
Webブラウザ
・grpc-gateway
REST→gRPCへ(自動生成ある)
Cloud Endpointsにそれあり
マッピングルールの記述
・Gatewayのコード生成と起動
マッピングルール
いくつか表現可能
・Swagger(OpenAPI)
→ドキュメント生成
・ブラウザ対応
HTTP2、raw binary、Traller
gRPC-Web
Webで使えるようにする拡張
3つのコンポーネント
grpcweb
ts-protoc-gen
grpc-web-client
・grpcweb
プロトコル変換
→トレーラーをヘッダー、ペイロードへ
・grpc-web-client
クライアント向け
FetchAPI
・α版、
・新機能
Interceptor
ミドルウェア:リクエスト処理を挟み込む
エラー時の詳細情報
→エラーをstatus messageへ:detailsに
ロードバランシング
名前解決
デフォルトDNS
APIで独自実装可能
バランサーのタイプ、サーバー名も返せる
grpclb
HTTP CONNECTプロキシ
・メルカリの事例
gRPC使う理由
簡単に作れる
ぱふぉーまんす
Single Source of Truth
事例:プラットフォーム化
失敗事例:AndroidでgRPC→機能性が枯れてから(強制アップデートできるならOK)
TCPロードバランサー(nginx)
フォワードプロキシ
カスタムリゾルバと接続の多重化
プロキシとLBを普通につなぐと1コネクション
Protoファイルの管理
1つのリポジトリで管理
CIによる開発版、最新版の自動生成
・まとめ
HTTP2の対応は思ったより悪い
polyglotが使いづらい
HTTP2:待ってれば・・・
こみにてぃ