問題タブ [object-persistence]

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.

0 投票する
2 に答える
164 参照

xml - オーバーヘッドのないオブジェクトのシリアル化に XML を使用するパターンはありますか?

JavaScript で JSON を使用できるのと同じように?少なくとも静的プロパティ?

それとも、ハッシュテーブルストリーミングの場合でも?

次のようなものを見つけることを期待するのは単純すぎますか

Object.Serialize(stream) ここで、stream はファイルであり、XML などの既定の形式を使用して、他の可能性の高い候補ターゲットを選択してオーバーライドできますか?

オブジェクト obj = stream.Deserialize() で ...

0 投票する
6 に答える
1304 参照

java - デスクトップ アプリケーションのオブジェクト永続化戦略

Java ベースのデスクトップ アプリケーションを開発しています。アプリケーション オブジェクト モデルから生成されたいくつかのデータを保持する必要があります (できればファイルに)。また、永続化されたファイルを保護して、他のユーザーがデータからオブジェクト モデルの詳細を取得できないようにする必要もあります。これらを行うための最良の戦略は何ですか? これらの要件は、デスクトップ アプリでは非常に一般的であるという印象を受けました。しかし、私はそれについて多くの有用な情報を見つけることができませんでした. 任意の提案をいただければ幸いです。

0 投票する
1 に答える
380 参照

iphone - iPhoneでデータベース管理/オブジェクト永続化の好ましい方法はありますか?

私はいくつかのアプローチを見てきましたが、それぞれに大きなプラスとマイナスがあるようです。私はiPhoneの開発を学んでおり、比較的単純なアプリを構築しています。これは、基本的に、3つまたは4つの関連エンティティでのCRUD操作にすぎません。

私はActiveRecordタイプのオブジェクトの永続性に慣れています。私がオンラインで読んだCocoaTouchの実装は、一般に非常に遅いと言われています。

私がオンラインで見ているほとんどの例(特にPragmatic Programmersのスクリーンキャスト)では、SQLがコントローラークラスにハードコードされていますが、これは私には正しくないようです。非常に古い学校のようです(ただし、この場合は古い学校が最適かもしれません)。

ここでSDK3.0について説明することはできませんが、CoreDataがiPhone向けに登場することはよく知られていることです。もちろん、それによって視聴者が制限されることになります(これほど気になるかどうかはわかりません。これは、販売しますが、私のキャリアに取って代わる予定はありません)

Gus MuellerのFMDBはまだ試していませんが、良いことは読んでいます。

あなたの経験のいくつか、何がうまくいくか、そして何がうまくいかないか。(まだかなり初心者の)iPhoneプログラマーが時間を費やすことをどこに勧めますか?

0 投票する
2 に答える
829 参照

java - なぜ「クラスのインスタンスをエンティティとしてデータベースに保存する」のでしょうか。

GoogleDatastoreAPIの次の行を理解しようとしています。

JDOは、Javaクラスのアノテーションを使用して、クラスのインスタンスがエンティティとしてデータストアに格納される方法、およびデータストアから取得されたときにエンティティがインスタンスとして再作成される方法を記述します。

これはほとんどの人にとって非常に基本的な質問だと思います。しかし、クラスオブジェクトをデータベースに保存し、後で取得する必要がある理由がわかりません。代わりに、アプリケーションでデータストアをどのように表示するかを定義し、クラス全体を保存したり、常に同じプロパティを繰り返し保存したりするのではなく、必要に応じてクラスプロパティの関連データのみを保存してみませんか?クラスのインスタンスには、データベースに存在する必要のないあらゆる種類の情報(メソッド、クラス変数、インスタンス変数)が含まれています。これらの情報はソースコードに記述されているため、再現する必要はありません。データベースにあります-クラスが操作している特定の関連データのみを保存する必要があります。右?引用されたステートメントが何を意味するのか理解していないのかもしれません。

0 投票する
6 に答える
13933 参照

session - セッション オブジェクト内の従来の ASP Store オブジェクト

私は従来の ASP を初めて使用し、顧客が従来の ASP での Web アプリケーションを望んでいるため、従来の ASP で Web アプリケーションをコーディングする必要があります。:(

いずれかの方法!ここに私の質問があります:

person というクラスのオブジェクトがある場合:


ここまでは順調ですね...

次のリクエストで、セッション変数を次のように読み取ろうとします。

何が起こっているかについてのアイデアは非常に役立ちます。

0 投票する
8 に答える
10534 参照

python - Python では、永続的な辞書を保持して変更できますか?

そのため、辞書を永続ファイルに保存したいと考えています。通常の辞書メソッドを使用して、そのファイルの辞書からエントリを追加、印刷、または削除する方法はありますか?

cPickleを使用して辞書を保存してロードできるようですが、そこからどこに取得すればよいかわかりません。

0 投票する
2 に答える
4028 参照

php - PHP オブジェクト プロパティの変更の追跡

PHP 変数に加えられたすべての変更を追跡しようとしています。変数は、オブジェクトまたは配列にすることができます。

たとえば、次のようになります。

このオブジェクトは、オブジェクト キャッシュを使用してストレージに永続化されます。PHPスクリプトが再び実行されるとき。

そのため、スクリプトが 2 回目に実行されるとき、または別のスクリプトが実行されてそのオブジェクトが変更されたときに、それらの変更が行われている間、またはスクリプトの実行後に一度に追跡されるようにしたいと考えています。

例えば:

オブジェクトに「c」が追加されたことを知りたいです。

実際のコードは次のようになります。

2 回目のロード:

私が知りたいのは、'c' が $storage->object にプッシュされたので、クラス "Storage" でその値を永続ストレージに設定できるということです。

私はいくつかの方法を試しましたが、うまくいきましたが、欠点があります。

1)オブジェクトへの変更を追跡するクラス「Storable」ですべてのオブジェクトをラップします

クラス「Storable」は、実際のデータ オブジェクトをプロパティとして保存し、それにアクセスするための __get() および __set() メソッドを提供します。オブジェクトのメンバー/プロパティが変更または追加されると、「Storable」クラスがこれを認識します。プロパティがアクセスされると、Storable クラスの __get() は、別の Storable クラスにラップされたプロパティを返すため、新しいレベルごとに再帰的にその変更も追跡されます。

問題は、オブジェクトがネイティブ データ型ではなくなったため、配列に対して配列関数を実行できないことです。

例えば:

代わりに、これらの配列関数を Storable のメソッドとして実装する必要があります。

例えば:

これで問題ありませんが、ネイティブ関数を何らかの方法で使用して、開発中のライブラリのオーバーヘッドを削減し、変更を追跡して変更を永続ストレージに追加できるかどうかを知りたいです。

2) 変更の追跡を忘れて、オブジェクト構造全体を更新するだけです

これは、プログラム内のオブジェクトをオブジェクト キャッシュ (別のマシン上にある可能性があります) に実際に格納されているオブジェクトと同期させる最も簡単な方法です。

ただし、これは、1 つのインデックスが変更されたときに、1000 個のインデックスを持つ配列のような構造全体をソケットを介してオブジェクト キャッシュに送信する必要があることを意味します。

3) オブジェクトのミラーをローカルに保持する

また、オブジェクトのクローンを作成し、クローン オブジェクトをそのままにしておくことも試みました。次に、PHP スクリプトによってすべての処理が完了したら、複製を変更されたオブジェクトと再帰的に比較し、変更されたプロパティをオブジェクト キャッシュに送信します。

ただし、これを使用するには、オブジェクト全体をダウンロードする必要があります。また、オブジェクトは複製されるため、2 倍のメモリを消費する必要があります。


これはかなりあいまいですが、かなりのコードが含まれています。誰かがコードを見たい場合は、投稿するか、開いている SVN リポジトリに投稿できます。このプロジェクトはオープン ソースですが、まだパブリック リポジトリをセットアップしていません。

0 投票する
1 に答える
2906 参照

nhibernate - オブジェクトをセッションに再接続するときのNHibernateNonUniqueObjectException(Lockを使用)

実行の基本的な順序:

  1. のコレクションPersistentObjectsが照会され、セッションとは別にキャッシュされます。
  2. コレクションはモジュールに渡されます。モジュールは、プロパティの一部を遅延ロードするために、それらをセッションに再接続する必要があります(を使用してsession.Lock(obj, LockMode.None))。
  3. モジュールが処理を完了した後、別のモジュールが、アクションを初期化したユーザーの使用統計をSaveOrUpdate含むオブジェクトを試行します。UserSetting
  4. NHibernateで。session.Flush()をスローしNonUniqueObjectExceptionます。

この問題を回避する1つの方法は、次のオブジェクトの新しいコピーを取得することです。

で再接続する代わりにsession.Lock。ただし、一部のレコードセットは潜在的に非常に大きいため、これは最適ではなく、各オブジェクトを個別に再取得するとパフォーマンスが低下する可能性があります。

一意でないオブジェクトは、クラスにのみ存在し、PersistentObjectクラスには存在しない参照オブジェクトですUserSetting。したがって、フラッシュによってこの例外が発生する理由がわかりません。

モジュールが終了した後、キャッシュされたオブジェクトを削除しようとしましたが、これは役に立ちません。

この問題を回避できるオブジェクトをセッションにアタッチするためのより良い方法を知っている人はいますか?

0 投票する
2 に答える
695 参照

iphone - iPhone でオブジェクト グラフをフラッシュする最適な方法

iPhone プラットフォームの Objective-C にオブジェクト グラフがあり、アプリを閉じるときにフラッシュを保持したいと考えています。グラフには約 100k ~ 200k のオブジェクトがあり、多くのループが含まれています (設計による)。このグラフをできるだけ早く読み書きできるようにする必要があります。

これまでのところ、NSCoder を使用してみました。これはループに苦労するだけでなく、グラフを永続化するのに時間がかかり、かなりの量のメモリが必要になります。これはおそらく、XML ドキュメントが内部で使用されているためです。SQLite データベースも使用しましたが、その多くの行をステップ実行するのにもかなりの時間がかかります。

Core-Data の使用を検討しましたが、core-data へのバッキング ストアが同じように機能すると考えているため、SQLite や NSCoder と同じ問題が発生するのではないかと心配しています。

このオブジェクトグラフの永続性を軽量な方法で処理できる他の方法はありますか?理想的には、Javaのシリアライゼーションのようなものが欲しいですか? 私はTokyo Cabinetを試すか、C 構造体の束によって占有されているメモリをディスクに書き込むことを考えていましたが、それは多くの書き直し作業になるでしょう。