タグ付けされた質問 「protocol-buffers」

Protocol Buffersは、構造化データを効率的かつ拡張可能な形式でエンコードする、言語やプラットフォームに依存しない方法です。Googleは、ほとんどすべての内部RPCプロトコルとファイル形式にプロトコルバッファを使用しています。これは、オープンソースのgRPCフレームワークで使用されるデフォルトのデータエンコーディングでもあります。


1
googleプロトコルバッファーvs json vs XML [終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 の長所と短所を知りたい Googleプロトコルバッファ JSON XML PerlとJavaの2つのアプリケーションに1つの共通フレームワークを実装したいと思います。したがって、PerlとJavaの両方のテクノロジーで使用できる共通サービスを作成したいと考えています。 どちらもWebアプリケーションです。 これに関するあなたの貴重な考えと提案を教えてください。私はグーグルで多くのリンクを見ましたが、すべてが混合した意見を持っています。

2
プロトコルバッファ3で必須およびオプションが削除された理由
最近使っgRPCているproto3、私は気づいたrequiredとoptional新しい構文で削除されました。 必須/オプションがproto3で削除された理由を誰かが親切に説明してくれませんか?この種の制約は、定義を堅牢にするために必要であるように思われます。 構文proto2: message SearchRequest { required string query = 1; optional int32 page_number = 2; optional int32 result_per_page = 3; } 構文proto3: syntax = "proto3"; message SearchRequest { string query = 1; int32 page_number = 2; int32 result_per_page = 3; }

6
Apache Thrift、Google Protocol Buffers、MessagePack、ASN.1、Apache Avroの主な違いは何ですか?
これらはすべて、バイナリシリアル化、RPCフレームワーク、IDLを提供します。それらと特性(パフォーマンス、使いやすさ、プログラミング言語のサポート)の主な違いに興味があります。 他に同様のテクノロジーを知っている場合は、回答でそのことを述べてください。

3
リクエストまたはレスポンスがnullのgrpc呼び出しを定義できますか?
proto3のrpc構文はnullリクエストまたはレスポンスを許可しますか? 例えば、私は次のものと同等のものを望みます: rpc Logout; rpc Status returns (Status); rpc Log (LogData); それともnull型を作成するだけですか? message Null {}; rpc Logout (Null) returns (Null); rpc Status (Null) returns (Status); rpc Log (LogData) returns (Null);

9
protobuf3でオプションのフィールドを定義する方法
protobuf(proto3構文)のオプションフィールドでメッセージを指定する必要があります。プロト2構文に関して、私が表現したいメッセージは次のようなものです。 message Foo { required int32 bar = 1; optional int32 baz = 2; } 私の理解では、「オプションの」概念は構文プロト3から削除されました(必須の概念とともに)。代替案は明確ではありませんが、デフォルト値を使用して、送信者からフィールドが指定されていないことを示しますが、デフォルト値が有効な値のドメインに属している場合はあいまいさを残します(たとえばブール型を検討してください)。 では、上記のメッセージをどのようにエンコードするのですか?ありがとうございました。


14
MacへのGoogle Protocol Buffersのインストール
ターミナルコマンドラインを使用して、古いバージョンのGoogleプロトコルバッファ(protobuf-2.4.1)をMacにインストールしたいと思います。で試しましたbrew install protobufが、最新バージョン2.5.0がインストールされています。端末から旧バージョンをインストールすることは可能ですか? ありがとう

3
protobuf vs gRPC
私はprotobufとgRPCを理解し、両方をどのように使用できるかを理解しようとしています。次のことを理解するのを手伝っていただけませんか。 OSIモデルを考えると、たとえば、レイヤー4のProtobufはどこにありますか? メッセージ転送を通して考えると、「フロー」はどのようになっていますか、gRPCはprotobufが見逃していることを何をしていますか? 送信者がprotobufを使用する場合、サーバーはgRPCを使用できますか、それともgRPCはgRPCクライアントのみが配信できるものを追加しますか? gRPCが同期および非同期通信を可能にする場合、Protobufはマーシャリング専用であるため、状態とは何の関係もありません-trueまたはfalse? RESTやGraphQLの代わりに通信するフロントエンドアプリケーションでgRPCを使用できますか? 私はすでに知っています-または私がそうすると思います-それ: Protobuf データ交換用のバイナリプロトコル Googleによる設計 クライアントとサーバーで生成された「構造」のような説明を使用して、メッセージをマーシャル解除します gRPC protobuf(v3)を使用します 再びグーグルから RPC呼び出しのフレームワーク HTTP / 2も利用します 同期および非同期通信が可能 すでにこのテクノロジーを使用している人にとっては、簡単な質問だと思います。それでも私を我慢して助けてくれてありがとう。また、ネットワークでテクノロジーを深く掘り下げてくれたことにも本当に感謝しています。

2
TensorFlow保存/グラフのファイルからの読み込み
これまでに収集したものから、TensorFlowグラフをファイルにダンプして別のプログラムにロードする方法はいくつかありますが、それらがどのように機能するかについての明確な例や情報を見つけることができませんでした。私がすでに知っているのはこれです: a tf.train.Saver()を使用してモデルの変数をチェックポイントファイル(.ckpt)に保存し、後で復元する(ソース) モデルを.pbファイルに保存し、tf.train.write_graph()and tf.import_graph_def()(source) .pbファイルからモデルを読み込み、再トレーニングして、Bazel(ソースを使用して新しい.pbファイルにダンプします) グラフをフリーズして、グラフと重みを一緒に保存します(ソース) as_graph_def()モデルを保存するために使用し、重み/変数については、それらを定数にマッピングします(ソース) ただし、これらのさまざまな方法に関するいくつかの質問を解決することはできませんでした。 チェックポイントファイルについては、モデルのトレーニング済みの重みのみを保存しますか?チェックポイントファイルを新しいプログラムにロードして、モデルを実行するために使用できますか、それとも、特定の時間/段階でモデルの重みを保存する方法として機能するだけですか? について tf.train.write_graph()、重み/変数も保存されますか? Bazelに関しては、再トレーニングのために.pbファイルにのみ保存/ロードできますか?グラフを.pbにダンプするだけの簡単なBazelコマンドはありますか? フリーズに関して、フリーズされたグラフを使用してロードできますか tf.import_graph_def()ますか? TensorFlowのAndroidデモは、.pbファイルからGoogleのInceptionモデルに読み込まれます。自分の.pbファイルを置き換えたい場合は、どうすればよいですか?ネイティブコード/メソッドを変更する必要がありますか? 一般的に、これらすべての方法の違いは何ですか?より広義には、as_graph_def()/。ckpt / .pb の違いは何ですか? 要するに、私が探しているのは、グラフ(さまざまな操作など)とその重み/変数の両方をファイルに保存する方法です。これを使用して、グラフと重みを別のプログラムにロードできます。 、使用するため(必ずしも継続/再トレーニングではない)。 このトピックに関するドキュメントは簡単ではないので、回答や情報があれば大歓迎です。

4
プロトコルバッファとJSONまたはBSONの比較[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 11ヶ月前に閉鎖。 この質問を改善する プロトコルバッファーとBSON(バイナリーJSON)または一般的なJSONのパフォーマンス特性に関する情報はありますか? ワイヤーサイズ シリアル化速度 逆シリアル化速度 これらは、HTTPでの使用に適したバイナリプロトコルのようです。私は、C#環境の長期的にはどちらが良いか疑問に思っています。 BSONとProtocol Buffersで読んでいた情報がいくつかあります。

4
Googleプロトコルバッファ:JavaScriptの例
JavaScriptでGoogleProtocol Buffersを使用するのは良い選択ですか、それともJSONで使用する方が良いですか? また、JavaScriptでのプロトコルバッファの実装に関する簡単な例を誰かに教えてもらえれば素晴らしいと思います。Googleのサイトのドキュメントは不足しています。

1
C#クラスから.protoファイルを生成したり、「Code First gRPC」を使用するにはどうすればよいですか?
asp.netコアWebアプリケーションで.NETコア3とgRPCを使用したい。既存のC#クラスとモデルオブジェクトから必要な.protoファイルを生成するにはどうすればよいですか?既存のコードを反映する.protoファイルを書き直したくありません。.protoファイルをクラスおよびモデルオブジェクトから自動生成したいのですが。 このメソッドを呼び出して、サービスクラスを登録します。 builder.MapGrpcService<MyGrpcService>(); public class MyGrpcService { public Task<string> ServiceMethod(ModelObject model, ServerCallContext context) { return Task.FromResult("It Worked"); } } ModelObject[DataContract]あり[DataMember]、注文属性があります。 これは可能ですか?私がオンラインで見る例はすべて.protoファイルから始まります。MyGrpcServiceクラスで必要なサービスメソッドを既に定義しました。しかし、多分これは物事を行う標準的な方法とはちょうど逆です... 古い.NETリモート処理のようなものは、リモートエンドポイントからインターフェイスを要求するだけで理想的であり、それは魔法のように双方向のgRPC通信に使用されますが、ビューが単純すぎる可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.