ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

あなたの適職がわかる!

2017-06-19 20:10:40 | Weblog

あなたの適職がわかる!マナラボ式グッジョブ診断
https://curazy.com/archives/170310

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

USB機器を自作するには・・・

2017-06-19 16:31:38 | Weblog
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

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

URLを入れるだけでスクリーンショット撮影! メモを付けてすぐにシェア

2017-06-19 12:03:56 | Weblog
AUN
https://aun.tools/

無料・登録なし

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

gRPC,Protocol Buffersなどのはなしを聞いてきた!

2017-06-19 09:14:52 | Weblog
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:待ってれば・・・
 こみにてぃ



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする