問題タブ [implementation]

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

java - JVM は、「synchronized」キーワードを実装するために、すべてのオブジェクトに対してミューテックスを作成しますか? そうでない場合、どのように?

C++ プログラマーとして Java に慣れてきた私にとって、オブジェクトがそのようなロックをサポートしているという宣言がなくても、任意のオブジェクトをロックするための言語レベルのサポートを目にするのは少し奇妙です。オブジェクトごとにミューテックスを作成することは、自動的にオプトインするにはかなりのコストがかかるように思えます。メモリ使用量以外に、mutex は一部のプラットフォームでは OS の制限付きリソースです。ミューテックスが利用できない場合はスピンロックできますが、そのパフォーマンス特性は大幅に異なるため、予測可能性が損なわれると予想されます。

JVM は、特定のオブジェクトが synchronized キーワードのターゲットにならないことを認識してミューテックスの作成を回避できるほどスマートですか? ミューテックスは遅延して作成できますが、それ自体がミューテックスを必要とするブートストラップの問題を引き起こします。それが回避されたとしても、ミューテックスが既に作成されているかどうかを追跡するためのオーバーヘッドがまだあると思います。したがって、そのような最適化が可能であれば、コンパイル時または起動時に行う必要があると思います。C++ では、コンパイル モデルが原因でこのような最適化は不可能です (オブジェクトのロックがライブラリの境界を越えて使用されるかどうかはわかりません) が、Java のコンパイルとリンクについては十分に知りません。同じ制限が適用される場合。

0 投票する
3 に答える
1501 参照

c - ブレント根探索アルゴリズムの一般的な実装における「e」変数とは何ですか?

ブレント根探索アルゴリズムの標準 (Numerical Recipes とGSL C バージョンは同じ)実装 を読んでいますが、変数 "e" の意味を理解できません。使用法は、「e」がブラケット間の以前の距離であることを示唆しています。では、二分法を使用する場合、なぜ「xm」(距離の半分) に設定されるのでしょうか。

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

java - ジェネリックを理解する

上記のコードについて、私の質問は、なぜYourEntityClass渡す必要がLongあるのですIEntity<Long>か? 他のようなものではないのはなぜIEntity<String>ですか?がidの型Longであり、 のゲッターがidに提供したのと同じ型を返さなければならないからIEntityですか?

0 投票する
3 に答える
2813 参照

implementation - 標準 C ライブラリの bsearch() 関数はどのように実装されていますか?

標準のバイナリ検索機能がどのように実装されているか知っている人はいますか?

これが原型です。

彼らが void ポインターをどのように使用したかについて、私は本当に興味があります。

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

c# - 実装のアドバイス: ボタン (Click イベント) を関数にバインドし、別のコントロールにもバインドする

ユーザーが実行時にボタンやさまざまなコントロールを追加できる機能を備えた小さなC#-winformsプログラムを開発しています。

私が直面しているシナリオは次のとおりです。

    1) ユーザーがボタンを追加し、そのプロパティを (ダイアログを介して) 設定します。
    2) ユーザーが別のコントロールを追加します (そのプロパティも設定します)。
    3) ユーザーはボタンを選択し、メニュー ストリップ項目からバインドを選択します。
    4) 新しいダイアログが表示され、ドロップダウン メニューにすべての「その他のコントロール」が表示され、別のドロップダウンに (事前にコード化された) 関数が表示されます。ユーザーは、コントロールの 1 つと、それらをボタンのクリック イベントにバインドする関数を選択する必要があります。
    5) ユーザーが自分のデザインをリリースすることを選択すると、ユーザーがデザインした簡単なプログラムを含む EXE ファイルが生成されます (まだこのステップについて考えています)。

私の現在の実装のアイデア:
ディクショナリは、すべてのボタンとそれに対応するバインドされた関数とコントロールを保持します.. (キー = buttonID 、値 = 関数名とコントロール ID を保持するオブジェクトまたはディクショナリ)。

ユーザーが自分のデザインを「リリース」することを選択すると、コードはフォームとすべてのコントロールを TEXT として構築し、辞書を使用して適切なコード ボタンを生成し、各ボタンのクリック イベントを適切な関数に接続します。

TEXT には、各ボタンをそのバインドされたコントロール (各関数の辞書) にマップする別の辞書が挿入されます。これは、ボタンの異なるバインドされたコントロールを区別するために関数が呼び出されるときに使用されます。

TEXT は .cs ファイルに挿入され、コンパイルされて EXE が生成されます (この手順を自動化する方法はまだ検討中です)。

この解決策は複雑すぎて、他にもっと簡単な解決策があるかもしれないと思います。

ティア

編集:
これは単純なプロジェクトで、非プログラマーがスーパーマーケットの在庫や DVD ストア ライブラリなどの独自の単純なプログラムを作成できるようにすることを目的としています。今のところ、単純な電卓の仕事 (1 つのテキストボックス、2 つのボタン、および ADD、Subtract などの機能) を行います。

0 投票する
3 に答える
1261 参照

c - BSTの実装

次の二分探索木(BST)の実装の何が問題になっていますか?struct挿入関数の引数として、ノードへのポインタへのポインタを使用する方がよいと言われています。

0 投票する
3 に答える
7088 参照

python - python親クラスの「ラッピング」子クラスメソッド

私のpythonコードには次のような状況があります:

しかし、私はそのような「デコレータ」のいくつかの世代で、「runImpl」の前後に異なるセットアップ/破棄ステップを実行するケースがあり、現在、クラスで 、run()およびrunImpl()を定義することを余儀なくされています。runImplSingleProcess()ParentChildChildSingleProcess

次の形式のソリューションを探しています。

このように、Child クラスはこれを意識する必要はほとんどありません。

多重継承の問題もあるかもしれません。aがandChildから継承する場合、正直なところ、正しい動作がどうあるべきかわかりません。Parent1Parent2

これを達成するための良い、自然な方法を知っている人はいますか? それとも私はここでデザインをレイプしていますか?

ありがとう
ヨナタン

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

implementation - 例によって彗星を理解する

その機能はいわゆる「サーバー プッシュ」で、Google Wave もこれを利用しているようです。

この概念が Web アプリケーションで実際にどのように機能するかをコード スニペットで説明できる人はいますか?

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

algorithm - Prolog での DPLL アルゴリズムの実装

単純化されたアルゴリズムを Prolog に適用しようとしていますが、Prolog の達人ではありません。間違いなく必要なので、皆さんが助けてくれるかもしれないと思いました。

Prolog での DPLL アルゴリズムの実装は何ですか?

0 投票する
4 に答える
2956 参照

c++ - サブセット合計に似たアルゴリズムの C/C++ 実装

knapsack問題は(またはそのタイプで、値がなく、正の重みのみ)よりも単純です。この問題は、数が他の数の組み合わせになり得るかどうかをチェックすることから成ります。関数はtrueまたはを返す必要がありfalseます。

例えば、

112 と、{ 17, 100, 101 }を返す必要があるリストfalse469同じリストを返す必要がある、返す必要があるtrue、返す必要がある、など...35false119true

編集:ナップザックよりもサブセットサムの問題の方が正確です。