問題タブ [bidirectional]

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 投票する
1 に答える
296 参照

asynchronous - TCP 経由で双方向の「メールボックス サービス」を実装する方法は?

ピア プロセスが tcp を介してできるだけ非同期にメッセージ (パケット) を交換できるようにするという考え方です。

私がそれを機能させたい方法は、各プロセスが送信ボックスと受信ボックスを持つことです。送信操作は、送信ボックスをプッシュするだけです。受信操作は、受信ボックスにポップするだけです。基礎となるプロトコルは、通信の詳細を処理します。

単一の TCP 接続を使用してそのようなメカニズムを実装する方法はありますか?

BSD ソケットと最新の OO ソケット API (Java や C# ソケット API など) を使用してどのように実装しますか?

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

replication - CouchDB の競合解決

CouchDB は双方向レプリケーションを実行しているときに競合をどのように処理しますか?

例: 2 つのアドレス帳データベース (サーバー A と B) があるとします。ジャックの連絡先の詳細が記載されたジャック用のドキュメントがあります。

  1. サーバー A とサーバー B は複製されており、どちらも同じバージョンの Jack ドキュメントを持っています。
  2. サーバー A では、ジャックの携帯番号が更新されます。
  3. サーバー B では、Jack のアドレスが更新されます。
  4. 双方向のレプリケーションを行うと、競合が発生します。

couchDB はそれをどのように処理しますか? Java プログラムでレプリケーションを開始した場合、Java プログラムからの競合があったかどうかを知る方法はありますか?

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

structuremap - 双方向/循環依存関係に関する StructureMap の問題

現在、 StructureMapをビジネス レイヤーに統合していますが、双方向の依存関係が原因で問題が発生しています。

レイヤーには複数のマネージャーが含まれており、各マネージャーは相互にメソッドを呼び出すことができます。通信に関する制限やルールはありません。これには、以下の例のような循環依存関係も含まれます。設計自体に問題があることは承知していますが、現在はStructureMapを機能させたいだけであり、将来的にはさらなるリファクタリングに注力する予定です。

すべてのマネージャーは次のIManagerインターフェースを実装します。

また、独自の特定のインターフェイスもあります。

2 つのダミー マネージャーの実装を次に示します。

これが私が現在使用している StructureMap 構成です

マネージャーを登録する方法がまだわからないので、現在は手動登録を使用しています。多分誰かがこれで私を助けることができます。

結局、 StructureMapはとの間の循環依存関係について不平を言うIManagerAため、作成できません。この問題を解決し、現在の設計を維持するための簡単でクリーンな解決策はありますか?ManagerAManagerB

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

.net - WCF、4.0、双方向

...クライアント側(つまり、NATの背後にあるクライアント)のNATをサポートする方法で、.NET4.0には現在どのようなオプションがありますか。

HTTPベースのものを使用したいのですが、それは弱い条件です。中期的には、WCFの外部でhttp以外の通信が行われると思います。そのため、プロキシトラバーサルは遅延する可能性があります。

.NET 4.0より前では、基本的にサーバー->クライアントチャネルがサーバーから開かれ、NATを通過できないものにするという問題がありました。

ポーリングは受け入れられません-ここでは時間に敏感な情報について話します。

だから、今私のオプションは何ですか?

0 投票する
0 に答える
6564 参照

wcf - 双方向の WCF クライアント サーバー通信

LAN を介して配置された複数のクライアント アプリによって制御されるサーバー側にある音楽サーバー アプリケーションを制御するためのクライアント/サーバーの作成に数週間取り組んできました。クライアント側でサーバーと通信し、音楽サーバーを操作するコマンドを送信し、コールバックを使用してクライアントに応答し、すべてのクライアント UI を適切に更新できるようにすることに成功しました。ただし、私の問題は、サーバーアプリからクライアントに送信する必要がある他のメッセージをブロードキャストする方法がわからないことです。コールバック メソッドを利用したいと思っていました。ただし、サーバー側からアクセスできませんでした。サーバーからクライアントへの通信を提供する別のコントラクトを変更または作成する必要がありますか? バインディングを変更する必要がありますか? 先に述べたように、私は本当にこれに数週間 (「数年」のように感じ始めています) 取り組んでおり、アプリケーションのこの最後の部分が機能することを望んでいます。誰かが私を正しい方向に導いてくれませんか?

クライアント側のサービス参照:

クライアント側の AP 設定

サーバー側 AP.CONFIG

サーバー側 APSERVICE.CS

サーバー側 IAPSERVICE.CS

サーバー側 - IAPServiceCallback.cs

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

ruby-on-rails - 双方向の自己参照関連

Ryan Bates の asciicast を例にとると: http://asciicasts.com/episodes/163-self-referential-association

彼は User の 2 つの関連付けで終了します。

  • :友達
  • :inverse_friends

ユーザーが誰が友情を開始したかを気にしないことを考えると、単純な User アソシエーションが必要になります。

  • :友達

両方の関係で構成されていました。すなわち、ユーザーによって扇動された関係と、ユーザーの友人によって扇動された関係です。

では、この双方向の自己参照関連をどのように実現できるのでしょうか?

更新 - Josh Susser がこれについて投稿しています: http://blog.hasmanythrough.com/2006/4/21/self-referential-through

ただし、実際にはソースとシンクの両方を含む has_many :nodes が必要な場合でも、 has_many :sources と has_many :sinks について説明しています。

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

wcf - WCF双方向シリアル化が失敗する

いくつかのリレーショナルLinq-2-Sqlで生成されたエンティティクラスの双方向シリアル化を利用しようとしています。単方向オプションを使用すると、すべてが正常に機能しますが、IsReferenceType = trueを追加した瞬間、オブジェクトはtcpバインディングを介して転送されません。サンプルコード:エンティティクラス:

App.config:

ホスト部分:

クライアント部分:

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

objective-c - 双方向の関連付け管理のために NSMutableArray を拡張する

私は (UML からの) コード生成の大ファンであり、Java の世界から来たので、Objective-C で自動化された双方向の関連付け管理をどのように実装するのだろうかと考えています。

アソシエーション パートナー <-> アドレスをイメージします。1 対多で、両端からナビゲートできます。私が達成したいのは、アドレスをパートナーに追加すると、そのアドレスオブジェクトはそのパートナーについて自動的に認識できるようになることです。

したがって、実装パターンは、パートナー側に NSMutableArray* を、アドレス側にパートナー* を配置することになります。setPartner:(Partner*)aPartner は、アドレスを管理するパートナーの NSMutableArray にアドレス (self) を自動的に挿入できるため、Address 側のプロパティは簡単に実装できます。ただし、もう一方の実装はそれほど簡単ではありません。Objective-C での to-many 参照の標準実装パターンは、@property の get メソッドを介して取得できる NSMutableArray のようです。この NSMutableArray を所有するオブジェクトは、Address オブジェクトを配列に挿入できますが、もちろん反対側は更新されません。

この種の関連付け管理には、たとえば addTo...() および removeFrom...() メソッドを介した他のパターンがあることを私は知っています。しかし、これが Cocoa プログラミングの他の原則に適合するかどうか、または Cocoa を効率的に使用することを妨げるかどうかはまだわかりません。ここでInterface Builderについて考えています。あまり経験はありませんが、ArrayController と呼ばれるものを見たことがあります。これは非常に便利ですが、NSMutableArray タイプのプロパティが動作することを期待しているようです。そして、この男が配列にオブジェクトを挿入した場合、私はそれをインターセプトして反対側の調整を行う必要があります。

Java プログラマーとして、私は NSMutableArray をサブクラス化し、そのメソッドのいくつかをオーバーライドして、反対側を操作する傾向があります。これはまったく可能でしょうか?カテゴリについて読みましたが、これまでのところ、この方法でクラスにメソッドを追加することしかできず、メソッドをオーバーライドしたり、その構造に追加したりできないことを理解しています。それとも、メソッド転送にする必要がありますか? 私は今混乱しています。あなたが私を正しい考え方に向けることができれば、それはとても素晴らしいことです. どうもありがとう!

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

python - 効率的な双方向ハッシュ テーブルを実装するには?

Pythondictは非常に便利なデータ構造です。

値でインデックスを付けたい場合もあります。

このデータ構造を実装する最も効率的な方法はどれですか? それを行う公式の推奨方法はありますか?

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

orm - JPA - 双方向関係の要素の削除

リレーションの片側のみが永続コンテキストで管理されているのに、双方向リレーションの要素を削除できるのはなぜですか (例 I)? 機能しない一方向のリレーションシップがある場合 (例 II を参照)。なんで?

エンティティ:

例 I:

例 II:

最初の例では、これらの内部メソッドを使用して、それぞれの場合に関係の反対側を設定しますが、この反対側は永続コンテキストで管理されていないと思いますか?! ユーザーのプロセスを変更してユーザーを保存すると、cascade.MERGEを使用しない限り、または両方がトランザクションに読み込まれてPCで管理されていない限り、プロセスは更新されません。では、なぜ除去が機能するのでしょうか。