問題タブ [data-containers]
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.
.net - 双方向変換データ用の.NETコンテナ?
高速アクセスのためにメモリに含める必要のある変換テーブルがあります。これまで私は単純なものを使用してHashtable
いました。キーは内部コードであり、値は外部コードやその他のメタデータを保持するオブジェクトでした。
次に、逆ルックアップを行う必要があります。つまり、外部コードに基づいて内部コードを取得する必要があります。私は次のオプションしか思いつかなかった:
- このルックアップ用に別のコンテナを用意します。冗長性を防ぐために、値として内部コードのみを含むハッシュテーブルを用意します。
- 現在使用しているのと同じコンテナを使用し、外部コードをキーとして使用してこれらのオブジェクトを再度保存します(衝突を防ぐためにプレフィックスを付けます)。
- キーを使用してデータをプルするのではなく、同じコンテナーに含まれる値を反復処理して、要求されたオブジェクト(O(n)、同じメモリ使用量)を見つけます。
コンテナは遅延読み込みされているため、オプション1と2は通常、最悪のシナリオでは実行されません。
誰か考えますか?そのために使用できる効率的なコンテナがあることを教えてください。
* 編集 *
GCのフレームワークであり、2つの変換配列(ディクショナリ)が必要であるという事実を受け入れると、次のコード行は、実際には1つのオブジェクトのみをメモリに格納し、次に2つの異なるポインタの下にそのオブジェクトへの2つのポインタを格納することを意味します。ハッシュ化されたセル?
Itamar。
performance - 違いがないように見えるのに、DataContainer または DataContext で Dispose を呼び出す必要があるのはなぜですか?
DataContainer オブジェクトに対して Dispose を呼び出す場合と呼び出さない場合のメモリと速度の違いを調べる簡単なテスト プログラムを作成します。
ここで私のテストプログラム:
どちらの方法でも結果は同じです。私の PC での結果は、約 27.22 秒で、約 37.7 MB のプライベート メモリ サイズでした。
違いがないのに、なぜ DataContainers の Dispose を呼び出す必要があるのでしょうか。
前もって感謝します。
c# - データをロード/保存する別の方法-シリアル化なし?
Ok。シリアル化などの使用方法は知っていますが、それはシリアル化属性でマークされたオブジェクトにのみ適用されるため、たとえば、データをロードして、シリアル化を使用せずにアプリケーションで使用するにはどうすればよいですか?データファイルを言います。
または、シリアル化されていないファイルを保持するシリアル化されたデータコンテナを作成します。
私が使用した方法は、バイナリシリアル化とXMLシリアル化です。未知のデータをロードし、おそらくそれをC#で使用できる他の方法はありますか?
php - 動的プログラミングの遅延評価コンテナ?
私にはうまく機能するパターンがいくつかありますが、仲間のプログラマーに説明するのが少し難しいです。根拠や参考文献を探しています。
私は個人的に PHP を扱っていますが、これは Java、Javascript、C++、および同様の言語にも適用できます。例は PHP または疑似コードになります。
アイデアは、中間結果に遅延評価コンテナーを使用して、同じ中間値の複数の計算を回避することです。
「動的プログラミング」:
http://en.wikipedia.org/wiki/Dynamic_programming
動的計画法のアプローチでは、各部分問題を 1 回だけ解こうとするため、計算回数が削減されます。特定の部分問題の解が計算されると、それは保存または「メモ化」されます。次に同じ解が必要になったときに、単に見上げられる
遅延評価コンテナー:
同様のコンテナーが、依存性注入コンテナー (DIC) などとして使用されます。
詳細
私は通常、これのいくつかのバリエーションを使用します。
- データ計算メソッドとは異なるオブジェクトに実際のデータメソッドを含めることは可能ですか?
- ネストされた配列を持つキャッシュを使用して、パラメーターを持つ計算メソッドを持つことは可能ですか?
- PHP では、メインの検索メソッドにマジック メソッド (__get() または __call()) を使用できます。クラス docblock の "@property" と組み合わせると、各 "仮想" プロパティの型ヒントが可能になります。
- 通常のメソッドと区別するために、「get_someValue()」のようなメソッド名をよく使用します。「someValue」は実際のキーです。
- データ計算を複数のオブジェクトに分散して、ある種の関心を分離することは可能ですか?
- 一部の値を事前に初期化することは可能ですか?
編集:質問
Spring @Configuration クラスのかわいいメカニックについて話している素敵な答えがすでにあります。
これをより便利で興味深いものにするために、質問を少し拡張/明確化します。
- 動的計画法から中間値を保存することは、これの正当な使用例ですか?
- これを PHP で実装するためのベスト プラクティスは何ですか? 「詳細」の一部は悪くて醜いですか?
mysql - Docker - 同じボリュームのデータのみのコンテナーを使用する MySQL コンテナー
現在、データのみのコンテナーから同じボリュームを使用する複数の MySQL コンテナーを実行する方法を理解しようとしています。最初のコンテナを実行してそこにデータベースとレコードを正常に作成した後、別の新しい MySQL コンテナを実行しようとしたところ、次のエラーに直面しました。
コンテナーを使用して、さまざまなポートをホスト 3306 にマップしました。どうしたの?oO
jenkins - Jenkins Docker コンテナーを使用した TFS ワークスペース
そのため、Jenkins マスター コンテナーali_jenkins_mセットアップがあり、Jenkins データを格納するためのデータ ボリューム コンテナーali_jenkins_dataを使用してスピンアップします。
TFS プラグインをセットアップし、TFS ブランチの 1 つをマップして、コードを Jenkins にプルしてビルドしました。jenkinsマスターコンテナali_jenkins_mを削除してから再作成するまで、すべてうまくいきました。再作成するときも、データ ボリューム コンテナー ali_jenkins_data を使用しました。すべてのデータは期待どおりに保持されていますが、Jenkins で TFS からビルドする際に問題が発生しています。
私が得るエラーは次のとおりです。
a4d8cdb6981d は、削除した ali_jenkins_m のコンテナー ID です。新しいコンテナ ali_jenkins_m には新しいコンテナ ID があります。これを機能させるために何を変更する必要があるかを把握するために、マウントのいたるところを見回しました。
任意のポインタをいただければ幸いです。
docker - Docker Compose - データベースデータを保存する方法は?
私は docker を初めて使用し、docker compose を使用してプロジェクトを開発しています。ドキュメントから、データを永続的に保つためにデータのみのコンテナーを使用する必要があることを学びましたが、docker-compose を使用してそうすることができません。私が行うたびにdocker-compose down
、データベースからデータが削除されますが、実行してdocker-compose stop
もデータは削除されません。これは、名前付きデータ ボリュームを作成してdocker-compose down
おらず、すべてのコンテナーをほとんど削除していないことが原因である可能性があります。そのため、コンテナに名前を付けようとしましたが、エラーが発生しました。私のyml
ファイルを見てください:
data_container の Docker ファイルは次のとおりです。
これを試しましたが、docker-compose down を実行すると、データが失われます。コメント行を確認できるように、data_container に名前を付けてみましたが、次のエラーが表示されました。
だから今私がやっていることは、コンテナという名前だけのスタンドアロンデータを作成し、それをvolumes_from
dbの値に入れることです。正常に機能し、実行した後でもデータは削除されませんでしたdocker-compose down
。
私のクエリ:
を使用してデータベースのデータを格納できるコンテナを作成し、
docker-compose
それらを適切に使用するための最良のアプローチは何ですか?私の意識は、私が選択したアプローチ、つまりスタンドアロンのデータ コンテナーを作成するアプローチについて同意していません。何かご意見は?
kubernetes - ポッド内でバージョン管理されたデータを共有する方法
現在、さまざまな Web エージェンシーによって作成された約 140 の Web アプリケーションを提供しています。セットアップは通常のLEMPスタックです。
それらをマイクロサービスとして移行するために、1.2 k8s クラスターがインストールされています。私たちが直面している問題は、静的コンテンツと動的コンテンツの提供に関するものです。もちろん、この目的のために、2 つの異なるコンテナー (nginx と php-fpm) を使用しますが、両方でデータを共有するための適切なソリューションを見つけることができません。
バージョン管理されたデータ コンテナーを使用できるようにしたいと考えていましたが、明らかに k8s の範囲外です。残念な。
gitRepo はオプションではありません。これは、稼働中の git infra にインスタンス ポッドに依存したくないためです。それがうまくいかない場合は、自律的になり、トラフィックを処理できるようにしたいと考えています。
他のオプション (フロッカーなど) は、単純なデータ コンテナーに比べて重く複雑に見えます。また、データストレージから独立したいと考えています。
私が知らないオプションはありますか?誰かこれについてアドバイスがありますか?簡単にロールフォワード/ロールバックするために、物事をバージョン管理できるようにしたいことを強調させてください。
お時間をいただきありがとうございます
docker - 別のコンテナからのボリュームが更新されたときにdockerコンテナに通知する方法は?
Nginx を含む docker コンテナーと、静的 (JS、CSS) ファイルのみを含むデータ コンテナーがあります。アプリの開始時に、Nginx は volume_from を使用してデータ コンテナーからボリュームをマウントします。Nginx コンテナーはボリュームが変更されたことを認識できないため、静的ファイルを更新したいときに問題が発生します。Nginxコンテナを再起動せずに静的ボリュームの変更を取得することは可能ですか?
docker - Docker: Push data container onto Docker Hub
I am really new at this Docker stuff, and even newer at Docker Hub, so please bear with me …</p>
I have created a data container to use with my docker image (specifically, a data container to store data for a running mssql-server-lnux
image). I know where it is on my local system.
I have a newly created account on Docker Hub and I think I want to push the data container on the hub. I say I think because I’m not sure that it’s the right way to go about it: I want to be able to use the data container from different machines.
If what I have said so far is in the right direction, then how do I push the docker image to the Hub, and how do I then access it later?