問題タブ [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.
java - JVM は、「synchronized」キーワードを実装するために、すべてのオブジェクトに対してミューテックスを作成しますか? そうでない場合、どのように?
C++ プログラマーとして Java に慣れてきた私にとって、オブジェクトがそのようなロックをサポートしているという宣言がなくても、任意のオブジェクトをロックするための言語レベルのサポートを目にするのは少し奇妙です。オブジェクトごとにミューテックスを作成することは、自動的にオプトインするにはかなりのコストがかかるように思えます。メモリ使用量以外に、mutex は一部のプラットフォームでは OS の制限付きリソースです。ミューテックスが利用できない場合はスピンロックできますが、そのパフォーマンス特性は大幅に異なるため、予測可能性が損なわれると予想されます。
JVM は、特定のオブジェクトが synchronized キーワードのターゲットにならないことを認識してミューテックスの作成を回避できるほどスマートですか? ミューテックスは遅延して作成できますが、それ自体がミューテックスを必要とするブートストラップの問題を引き起こします。それが回避されたとしても、ミューテックスが既に作成されているかどうかを追跡するためのオーバーヘッドがまだあると思います。したがって、そのような最適化が可能であれば、コンパイル時または起動時に行う必要があると思います。C++ では、コンパイル モデルが原因でこのような最適化は不可能です (オブジェクトのロックがライブラリの境界を越えて使用されるかどうかはわかりません) が、Java のコンパイルとリンクについては十分に知りません。同じ制限が適用される場合。
java - ジェネリックを理解する
上記のコードについて、私の質問は、なぜYourEntityClass
渡す必要がLong
あるのですIEntity<Long>
か? 他のようなものではないのはなぜIEntity<String>
ですか?がid
の型Long
であり、 のゲッターがid
に提供したのと同じ型を返さなければならないからIEntity
ですか?
implementation - 標準 C ライブラリの bsearch() 関数はどのように実装されていますか?
標準のバイナリ検索機能がどのように実装されているか知っている人はいますか?
これが原型です。
彼らが void ポインターをどのように使用したかについて、私は本当に興味があります。
c# - 実装のアドバイス: ボタン (Click イベント) を関数にバインドし、別のコントロールにもバインドする
ユーザーが実行時にボタンやさまざまなコントロールを追加できる機能を備えた小さなC#-winformsプログラムを開発しています。
私が直面しているシナリオは次のとおりです。
-
1) ユーザーがボタンを追加し、そのプロパティを (ダイアログを介して) 設定します。
2) ユーザーが別のコントロールを追加します (そのプロパティも設定します)。
3) ユーザーはボタンを選択し、メニュー ストリップ項目からバインドを選択します。
4) 新しいダイアログが表示され、ドロップダウン メニューにすべての「その他のコントロール」が表示され、別のドロップダウンに (事前にコード化された) 関数が表示されます。ユーザーは、コントロールの 1 つと、それらをボタンのクリック イベントにバインドする関数を選択する必要があります。
5) ユーザーが自分のデザインをリリースすることを選択すると、ユーザーがデザインした簡単なプログラムを含む EXE ファイルが生成されます (まだこのステップについて考えています)。
私の現在の実装のアイデア:
ディクショナリは、すべてのボタンとそれに対応するバインドされた関数とコントロールを保持します.. (キー = buttonID 、値 = 関数名とコントロール ID を保持するオブジェクトまたはディクショナリ)。
ユーザーが自分のデザインを「リリース」することを選択すると、コードはフォームとすべてのコントロールを TEXT として構築し、辞書を使用して適切なコード ボタンを生成し、各ボタンのクリック イベントを適切な関数に接続します。
TEXT には、各ボタンをそのバインドされたコントロール (各関数の辞書) にマップする別の辞書が挿入されます。これは、ボタンの異なるバインドされたコントロールを区別するために関数が呼び出されるときに使用されます。
TEXT は .cs ファイルに挿入され、コンパイルされて EXE が生成されます (この手順を自動化する方法はまだ検討中です)。
この解決策は複雑すぎて、他にもっと簡単な解決策があるかもしれないと思います。
ティア
編集:
これは単純なプロジェクトで、非プログラマーがスーパーマーケットの在庫や DVD ストア ライブラリなどの独自の単純なプログラムを作成できるようにすることを目的としています。今のところ、単純な電卓の仕事 (1 つのテキストボックス、2 つのボタン、および ADD、Subtract などの機能) を行います。
c - BSTの実装
次の二分探索木(BST)の実装の何が問題になっていますか?struct
挿入関数の引数として、ノードへのポインタへのポインタを使用する方がよいと言われています。
python - python親クラスの「ラッピング」子クラスメソッド
私のpythonコードには次のような状況があります:
しかし、私はそのような「デコレータ」のいくつかの世代で、「runImpl」の前後に異なるセットアップ/破棄ステップを実行するケースがあり、現在、クラスで 、run()
およびrunImpl()
を定義することを余儀なくされています。runImplSingleProcess()
Parent
Child
ChildSingleProcess
次の形式のソリューションを探しています。
このように、Child クラスはこれを意識する必要はほとんどありません。
多重継承の問題もあるかもしれません。aがandChild
から継承する場合、正直なところ、正しい動作がどうあるべきかわかりません。Parent1
Parent2
これを達成するための良い、自然な方法を知っている人はいますか? それとも私はここでデザインをレイプしていますか?
ありがとう
ヨナタン
implementation - 例によって彗星を理解する
その機能はいわゆる「サーバー プッシュ」で、Google Wave もこれを利用しているようです。
この概念が Web アプリケーションで実際にどのように機能するかをコード スニペットで説明できる人はいますか?
algorithm - Prolog での DPLL アルゴリズムの実装
単純化されたアルゴリズムを Prolog に適用しようとしていますが、Prolog の達人ではありません。間違いなく必要なので、皆さんが助けてくれるかもしれないと思いました。
Prolog での DPLL アルゴリズムの実装は何ですか?
c++ - サブセット合計に似たアルゴリズムの C/C++ 実装
knapsack
問題は(またはそのタイプで、値がなく、正の重みのみ)よりも単純です。この問題は、数が他の数の組み合わせになり得るかどうかをチェックすることから成ります。関数はtrue
またはを返す必要がありfalse
ます。
例えば、
112 と、{ 17, 100, 101 }
を返す必要があるリストfalse
、469
同じリストを返す必要がある、返す必要があるtrue
、返す必要がある、など...35
false
119
true
編集:ナップザックよりもサブセットサムの問題の方が正確です。