回答編集履歴

4

推敲

2020/04/22 19:02

投稿

Kenji.Noguchi
Kenji.Noguchi

スコア358

test CHANGED
@@ -92,8 +92,8 @@
92
92
 
93
93
 
94
94
 
95
- 例えはstructに新たにフィールドを追加したかったらどうしますか?レコード長が変わってしまいますが、全システムを同時に更新できますか?多分無理でしょう。後方互換性を確保したままペイロードを変更する方法を考えないといけないですね。固定長で良いとのことですが、フィールドが増える度にサイズが増えますね。全てのフィールドを使っても使っていなくてもスペースを消費してしまいます。
95
+ 例えはstructに新たにフィールドを追加したかったらどうしますか?レコード長が変わってしまいますが、全システムを同時に更新できますか?多分無理でしょう。後方互換性を確保しつつ変更する方法を考えないといけないですね。固定長で良いとのことですが、フィールドが増える度にサイズが増えますね。全てのフィールドを使っても使っていなくてもスペースを消費してしまいます。
96
96
 
97
97
 
98
98
 
99
- このあたりの問題を解決してくれるのが先に挙げたようなRPCフォーマットです。ご参考まで。
99
+ このあたりの問題を解決してくれるのが先に挙げたようなライブラリで提供されるRPCフォーマットです。ご参考まで。

3

誤字修正

2020/04/22 19:02

投稿

Kenji.Noguchi
Kenji.Noguchi

スコア358

test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
 
90
90
 
91
- もしこれから設計をするなら、AvroやProtobufのように多言語で使えて、スキーマを定義したら各言語でバインディング(タイプクラス、シリアライザー、デシリアライザー)生成が生成できるようなライブラリを使うのが良いでしょう。
91
+ これから設計をするなら、AvroやProtobufのように多言語で使えて、スキーマを定義したら各言語でバインディング(タイプクラス、シリアライザー、デシリアライザー)生成ができるライブラリを使うのが良いでしょう。
92
92
 
93
93
 
94
94
 

2

コード修正。意図を明確化

2020/04/22 16:46

投稿

Kenji.Noguchi
Kenji.Noguchi

スコア358

test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  print("Struct size", sizeof(head))
58
58
 
59
- print("Buffer data len", DATA_SIZE)
59
+ print("Buffer data len", len(head.data))
60
60
 
61
61
  print("Buffer data", head.data[:])
62
62
 

1

誤字修正

2020/04/22 16:42

投稿

Kenji.Noguchi
Kenji.Noguchi

スコア358

test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
 
94
94
 
95
- 例えはstructに新たにフィールドを追加したかったらどうしますか?レコード長が変わってしまいますが、全システムを同時に更新できますか?多分無理でしょう。後方互換性を確保したままペイロードを変更する方法を考えないといけないですね。固定長で良いとのことですが、フィールドが増える度にサイズが増えますね。フィールドを使っても使っていなくてもスペースを消費してしまいます。
95
+ 例えはstructに新たにフィールドを追加したかったらどうしますか?レコード長が変わってしまいますが、全システムを同時に更新できますか?多分無理でしょう。後方互換性を確保したままペイロードを変更する方法を考えないといけないですね。固定長で良いとのことですが、フィールドが増える度にサイズが増えますね。全てのフィールドを使っても使っていなくてもスペースを消費してしまいます。
96
96
 
97
97
 
98
98