ラベル Protocol Buffers の投稿を表示しています。 すべての投稿を表示
ラベル Protocol Buffers の投稿を表示しています。 すべての投稿を表示

2018年5月7日月曜日

Protocol Buffers オブジェクトを MongoDB に格納する 2

Protocol Buffers の IDL で定義された型のオブジェクトを MongoDB に格納できるかどうかを検証しています。前回 に続き、今回は Map や Any について調べました。
MongoDB 公式の C# 実装である MongoDB.Driver (2.5.1) を使用しています。

2018年5月2日水曜日

Protocol Buffers オブジェクトを MongoDB に格納する


Protocol Buffers の IDL で定義された型のオブジェクトを MongoDB に格納できるかどうかを検証しています。gRPC で受け取ったオブジェクトをそのまま MongoDB に格納するようなストーリーを想定しています。
単純な型であれば特に問題なく格納できるのですが、やはりいろいろな前提や制限があるようです。

2018年1月13日土曜日

C# 実装の Google.ProtBuf の Timestamp 型は参照型

C# 実装の Google.ProtBuf の Timestamp 型は参照型です。 .NET の DateTime や TimeSpan などと同じで「日付だから値型だ」と思い込んでいると、わかりにくいバグの原因になります。特に == 演算子と Equals メソッドの結果が異なるのは注意が必要です。データ通信のための型と割り切って使用したほうがよいのかもしれません。

2018年1月9日火曜日

Protocol Buffers のIDL記述(日付型)

Protocol Buffers で定義されているスカラー型の中には日付を意味する型がありませんが、Google の GitHub リポジトリには Timestamp 型があります。この proto ファイルをインポートすれば、C# の DateTime 型を Google.ProtoBuf の Timestamp 型にマッピングさせることができます。

2018年1月8日月曜日

Protocol Buffers のIDL記述(名前空間関連)

Protocol Buffers で IDL をどのように記述するとよいのかを調べています。まずは名前空間から。C# でコーディングを行うときに名前空間や型をスムーズに記述できるような指定方法を探ります。

gRPC はじめました。

大きなサイズのデータ通信を伴うシステム開発の予定があり、データ通信基盤の候補として gRPC を調べ始めました。gRPC は Google が開発している OSS です。HTTP/2 や Protocol Buffers を使った高速データ通信が特徴で、双方向通信もサポートされています。マルチプラットフォーム(Windows, Linux, Mac)・マルチ開発言語(C, C++, C#, Node.js, PHP, Ruby, Python, Go, Java)に対応しているのも大きな魅力です。
開発予定の C# を対象に調査していきます。

paiza のスキルチェックをやってみました

いまさら感はありますが、 paiza のスキルチェックをやってみました。指定された時間内にコードを書いてユニットテストにかけ、その結果を基に評価を数値化してくれるというものですが、ゲーム感覚で空き時間を見つけて進めていこうと考えています。 どうやら時間が短いほど高い評価を得...