問題タブ [shared-data]
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.
windows - ドメインの互換性:共有データはどこに書き込む必要がありますか?
XPでかなりうまく機能するアプリケーションを作成しましたが、おそらくユーザーデータが書き込まれている場所が原因で、VistaおよびWindows7への移行に深刻な問題が発生しています。
ユースケースは次のとおりです。個々のユーザーはマシンにログインし、それを使用してデータを取得する必要があります。スーパーバイザーユーザーは、個々のユーザーの肩越しに見て、自分の仕事が適切に実行されていることを確認できる必要があります。これらのスーパーバイザーは、システムログをチェックして、システムが正しく実行されていることを確認する必要もあります。
XPでこれらのタスクを実行する方法は、C:\ドライブ上のフォルダーに直接書き込むことでした。それは悪い習慣かもしれませんが、そうではないかもしれませんが、基本的に、システムのすべてのユーザーがこのデータに共有データとしてアクセスできる必要がありました。プログラムの一部のインストールでは、ITの状況がまったく安全ではなく、コンピューターのユーザーが1人で、各個人が個別にプログラムにログインしていました。プログラムの他のインストールでは、ITスタッフは有能であり、ユーザーごとに異なるログインがありますが、各ユーザーは引き続きC:にアクセスでき、各ユーザーは必要に応じて他のユーザーを確認できます。
Vista / Windows 7では、すべてが変更されます。ITスタッフがすべてを個々のユーザーに固定している場合でも、これらのユーザーはこの共通データを共有する必要があり、アプリケーション固有の構成パラメーターとユーザーリストをアプリケーションのディレクトリに書き込むことは許可されていません。システムがドメインのある場所にある場合、ユーザーにはローカル管理者権限がなく、インストールでさえ問題になる可能性があります。
これに対する解決策は、インストーラーにすべてのユーザーが書き込めるディレクトリを作成させ、そのディレクトリにすべてのユーザー固有のデータを配置させることですか?もしそうなら、インストーラーにそのように動作させることは可能ですか(管理者権限を付与する必要がある場合でも)?または、Vista / 7をよりリベラルなXPの方法で動作させる方法はありますか?
asp.net - 共有データの問題
私は ASP.NET オンライン ショップに取り組んでいます。すべての製品にはエンティティがあり、ユーザーがそれを販売する場合でも、そのエンティティを減らす必要があります。このフィールドはすべてのユーザー間で共有されるため、(共有データの問題により) 負になる場合があります。さて、どうすればこの問題を防ぐことができますか?これにトランザクションを使用できますか? 可能であれば、どの分離レベルを使用すればよいですか? そうでない場合は、どうすればよいですか?
iphone - 一元化されたデータ ストアに対して書き込みと読み取りを行うアプリを作成するにはどうすればよいですか?
私は職場で、人々がアイデアを書いて中央保管庫に送って、オフィスの他の人が見ることができるようにする簡単な iPhone アプリを書くように依頼されました。
そのようなデータを保存する最良の方法は何だろうと思っているのですが、単純な SQLite データベースを使用する必要がありますか? データベースへのアクセス/変更に使用される Cocoa ライブラリは何ですか?
また、Apple はアプリを App Store 経由ではなく、プライベート ネットワークに展開することを許可していますか?
理想的には、各ユーザーのログインは通常の Microsoft Outlook 電子メール アドレスだけです。Microsoft Exchange にアクセスするための Cocoa ライブラリはありますか?
ありがとう。
architecture - 複数のアプリケーションから参照する必要がある共有データベースをどのように処理すればよいですか?
私の SOA には、ユーザー サービスと製品サービスの 2 つのサービスがあります。ユーザーと製品の両方に、国と産業の 2 つのオブジェクトで「タグ付け」できます。これは、両方のサービスに結合テーブルがあり、将来のサービスでもそれが必要になることを意味します。国や業界のデータベースは標準化して、できれば一元管理してほしい。私が考えることができるいくつかのオプションがあります:
- 国、業界、およびその他の共有データベースを独自のサーバーに保持し、外部の読み取り専用接続を許可しますが、データの操作は、そのデータを管理することを唯一の目的とする 1 つのアプリで行う必要があります。
- これらのテーブルのコピーをサービスのローカル データベースに保持し、スレーブ テーブルとして機能させます。マスター テーブルは、そのデータを管理し、それらのスレーブ テーブルに更新をプッシュするアプリによって維持されます。
良いオプションがありませんか?これらの 2 つまたは他の提案のうち、どれを採用しますか?なぜですか?
android - AIR と Android アプリでデータを共有
フラッシュ アプリケーション (別の AIR アプリ) から Android データベース (アプリによって作成された) への書き込みの問題に直面しています。Android の観点からは、これは、各アプリケーション プロセスが他のアプリケーション プロセスのリソースにアクセスしてはならないというセキュリティ モデルに反します。
適切な回避策は、両方のアプリケーション (android と flash air アプリ) で同じ Linux ユーザー ID を共有することです。これにより、両方のアプリケーションが同じファイル許可を持つ同じアプリケーションとして扱われます。sharedUserId
これを実現するために、Android マニフェスト ファイルで属性を使用できます。
sharedUserId
Android AIRアプリで設定できますか?AIR アプリケーションが DalvikVM アプリのデータベースにアクセスするための他の回避策は何ですか?
mongodb - バグ データベースを処理するための最良の手法 (並列計算?)
私は、私たちのウェブサイトのすべての Google アナリティクス データを抽出して分析し、データベースに入れ、そのデータに関するレポートを作成するというタスクを与えられました。問題は、テーブルに 200 万近くのレコードができてしまうことです。レポートはいくつかの SUM() および AVG クエリで構成されており、場合によっては時間がかかりすぎることが想像できます (日付フィルターを設定せず、広範囲の条件 (レポートの種類によって異なります) で最悪の場合) は 8 ~ 10 分かかります)。ユーザーがこれらのレポートにアクセスできることを考えると、今回は受け入れられません...現在、プロジェクトはPostgresを使用しています。特に単一のマシンで実行している RDMS では、この種のデータを 10 秒未満で処理できないことは十分承知しています。
問題は、良い結果を達成するためのソフトウェアとアーキテクチャ/技術の最良の選択は何かということです。
MongoDb を試してみましたが、シングル スレッドであるため、map/reduce は 1 台のマシンで実際には高速に動作しません (少なくとも現時点では)。
おそらく並列システムを検討していることはわかっていますが、まだ確信が持てません... mongoDBを快適に使用でき、クラスタリングや複数のノードの使用などすべてに関して大幅に改善されていることを読みましたが、誰か他の意見や経験を共有したいと思います計算能力だけでなく、価格面でも最も効率的な方法で。
ありがとう
PSpostgresがこの量のデータを処理する必要があるという回答のいくつかに関して、私はいくつかの詳細を投稿しています:
テーブル構造:
クエリの例:
wcf - 複数のサービスから共有静的データにアクセスする方法
IIS 7 で wcf サービスを構築しました。
共有データに問題があります。
他のサービスから静的データにアクセスしようとすると、実行時にエラーが発生します。
サービス 1
サービス 2
multithreading - 複数のクライアントが WCF サービスを呼び出すときに、1 つ以上の AppDomains がサーバー側で作成されましたか?
質問はほとんどタイトルにありますが、詳しく説明します。
少し拡張されたユーザー インターフェイスとして機能する Silverlight アプリケーションがあります。
共有データベースの一貫性を維持するために、プログラムの主要部分はサーバー上で実行されます。
これが私の質問の出番です。WCF サービスを呼び出す 2 つのクライアントはそれぞれ、そのサービス内でスレッドを取得しますか、それとも完全な AppDomain をそれぞれ取得しますか?
違いは、最初のシナリオの場合は DB を簡単に共有できますが、2 番目のシナリオでは共有できないことです - 私が理解しているように。
編集:これは、使用されるオブジェクトが物理メモリ (静的シングルトン変数) に保存される ID マップ パターン [Fowler] を DB が使用するためです。
(私は大学の先生に尋ねて、この一見単純な質問をする前にかなり検索しました)
c++ - すべてのデータクラスをQSharedDataとして実装し、QSharedDataPointerで使用する必要がありますか?
私はQtの初心者であり、いくつかのデータクラスを作成する必要があります。QSharedDataPointer
例(ここ)のようにこれらすべてのクラスを作成するのは良いアプローチでしょうか、それともこれはオーバーヘッドが大きすぎるのでしょうか(作業量が多いという事実を除けば)?
私のクラスは、以下のクラスと非常によく似ていますEmployee
。1万や数百万ではなく、数百のインスタンスを処理する必要があります。
QSharedData / QShareDataPointerを使用する動機は、手動のメモリ管理を簡素化し、共通のコードスタイルを使用することです。しかし、私がいくつかの警告を監督しているかどうかはまだわかりません。
例から: