問題タブ [datamodel]
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.
python - カスタム型が Python のアドホック属性を受け入れるのはなぜですか (組み込み型は受け入れない)?
カスタムタイプのインスタンスに対して新しい属性を作成できる理由(「新しい」は「クラス本体で以前に定義されていない」ことを意味します)が、ビルドに対して同じことを行うことができない理由を知りたいです-タイプで、object
それ自体のように。
コード例:
c++ - スマート ポインター、または「より優れた」デストラクタ
このようなデータ構造に最も適しているのは、どのタイプのスマート ポインター (共有、スコープ) ですか...
構造 1:
};
構造 2:
ベクトルを使用して Edge と PointTopo を保存したいと思います。
しかし、デストラクタに問題があるので、参照カウントを使用するかどうかを検討しました。
ポイント p1、p2 は両方のリスト tl1、tl2 に格納されます。tl2 のデストラクタは例外を引き起こし、ポイント p1 と p2 は tl1 デストラクタを使用して既に削除されています。
この例は合成ではありません。nl2 が nl1 のサブセット、たとえば nl1 の凸包を表すと想像してください...
この問題は、参照カウントなしでは解決できないと思います...だから、スマートポインターを使用しようとしています...
ご助力ありがとうございます...
database - 挿入/削除を伴うコアデータ(またはSQL)を使用して順序付きテーブルを維持するにはどうすればよいですか?
この質問はコアデータのコンテキストにありますが、私が間違っていなければ、より一般的なSQLの場合にも同様に当てはまります。
Core Dataを使用して順序付きテーブルを維持したいのですが、ユーザーは次のことができます。
- 行を並べ替える
- どこにでも新しい行を挿入します
- 既存の行を削除します
それを行うのに最適なデータモデルは何ですか?私は2つの方法を見ることができます:
position
1)配列としてモデル化する:エンティティにintプロパティを追加します
2)リンクリストとしてモデル化する:2つの1対1の関係を追加next
しprevious
、エンティティからそれ自体に追加します
1)並べ替えは簡単ですが、position
後に続くすべてのオブジェクトを更新する必要があるため、挿入または削除するのは面倒です。
2)挿入または削除は簡単ですが、並べ替えは非常に困難です。ORDER BY
実際、その場合のソート記述子(SQL句)の表現方法がわからないと思います。
今、私は1)のバリエーションを想像することができます:
3)intordering
プロパティをエンティティに追加しますが、1つずつカウントするのではなく、100 x 100をカウントします(たとえば)。次に、挿入は、前の既存のオブジェクトと次の既存のオブジェクトの順序の間の任意の数を見つけるのと同じくらい簡単です。高価な番号の付け直しは、100個の穴が埋められたときにのみ発生する必要があります。そのプロパティをintではなくfloatにすると、さらに良くなります。ほとんどの場合、2つのfloatの中間に新しいfloatを見つけることができます。
私は解決策3)で正しい方向に進んでいますか、それとももっと賢いものがありますか?
database-design - ソーシャルネットワーク設計におけるユーザーオブジェクトとアカウントオブジェクトの違いは?
ソーシャル ネットワーキング サイトのデータ モデルを構築していますが、ユーザーとアカウントをモデル化する方法がわかりません。
1) ユーザーがサインアップし、アカウントを作成します。そのため、私たちが目にするほとんどのソーシャル Web サイトと同じプロファイル ID であるユーザー ID をユーザーに割り当てます。これもアカウントIDですか?または、別のアカウント ID も隠されていますか? ユーザーが複数のプロファイルを持つことができる場合、ユーザー ID は、各プロファイル ID とは別のアカウント ID とは別のものですか?
2) 1 人のユーザーが 1 つのアカウントしか持っていないと仮定します。しかし、ユーザーが自分のアカウントを編集しているとき、または管理者がユーザーのアカウントを編集しているとしましょう。ユーザーはアカウントを編集しているので、これをモデル化するには 2 つの個別の ID が必要ですか?
3) ユーザーとアカウント オブジェクトの寿命は? ユーザーが自分のアカウントを閉じると、ユーザーとアカウント オブジェクトの両方が殺されるということですか?
4) そして、誰がユーザー プロファイルの詳細、ユーザー設定、プライバシー、友人などを保持していますか? ユーザー オブジェクトまたはアカウント オブジェクト、どちらが優れているか?
5) ユーザーが作成/管理できる写真、ビデオなどのシステム オブジェクトがありますが、それらはユーザーまたはアカウント オブジェクトによって所有されていますか?
6) オブジェクトを正確に作るものは何ですか? ステータスの更新、コメント、プロフィールの詳細があるとします。これらは3つのオブジェクトですか?それとも、すべてを 1 種類のオブジェクトと 3 つのカテゴリだけと見なすのでしょうか?
java - RESTおよびJAVAJPA
適切に文書化されていないプロジェクトのコードを理解しようとしています。このタスクに取り組んでいる開発者は1人だけです。経験はあまりありません。gette
データモデルがあり、それにアクセスするためにいくつかのクラスがあります。データモデルにはその上にいくつかのREST APIがあると言われましたが、コードを見ると、いくつかのURIをいくつかのREST呼び出しを行うrコードを見ることができます 。しかし、私はsetter
それがオブジェクトを永続化するために使用されるプレーンなjpaを持っているメソッドを調べます。元extitymanger.persist(objname).
データを取得し、JPAを使用してデータを永続化するためにRESTインターフェースを使用することは可能ですか?
c++ - データモデル、循環参照
子午線と緯線を格納するための次のデータ構造があります。
各地図ポイントには、次のものが格納されます。
A] 地理的および空間座標、地図作成の歪みなど。
B] 北/南/東/西ノードへのポインター。
ポイント間の関係、まず子午線/平行線への所属を保存できます...
子午線のデータ構造には、子午線の経度、子午線の始点と終点、点数が格納されます。
すべてのポイントはノード リストに格納されます。
しかし、Node2DList のコピー コンストラクターの作成には大きな問題があります。Meridian/Parallel と Node2Dlist の間には循環的な依存関係があります。
コピー コンストラクターはstd::map
古いポイントとリンクを使用して新しいものに置き換えますが、これは実装上の問題ではありません...ただし、クラス Meridian ポイントから古い Node2DList のポイントへのポインターの開始/終了... Node2DList コピー コンストラクターは、古いポイントを指すすべての子午線を通知する必要がありますNode2DList ポイントを変更し、すべてのポインタを新しい Node2DList ポイントに変更します。このモデルはそれを許可しません。
考えられる解決策は、子午線と平行点を指す 2 つのポインターを追加することです。
残念ながら、この提案されたモデルは良くありません。2 つのクラス間の循環参照がまだあります...誰かがそれを改善するのを手伝ってくれますか? ありがとう...
datamodel - ExtGWT-GXT、BaseModel から拡張するクラスを定義するにはどうすればよいですか?
いくつかのチュートリアルやドキュメントを読みましたが、BaseModel または ModelData から拡張されたクラスを定義する方法がわかりません。具体的には、getter メソッドと setter メソッド、およびメソッド内の値に名前を付ける方法がわかりません。コード規則はありますか? 例:
「ExtGWT を使用した Apppress の開発」で、彼らは次のように述べています。
次のようなインスタンスを作成する代わりに、それを推測できますか:
Foo foo= new Foo(); foo.getName();
「getName()」を呼び出すことができますか?
java - モデル オブジェクトは柔軟であるべきか
[申し訳ありませんが、作品は所有権があるため、オブジェクトの詳細を示すことはできません]
私は同僚と一緒に Java アプリケーションに取り組んでいます。私はクライアント側を担当しており、彼はサーバーコードを書いています。
アプリケーションは、X オブジェクトのテーブルを表示します。表の列は、X の属性の一部を示しています。さらに、各 X の Y の数を示す列があります (関連付けは Y から X への多対 1 であり、Y はその親 X への参照を持ちます)。
Y のカウントは X の属性ではなく、DB のクエリを介して取得されます。
私は TableModel を使用しているので、テーブルのモデルとして X オブジェクトを使用する方が明らかに簡単です。しかし、Y カウントは XI の属性ではないため、X とカウントを保持するコンテナ オブジェクトを作成する必要があります。これは、不要と思われるクラスを追加するため、かなり面倒です。
私は同僚に、X に追加のフィールドとゲッターを追加するよう提案しました。
プライベート void マップ情報 = 新しい HashMap();
これにより、モデル オブジェクト X がより柔軟になります。X の性質に固有のモデルの主要な属性に影響を与えることなく、いつでも必要な状態をクライアントに格納できます。キーはクライアントでのみ定義されるため、モデルが汚染されることはありません。
モデル オブジェクトはドメインのみをモデル化する必要があり、余分なフィールドはドメイン オブジェクトに関連していないため、追加すべきではないと感じたため、彼は拒否しました。彼は、クライアントがこれを処理する必要があると考えています。
どちらの視点にもメリットがあるように思われるので、他の読者がこれについてどう思うか、または感じているかに興味があります。
ありがとう、
ティム
visual-studio-2010 - VS2010 でテンプレート ADO.NET Entity Data Model が見つかりません
VS2010 では、データ セクションからテンプレート ADO.NET Entity Data Model が見つかりません。やっていた:
- WebSite を使用して Silverlight (バージョン 4) プロジェクトを作成する
- Web プロジェクトを右クリックし、[追加] -> [新しい項目] -> [データ セクション] (実際、すべて試しました)
でも見つからない!!それは奇妙だ!
それで、
- VS テンプレートをリセットしようとしましたが、うまくいきませんでした
- VS2010 を再インストールしようとしたところ、「成功しました」というメッセージが表示されました。また、ADO.NET Entity Framework が適切にインストールされていることも確かです。
それで、他にできることはありますか?このテンプレートを VS にインストールできますか?
core-data - CoreData - データモデル
エンティティを作成し、アプリを正常に実行した後、何かを見逃していることに気付きました。新しい属性を追加したところ、さまざまなデータ モデルに関するエラーが発生し、SIGABRT を開くことができません (言い換えると、画像が得られると思います)。データ モデルをリセットするにはどうすればよいですか? または、新しいエンティティを作成する必要がありますか? 後者の場合、アプリ内で保存したデータをすべて削除したため、柔軟性がないように思えます。