問題タブ [isolation]

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 に答える
2176 参照

php - LinkedIn パブリック プロフィール ページを DIV 内の HTML として含めると、自分の jQuery が含まれてしまい、これを停止するにはどうすればよいですか?

LinkedIn のメンバー プロファイル認証全体を処理することはできません。公開プロファイルをサイトのプロファイル セクション内に配置したいだけです。

これを行うためにphpインクルードを使用できますが、ページに既にあるjQueryが台無しになり、タブとそのコンテンツが機能しないことを除いて、すべて問題ありません。

LinkedIn HTML 参照を分離して、この DIV と呼ばれるプロファイルにのみ影響を与え、タブを適切に機能させるにはどうすればよいですか?

現在、グローバル CSS にも影響します。

空のボックスだけでまったく機能しないiframeコードは次のとおりです。

編集3

これは、リンクされたサイトから直接コピーされたAPIページで、APIキー番号が含まれているため、次のエラーが発生します。

私には ' が何かを開いたり閉じたりして、その後に読み取れないように思われます... Dreamweaver では、その行に構文エラーなどはありませんが、6 行目では、キーが作成されるものがあります。意味がありません...最初の5番は赤ですが、これを下から上に構築すると、こんにちはRobbie Millerが表示されますが、プロファイルdivを構築するとすぐに、JSで要求されます`

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

.net - 互いに独立した複数の WebBrowser の実行

C# 4.0 で開発された Windows アプリケーションがあり、すべての WebBrowser が同じ Web サイト URL をロードし、テキスト ボックスに検索値を設定して検索ボタンをクリックすることで何らかの検索を実行する複数の WebBrowser コントロールを使用しています。

すべての WebBrowsers は、一度に異なるキーワードを検索することになっています。それぞれが個別に実行された場合は正しく機能しますが、すべてが一緒に実行された瞬間、それらはすべて異なるキーワードではなく同じキーワードを検索しています! そして、キーワードは最初/最後のものではありません。それはランダムに選ばれたものです。DocumentCompleted 内にコードを実装しました。

Web サイト自体が、最初に検索されたキーワードの 1 つを特定し、すべての WebBrowser ウィンドウに設定していると思います。各「セッション」が他のセッションに影響を与えないように、これらすべての WebBrowsers を分離して並行して実行する方法はありますか?

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

mongodb - ロックを明け渡すと、クエリの分離が中断される可能性がありますか?

Mongo のドキュメントでは、他の操作をブロックしないようにロックを生成するクエリについて説明しています。Mongo は、読み取り結果を変更する読み取りから書き込みへのロックを譲りますか?

ドキュメントを持って{x:1}, {x:2}, {x:2}, {x:1}いて、読んでいるとしましょうfind({x:2})。4 番目のドキュメントがワーキング セットにないと仮定すると、Mongo ページ フォールトが発生し、ロックが に渡されます。update({x:1}, {x:2}, {multi: true})これによりロックが完了し、ロックが に返されますfind。検索には 4 番目のドキュメントが含まれますが、最初のドキュメントは省略されます。Monogo はこのように機能しますか?

0 投票する
5 に答える
699 参照

linux - ビルド環境の分離とファイル システムの差分

さて、さまざまなソフトウェアの依存関係をn回追跡し、さまざまな人々がすべての異なるLinuxディストリビューションに対して行う作業を複製しようとした後、さまざまなソフトウェアをバンドルするより良い方法があるかどうか知りたいです簡単に配布できるように、1 つの .rpm または .deb ファイルにまとめます。

これを行うための私の現在のセットアップは、さまざまなツールのフランケンシュタイン モンスターですが、主に Vagrant と libguestfs です (実際にはどのディストリビューションにも同梱されていないため、Fedora で実行されているソースから構築されていますvirt-diff)。私が現在行っている手順は次のとおりです。

  1. Vagrant ボックスを使用するか、ライブ CD から作成してベース OS を起動します。
  2. をエクスポートし.vmdkて呼び出しますbase-image
  3. 以前のイメージの正確なレプリカをスピンアップし、町に行きます。パッケージ マネージャーまたはその他の手段を使用して、必要なすべての部分をダウンロード、コンパイル、およびインストールします。もう一度、 をエクスポートし.vmdkて呼び出しますnon-base-image
  4. libguestfs を持つ Fedora ゲスト OS で両方の基本イメージを使用できるようにします。
  5. を使用virt-diffして 2 つの画像を比較し、そのデータを というファイルにダンプしますdiff
  6. いくつかの ruby​​ スクリプトを実行diffして、必要な情報が含まれている別の形式に変換します/var
  7. guestfish別のスクリプトを実行して、一連のコマンドを含むコマンド スクリプトを生成しcopy-outます。
  8. スクリプトを実行しguestfishます。
  9. 実行できないdiffため、別のスクリプトを実行してシンボリックリンクを再生成します。guestfish
  10. 結果のフォルダー構造を .deb または .rpm ファイルに変換して出荷します。

これを行うためのより良い方法があるかどうかを知りたいです。あなたはあると思うだろうが、私はそれを理解していない.

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

locking - Cassandra ベースのユースケースに関する設計と実装のインプットが必要

大量の注文トランザクション レコードをコマース Web サイトからリポジトリに保存することを計画しています (ここでは Cassandra を使用する必要があります。これが私たちの DB です)。このコンポーネントを commerceOrderRecorderService と呼びましょう。

問題の 2 番目の部分は、これらの注文を処理して、他のダウンストリーム システムにプッシュしたいということです。このコンポーネントは、batchCommerceOrderProcessor と呼ぶことができます。

commerceOrderRecorderService と batchCommerceOrderProcessor はどちらも Java プラットフォームで実行されます。

これらのコンポーネントの設計について提案が必要です。特に以下:

commerceOrderRecorderService

  1. パフォーマンスとスケーラビリティを考慮して、列を設計する最善の方法は何ですか? 注文全体 (複雑なエンティティ) を単一の JSON オブジェクトとして保存する必要がありますか? 注文属性に関する検索要件はありません。少なくとも、バッチ プロセッサによって処理されるまで待つことができます。1 つの注文に多くのサブアイテムが含まれている可能性があることを考慮してください。このようなデータ構造の列を設計するのはやり過ぎかもしれません

  2. データ量が多くなることを考えると、何が重要なのか。ピーク時には毎秒 10 トランザクションとしましょう。Cassandra でそのようなトランザクション データを作成するためのライブラリまたはベスト プラクティスはありますか? TTLも有効に使えますか?

batchCommerceOrderProcessor

  1. 処理のために行をどのように取得する必要がありますか?
  2. バッチ プロセッサのマルチスレッド実装 (および複数のノードで実行される可能性がある) が行レベルで分離されるようにする方法。つまり、2 つのインスタンスが同じ行を同時に読み取って処理することはありません。重複処理はありません。
  3. 圧縮などの cassandra プロセスに対応しながら、一定期間後にデータをパージする方法。

設計入力、コード サンプル、およびライブラリへのポインタを高く評価します。ありがとう。

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

linux - Linux で古いバージョンの Chrome を分離する方法

Web アプリケーションをテストするために、ubuntu saucy で chrome 25 を実行する必要があります。現在のバージョンの chrome を置き換えたくないので、プログラムを分離する簡単な方法があるかどうか疑問に思っていましたか? Chromebook ピクセルの chroot で ubuntu を実行しているので、kvm は必要ありません。

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

java - Spring トランザクション分離が機能しない

Spring 分離をテストするための非常に単純な例を作成しています。私は2つの非常によく似たScheduleクラスを持っています:

また、非常によく似たサービス クラスが 2 つあります。

このコードを実行すると、両方のトランザクションが同時に実行されると、両方のトランザクションがデータベースから同じ値を取得していることがわかります。したがって、彼らは他のものの変更を無視しています。これはトランザクション分離のエラーだと思います:

ここで、クレジット値は 10 にする必要があります

この後、両方のプロセスが同時に実行されていないため、計算は正常に開始されます。

私は MYSQL を使用しています。これらは私のタスクとトランザクションの構成です。

何らかの理由で、私のデフォルトの分離レベルはnullです。私はこれからそれを得ました:

そこで、両方のサービスの分離レベルを変更しようとしました:

結果はまだ間違っています。

なぜこれが起こっているのかについて何か考えがありますか?

前もって感謝します。

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

python - 関数をランタイムから分離する

それをどのように呼ぶかわかりません。誰かがより良いタイトルを思いつくことができれば、私に知らせてください。この質問の名前を変更します。

これは実際の例ではありませんが、そのような状況の解決策が得られれば、より大きなプロジェクトで使用します. 以下で説明するようにそれをしなければならないと仮定してください。アイデアを変えることはできません。それに合う解決策を見つける必要があります。現時点では、元のプロジェクトの詳細を表示することは許可されていません。

考え:

では、YAPSY プラグインに基づいて、cron のようなものを作成していると仮定しましょう。プラグインをいくつかのディレクトリに保存したいのですが、たまにデーモンがそのディレクトリからすべてのプラグインを収集し、それらのメソッドを呼び出して、しばらくスリープ状態になります。これらのプラグインは、プラグインで使用される URL などのデータを保存するシングルトンにアクセスできる必要があります。また、このシングルトンを変更する同じプロセスで TCP サーバーを実行しているため、実行時の動作をカスタマイズできます。TCP サーバーにはシングルトンへの読み取り/書き込みアクセスが必要であり、プラグインには読み取り専用アクセスが必要です。多くのシングルトン (つまり、多くのクラスがシングルトンとして動作し、1 つのクラスのインスタンスが多くない) がプラグインで読み取り可能で、TCP サーバーで変更可能である可能性があります。プラグイン メソッドは、呼び出す直前に生成されたいくつかの値で呼び出されます。

質問:

プラグインへの読み取り専用アクセスを許可するにはどうすればよいですか? 完全な分離が必要なため、オブジェクトであるsingletonfieldがある場合、 (like ) のフィールドもプラグインに対して読み取り専用にする必要があります。読み取り専用とは、プラグインがこれらのフィールドを変更できる必要があることを意味しますが、ランタイムの残りの部分には何の影響も与えないため、プラグイン メソッドが戻るとき、シングルトン (およびそのフィールド、およびそれらのフィールドなど) はプラグインメソッドを実行する前に、実際には読み取り専用ではありません。また、プラグインは並行して実行され、しばらくの間 GIL を解放します (IO 操作を行ったり、単に time.sleep() を使用したりする場合があります)。xsingleton.xsingleton.x.y

- 編集 -

ソリューションはマルチプラットフォームである必要があり、少なくとも Linux、Windows、および MacOS で動作する必要があります。

- /編集 -

アプローチ:

  1. シングルトン メソッドのスタックを調べて、呼び出し元がプラグインかどうかを確認し、そうであれば、変更されたフィールドの元の値を保存することができます。次に、プラグイン メソッドを呼び出した後、プラグインを実行する前の状態にシングルトンを復元する関数 restore() を使用します。

  2. マルチプロセッシングを使用して別のプロセスでプラグインメソッドを実行し、すべてのシングルトンをサブプロセスに渡すことを試みることができます (メタクラスを使用してすべてを追跡し、新しいプロセスで再構築するか、シングルトンをどこかに明示的に保存することで簡単に実行できます)。

  3. ポイント(1)のように(元の値を復元して)同様のトリックを行うか、すべてのグローバルとローカルをディープコピーして、globals()プラグlocals()インメソッドのコードで(文字列ではなく、私はそれが安全でないことを知っています)。dictexec

上記のアプローチが機能しないのはなぜですか?

(1): 通常、スタック インスペクションは間違っています。この状況では、非常に間違っていると言えます。また、プラグインによって多くの変更が行われる場合、各呼び出しの後に変数を復元すると、非常にコストがかかる可能性があります。また、プラグイン メソッドは並行して実行される可能性があるため、GIL がリリースされるたびに元の値を復元し、GIL が取得されるたびにプラグイン全体の値を復元する必要があります。現時点ではできませんが、それについては申し訳ありません)。

(2): YAPSY プラグインは pickle 化できないため、サブプロセスに送信できません。

(3):exec()実行のためにフリー変数を含むコードを使用しません。それが呼び出されたスコープが表示されないため、プラグイン関数のフリー変数をすべて見つける必要があります (実行時に生成されたラッパーを使用します。このような:

と pass no_args_plugin_call.__code__) をラップして保管しますlocals()。また、環境全体のディープ コピーは、(1) と同じくらいコストがかかります。

PS。「フィールド」とは「属性」を意味します。なぜなら、私は (残念ながら) Java などで育ってきたからです。

PPS。YAPSY に似た (すべての機能を備え、軽量である必要がある) プラグイン システムについて聞いたことがあれば、それで十分です ;)