タグ

serializationに関するyukimori_726のブックマーク (8)

  • Jackson でオブジェクトのシリアライザ/デシリアライザを作ってみる - Qiita

    Jacksonでオブジェクトのシリアライザを作成してみます。 通常の ObjectMapper の設定のままだと getter に対する setter が必要だったり、ジェネリクスが扱えなかったりと色々条件があるので、ObjectMapper に次の設定を施して実施します。 全フィールド値のみ対象とする(getter/setter は対象としない) ジェネリクスに対応する為、自身の型を埋め込む @JsonIgnoreが付いていてもシリアライズ対象にする null は出力しない(データ量削減) ObjectMapper 側で色々設定する事で、オブジェクト側は特に実装の変更を必要としない点がミソです。 シリアライザ/デシリアライザソース public class JacksonSerializer { private static final ObjectMapper mapper = new

    Jackson でオブジェクトのシリアライザ/デシリアライザを作ってみる - Qiita
  • Protocol Buffer、Thrift、Avro、MessagePack for Javaのパフォーマンス測定

    @frsyukiさんの作っているMessagePackのJava版が出ていたので軽くパフォーマンス測定してみました。 http://sourceforge.jp/projects/msgpack/devel/ パフォーマンス測定に使ったプロジェクトは、TPC(Thrift-ProtocolBuffer-Compare)です。TPCはシリアライズ、デシリアライズテクノロジを色々とベンチマークして、かつ最後にGoogleChartでグラフを出してくれる賢いやつです。GJ、TPC。ちなみに今回の測定のやつは、自前でAMF用作ったり、ややカスタマイズしてます。 http://code.google.com/p/thrift-protobuf-compare/ 測定は、イテレーション数を500、1000、2000回でそれぞれ測定しました。測定結果及びまとめは私の主観なので、そこは各自測定して、各々判

    Protocol Buffer、Thrift、Avro、MessagePack for Javaのパフォーマンス測定
  • boost::serializationでほげほげうまうま | さかな前線

    オブジェクトをまるごとファイルに書きだしたりネットワークに送ったりしたいとき内容を直列化し再構築することやその仕組みをシリアライズと呼び,boostではserializationライブラリによって実現できます. どのような形のデータ列に落としこむか?という話で,boost::serializationはテキスト,XML,バイナリの3種類がサポートされています. 分かりやすいページ 僕なんかの記事よりは,他の方の記事を見たほうがいいと思います. Boost.Serializationで遊んでみた – Faith and BraveC++で遊ぼう – さっと雰囲気を見るのにいいです letsboost::serialization – 同上. 定番ですね boost::serializationの使い方 – 詳しくみるのに最高 サンプルプログラム ということでこうやって使おうというサンプ

  • c++とboostを用いたシリアライズ - bxyxvzz’s diary

    シリアライズとは? シリアライズとは メモリ上に存在するオブジェクトを、バイト列に変換する処理. このバイト列が、1列に並んでいるため、シリアライズと呼ばれる。 反対の操作はデシリアライズと呼ばれる. いつ使われる? シリアライズは、オブジェクトをファイルなどに保存したり、ネットワーク送信したりする際によく利用される。 C++でのシリアライズ 〜クラスをシリアル化できるようにしよう〜 標準ライブラリとして、iostreamといったストリーム入出力ライブラリで、バイト列の入出力は可能だが,オブジェクトをバイト列に変換する機能はない. Boostライブラリを使うことで、これは解決可能である. 具体的にはboost::serializationというシリアライズライブラリが提供されている. これの使い方を以下で説明する. コード:クラスをシリアライズする クラスにserialize member

    c++とboostを用いたシリアライズ - bxyxvzz’s diary
  • boost::serializationの使い方

    boost::serializationを使う はじめに コンパイル 簡単な使い方 クラスのバージョン付け 読み込みと書き込みで別の動作を行う 「非侵入型」のシリアル化関数 基底クラスをシリアル化する 配列をシリアライズする constメンバはどうするか ポインタからのシリアライズ:その1 ポインタからのシリアライズ:その2 基底クラスへのポインタから復元する 実装レベル オブジェクトの追跡 抽象クラスでのエラー NVP ロケールの設定 はじめに boost C++ Libraries(以下単にboost)という非常に便利なライブラリがあります。 次期C++標準にこのライブラリのうちのいくつかが採用されるらしいという話もあり、 C++開発者にとっては無視して通れないライブラリです。 そんなboostの中に、serializationというライブラリがあります。 一言で言ってしまえば、「クラ

  • 2. boost::serializationの利用法|オブジェクトの広場

    0. はじめに 前回の記事ではweak_ptrを利用するケースについて紹介しましたが、読者の方から、そのアプローチがboost::enable_shared_from_thisとして準備されているんだから、あわせてそれを紹介すべきでは?とのご指摘をいただきました。そこで今回、コラムとして取り上げましたので、あわせてご覧下さい。 では、今回のテーマ、シリアライズについて紹介したいと思います。 1.シリアライズとは? シリアライズとは、メモリ上に存在するオブジェクトを、バイト列に変換する処理のことです。このバイト列のイメージが、1列に並んでいることから、シリアル(直列)化、シリアライズという名称で呼ばれています。シリアライズは、オブジェクトをファイルなどに保存したり、ネットワーク送信したりする際によく利用されます。一方、ファイルから読み出したバイト列からオブジェクトを復元する処理は、デシリアラ

  • [C++] 簡単なシリアライザでも作ろうか

    8月です。圧倒的に時間が足りません。 さて、それは置いといて、C++でシリアライズしたいシチュエーションってありますよね。例えばゲームのセーブデータとか、ゲームのセーブデータとか。あとはゲームのセーブデータとかかな。 最初に答えをいってしまうと、まぁboost::serialization使えってことになるんですが、でもそれって面白く無いじゃないですか。boostでかいし、ちょっとシリアライズするために使うのもなんだかアレじゃないですか。まぁとりあえずそういうことにしといてください。 というわけでサクッと簡単にシリアライズするクラスでも作ってみました(丸一日かかったなんて言えない)。 いわゆる車輪の再発明ってやつで、しかも汎用的に使うにはちょっと問題ありな感じになっています。所詮は私の勉強の記録なので、そこら辺はご了承ください。 方針 今回は以下のような方針に沿って実装しました。 とにかく

  • Javaの道:入出力(7.オブジェクトのシリアライズ)

    概要 Javaでは文字データやバイトデータの入出力以外に、オブジェクトの入出力を行うクラスが用意されています。オブジェクトの入出力はオブジェクトを再利用するため一時的にオブジェクトを保持する場合や、リモート環境にあるプログラムとソケットを利用してオブジェクトをやり取りを行う場合などに使用します。 オブジェクトの入手力処理はオブジェクトのシリアライズ(直列化)と呼ばれています。それはオブジェクトの書き込み処理を行う場合、読み込み処理に備えオブジェクトを一連のつながりのあるデータとして書き込む必要があるためです。読み込む際は書き込まれた一連のデータの順に読み込み処理を行います。 オブジェクトのシリアライズを行う際、そのオブジェクトのクラスはSerializableインタフェースを実装する必要があります。Serializableインタフェース自体には何の定義もされていません。そのため、Seria

    Javaの道:入出力(7.オブジェクトのシリアライズ)
  • 1