問題タブ [messagepack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
serialization - MessagePack:高速クロスプラットフォームシリアライザーとRPC-経験を共有してください
高速でシンプルで安定したRPCライブラリを探していたところ、非常に優れていると思われるMessagePackプロジェクトに出くわしました。また、活発な開発が行われています。
何か使ったことがあれば、経験を教えてください。
PSこの質問はコミュニティウィキであるべきだと思います
serialization - パフォーマンスの高いエンティティのシリアル化: BSON vs MessagePack (vs JSON)
最近、私はMessagePackを見つけました。これは、Google のProtocol BuffersとJSONの代替バイナリシリアル化形式であり、どちらも優れています。
また、データを格納するために MongoDB で使用されるBSONシリアル化形式もあります。
誰かが BSON と MessagePack の違いと欠点/利点を詳しく説明できますか?
パフォーマンスの高いバイナリ シリアル化形式のリストを完成させるために、Google の Protocol Buffers の後継となるGob もあります。ただし、言及されている他のすべての形式とは対照的に、これらは言語に依存せず、Go の組み込みリフレクションに依存しており、少なくとも Go 以外の言語用の Gobs ライブラリもあります。
objective-c - Objective-C の MessagePack 実装
Objective-C 用のMessagePackプロトコルの実装はありますか?
そうでない場合、C 実装を Objective-C 型にブリッジする例はありますか?
exception - MessagePack と Glassfish
Glassfish の WAR アプリケーションで MessagePack を使用しようとしていますが、この例外が発生します (ただし、JavaAssist は既にプロジェクトのライブラリです)。
java.lang.NoClassDefFoundError: javassist/ClassPath at org.msgpack.template.builder.BuilderSelectorRegistry.initForJava(BuilderSelectorRegistry.java:58) at org.msgpack.template.builder.BuilderSelectorRegistry.(BuilderSelectorRegistry.java:38) at org.msgpack .template.TemplateRegistry.(TemplateRegistry.java:38) at org.msgpack.MessagePack.register(MessagePack.java:149)
これは私が電話したときに起こります
org.msgpack.MessagePack.register()
何か案は?
java - AndroidでMessagePackを使用する
誰かがMessagePack
Androidアプリで使用しようとしましたか?
出来ますか?からJarを使用しようとしmsgpack-java
ましたが、次の例外が発生しました。
私が使用するコードは非常に単純です
私のディレクトリ にはjavassist.jar
、、、msgpack-0.5.2.jar
がslf4j-api-1.6.2.jar
あります。slf4j-jdk14-1.6.2.jar
lib
私のサーバーアプリケーションでは、このコードは同じライブラリで正常に機能します。
java - 不変ビジネス オブジェクトと MessagePack メッセージ間の自動変換
Java では、不変の POJO の階層を使用してドメイン モデルを表現したいと考えています。
例えば
これらのすべての POJO には、getter または setter のない public final フィールドがあります。(ゲッターのファンの場合は、フィールドがゲッターで非公開であるふりをしてください。)
また、 MessagePackライブラリを使用してこれらのオブジェクトをシリアル化し、ネットワーク経由で渡したり、ZooKeeper ノードに格納したりしたいと考えています。
問題は、MessagePack が public の非 final フィールドのシリアル化のみをサポートしているため、ビジネス オブジェクトをそのままシリアル化できないことです。また、MessagePack は をサポートしていないため(はい、あなたの s に注釈を追加すればそうですenum
、enum 値をシリアル化するために変換するint
必要があります。String
enum
。以下の私のコメントを参照してください。)
これに対処するために、「メッセージ」オブジェクトの対応する階層を手書きで作成し、各ビジネス オブジェクトとそれに対応するメッセージ オブジェクトとの間で変換を行います。明らかに、これは理想的ではありません。大量のコードの重複が発生し、人的ミスによってフィールドが欠落するなどの可能性があるからです。
この問題に対するより良い解決策はありますか?
- コンパイル時のコード生成?
- 実行時に適切なシリアライズ可能なクラスを生成する方法はありますか?
- MessagePack をあきらめますか?
enum
ビジネス オブジェクトの不変性と s をあきらめますか?- 可変オブジェクト (メッセージ オブジェクト) を不変オブジェクト (ビジネス オブジェクト) にラップできる汎用ラッパー ライブラリはありますか?
MessagePack は (@MessagePackBeans アノテーションを使用して) Java Bean のシリアル化もサポートしているため、不変オブジェクトを Java Bean との間で自動的に変換できれば、解決に近づく可能性があります。
javascript - Javascript から MessagePack RPC サービスを呼び出す方法は?
この単純な Java サーバー プロセスを MessagePack RPC サービスとして実行しています。hello()
Java ではなく Javascript からサービスを呼び出したいのですが、それを実現する方法の例をまだ見つけていません。MessagePack サイトには Javascript の RPC 実装はないようです。
更新 ここで MessagePack 用の Javascript RPC クライアントを見つけました...
java - Messagepack によるシリアル化
Messagepackを使用して Java クラス オブジェクトをシリアル化するのが好きです。私のクラス構造はそのようなものです
私がやりたいことは、InnerDerivedClass のオブジェクトを作成し、いくつかの値をそれに割り当てることです。次に、オブジェクトをクラス A に基本クラス オブジェクトとして追加します。クラス A オブジェクトを Messagepack でシリアル化および逆シリアル化すると、オブジェクトを InnerDerivedClass オブジェクトとして取得できず、InnerClass obj として取得できません。MessagePack を使用してこれを達成するにはどうすればよいですか。各クラスをメッセージパックに登録するのではなく、注釈を使用していません。
python - メッセージパックから Python で暗号化された文字列をデコードできません (Ruby openssl)
メッセージパックを介してソケット接続から取得した一部のデータのエンコードを解除し、結果として暗号化を解除するのに問題があります。UTF-8 で Ruby on Rails Web アプリケーションから文字列を取得し、メッセージパックを使用してすべてをバンドルし、ソケットを使用して Python サービスに送信します。文字列、数値、配列など、他のデータは正常に表示されます。しかし、暗号化されたパスワードは壊れています。
https://github.com/msgpack/msgpack/issues/15このディスカッションでは、Rails コードと Python で行った ascii の強制が提案されました。RubyでASCIIを強制し、Pythonで何もしないと、文字列にジャンクが表示されますが、暗号化されていない正しいパスワードが最後にあります。Python スクリプトで ascii を強制しようとすると、デコード エラーが発生します
暗号化は、公開/秘密鍵 (Python では Crypto.PublicKey RSA、Ruby では openssl) を使用して行われます。各スクリプト内で問題なく復号化および暗号化できます(メッセージパックを介してソケット経由で送信しません)
何か考えはありますか?
編集:
いくつかの実験と少しの考えの後、パスワードが問題なく出力されるという事実が興味深いことに気付きました。問題は、文字列の先頭にある余分なジャンクです。それがどこから来たのか、または切り捨てても安全かどうかはわかりません。
python - Ubuntu用のPythonパッケージpython-msgpackのデバッグバージョンを作成します
python2.7-dbgで使用できるバージョンのメッセージパックが必要です。どうすれば作成できますか?
参考までに、私はgithub https://github.com/msgpack/msgpack-pythonの問題を介して質問しましたが、ここに小さなコンテキストがありますpython-dbgはデバッグ時にPy_InitModule4を見つけることができません