問題タブ [conceptual]
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.
c++ - ポストインクリメントとプリインクリメントのコンセプト?
接尾辞と接頭辞のインクリメントまたはデクリメントの概念がわかりません。誰かがより良い説明をすることができますか?
.net - ADO.NET LINQ と Entity-Framework の関係は?
私は、これらのテクノロジーを区分化して内部化するための良い方法を探しています。
concurrency - (ツールのような) LoadRunner に関する概念的な質問
J2EE アプリケーションのストレス テストに LoadRunner を使用しています。
1 つの MySQL DB サーバーと 1 つの JBoss App サーバーがあります。いずれも 16 コア (1.8GHz) / 8GB RAM ボックスです。
接続プール: DB サーバーは で使用max_connections = 100
していmy.cnf
ます。App Server もand でmin-pool-size
and max-pool-size
= 100を使用しmysql-ds.xml
てmysql-ro-ds.xml
います。
「通常の」シングルコア PC から 100 人の仮想ユーザーの負荷をシミュレートしています。これは 1.8GHz / 1GB RAM ボックスです。
アプリケーションは、100 Mbps のイーサネット LAN にデプロイされ、使用されています。
ストレス テスト スクリプトのセクションでランデブー ポイントを使用して、実際の並列 (同時ではない) 使用をシミュレートしています。
質問:
この負荷を生成する PC の CPU 使用率は 100% に達することはなく、メモリも利用可能であると思います。したがって、この PC にさらに仮想ユーザーを追加してみることができます。しかし、その前に、同時実行/並列処理とハードウェアに関する 1 つまたは 2 つの基本事項を知りたいと思います。
このロード ジェネレーターのようにシングル コアのロード ジェネレーターだけを使用して、実際に 100 ユーザーの並列ロードをシミュレートできますか (各ユーザーは実際に専用の PC から操作を使用しています)。私のおそらく間違った理解は、シングルコア PC 上の 100 個のスレッドが同時に (つまり、インターリーブされて) 実行されるが、並列には実行されないということです。 ) たった 1 台のシングルコア PC から! あれは正しいですか?
ユーザーの並列処理に対するネットワーク帯域幅の制限: 負荷を生成する 100 コアの PC (または、LAN 上に 100 台のシングルコア PC があるとしましょう) を持っていると仮定しても、イーサネットの動作では同時実行と同時実行のみが許可されるわけではありません。負荷を生成する PC をサーバーに接続するイーサネット ワイヤ上のユーザーの並列処理ではありません。実際、マルチコア ボックスのアプリ サーバーに到達するユーザー リクエストはインターリーブされてしか到達できないため、この問題 (ユーザーの並列処理の欠如) は、実際のアプリケーションの使用 (ユーザーごとに 1 台の PC) でも持続するようです。 . つまり、マルチコア サーバーがユーザー要求を並行して処理できるのは、各ユーザーがサーバーとサーバーの間に専用の物理層接続を持っている場合だけです。
(上記の「問題」により) 並列処理が達成できず、同時実行と呼ばれる次善の策のみが可能であると仮定すると、シミュレーションを使用するハードウェアとネットワークの仕様をどのように選択すればよいでしょうか。たとえば、(a) 負荷を生成する PC はどの程度強力であるべきか? (b) これらの PC ごとに作成する仮想ユーザーの数は? (c) LAN 上の各 PC は、スイッチの代わりにハブを使用する場合に発生するブロードキャスト トラフィックを (回避するために) スイッチを介してサーバーに接続する必要がありますか?
前もって感謝します、
/HS
c# - ビジュアル ツリーに 2 つの ListBoxItems があるのはなぜですか?
私はListBoxの選択された要素のみを表示しています(ええ、私は知っています)...そして、ListBoxItemの単一の子を持つ単一のListBox.ItemTemplateがある場合、要素にアクセスするには2つのListBoxItemsをトラバースする必要がある理由を理解しようとしています「thisListBoxItem」という名前ですか?視覚的な ListBoxItem 要素は 1 つしかないようです。
私のXAML
//最初に SelectedItem を ListBoxItem (myListBoxItem) にキャストします // 次に、FindName プロパティを介して下位の ListBoxItem に降りる必要があります。
wpf - ItemsSourceを設定するときに状態を保持する
エージェンシータイプ{警察、消防、緊急}のリストボックス(ListBox1)があります。
ユーザーがエージェンシータイプを選択すると、アイテムのソースを設定することにより、別のリストボックス(ListBox2)に(Name、CheckBox)が入力されます。
問題は、Policeを選択し、次にCheckBoxをチェックし、次にFireを選択し、Policeを再度選択すると、CheckBoxの状態が失われることです。ItemsSourceをリセットしているため、CheckBoxの状態が失われていることはわかっていますが、これを行う正しい方法は何でしょうか。
c# - なぜContinueWithメソッドが必要なのですか?
なぜTask.ContinueWith()
メソッドが必要なのですか。その「継続コード」をタスク本体の中に書くことはできませんか?
c# - TaskScheduler.Current がデフォルトの TaskScheduler であるのはなぜですか?
Task Parallel Library は素晴らしく、私は過去数か月間よく使用してきました。ただし、本当に気になることがあります。それTaskScheduler.Current
は、デフォルトのタスク スケジューラであり、TaskScheduler.Default
. これは、ドキュメントやサンプルで一見しただけでは明らかではありません。
Current
別のタスク内にいるかどうかによって動作が変化するため、微妙なバグにつながる可能性があります。簡単には決められないもの。
.NET Framework で XxxAsync メソッドが行うのとまったく同じ方法で、イベントに基づく標準の非同期パターンを使用して、元の同期コンテキストで完了を通知する非同期メソッドのライブラリを作成しているとします (例: DownloadFileAsync
)。次のコードでこの動作を実装するのは非常に簡単なので、Task Parallel Library を実装に使用することにしました。
これまでのところ、すべてがうまく機能しています。それでは、WPF または WinForms アプリケーションでボタン クリック時にこのライブラリを呼び出してみましょう。
ここで、ライブラリ呼び出しを書いている人はTask
、操作が完了したときに新しい呼び出しを開始することを選択しました。珍しいことは何もありません。彼または彼女は、Web 上のどこにでもある例に従い、Task.Factory.StartNew
を指定せずに単純に使用TaskScheduler
します (2 番目のパラメーターで指定する簡単なオーバーロードはありません)。メソッドはDoSomethingElse
単独で呼び出されると正常に動作しますが、イベントによって呼び出されるとすぐにTaskFactory.Current
、ライブラリの継続から同期コンテキスト タスク スケジューラを再利用するため、UI がフリーズします。
特に 2 番目のタスク呼び出しが複雑な呼び出しスタックに埋もれている場合は、これを見つけるのに時間がかかることがあります。もちろん、すべてがどのように機能するかがわかれば、ここでの修正は簡単TaskScheduler.Default
です。スレッド プールで実行する予定のすべての操作を常に指定します。ただし、2 番目のタスクは別の外部ライブラリによって開始され、この動作を知らStartNew
ず、特定のスケジューラーなしで素朴に使用されている可能性があります。このケースはかなり一般的だと思います。
頭を悩ませた後、TPL を作成しているチームがデフォルトTaskScheduler.Current
の代わりに使用するという選択を理解できません。TaskScheduler.Default
- まったく明らかで
Default
はありません。デフォルトではありません! そして、ドキュメントは深刻に不足しています。 - によって使用される実際のタスク スケジューラ
Current
は、コール スタックに依存します。この動作で不変条件を維持するのは困難です。 - 最初にタスク作成オプションとキャンセル トークンを指定する必要があるため、タスク スケジューラを指定するのは面倒で
StartNew
、長い行が読みにくくなります。これは、拡張メソッドを作成するか、TaskFactory
を使用する を作成することで軽減できますDefault
。 - コール スタックをキャプチャすると、追加のパフォーマンス コストが発生します。
- タスクを実行中の別の親タスクに依存させたい場合は、コール スタック マジックに頼るのではなく、明示的に指定してコードを読みやすくすることを好みます。
この質問がかなり主観的に聞こえるかもしれませんが、なぜこのような振る舞いをするのかについて客観的な議論を見つけることができません。ここで何かが欠けていると確信しています。それが、私があなたに目を向けている理由です。
jquery - コードイグナイター。jquery を使用した自動ユーザー名チェック。概念的な混乱
私は最近 CodeIgniter を使い始めましたが、その利点を実感しています。
しかし、私を混乱させるいくつかの概念的な問題に遭遇しているようです。
いくつかのことについて、CodeIgniter は比較的単純なことを途方もなく困難にしています。
たとえば、ユーザー名を入力すると、その利用可能性がチェックされ、自動的に通知される登録フォームを考えてみましょう..
これに対する私のアプローチは次のとおりです。
jqueryが含まれているビュー「register_form」をロードする関数「register」を持つコントローラー「アカウント」と、私のカスタムjavascript。
私のカスタム JavaScript は、入力されたユーザー名を「アカウント」コントローラーの「username_check」という関数に渡します。この関数は、モデル「user_model」内の関数「username_check」に値を渡します。この関数は、渡されたユーザー名の行数を返します。カウントに応じて「取得済み」または「使用可能」を出力するビューに。次に、javascript によって div に配置されるのは、この応答ビューです。
今...私はそれを書き留めるのに苦労しました..それを読むだけで困惑します.そして、概念的には、何かを追加するたびに、追加する必要があるものを見つけるために約10分かかります..
誰かが私が要点を逃したと言って、この機能を実装する方法を教えてください..正しく..
ありがとう
mysql - mysql データベースの概念 - グローバル/ローカル設定で重複登録を回避する方法
概念的な質問:
- 私は、販売代理店がクライアントの注文書を作成するために使用するグローバル システムを持っています。
- エージェントはクライアントをローカルに登録できます (システムの独自のインスタンス内)。
- クライアントは自分自身をグローバルに登録できます
- エージェントは、クライアント IDと郵便番号に基づいてクライアントにアクセスできます
状態:
システム内にクライアントを重複させることはできません。
したがって、クライアントが既に存在する場合は、登録時に確認する必要があります。
client-IDはインスタンスベースの識別子であるため(クライアントはインスタンス A に ID-123 を持ち、インスタンス B に ID-456 を持つ場合があります) 、 zipcodeのみをチェックできます。
問題:次のようなものを表示したくないので、登録を行う人に正確に一致する郵便番号を持つ既存のクライアントを
表示する方法はありますか?
登録しようとする人へ。
システムのグローバル/ローカル構造を変更することはできませんが、これが役立つ場合は要素または識別子を追加できます。
これが何らかのインプットを与えるのに十分な情報であることを願っています。さらに必要な場合はお知らせください。
ありがとう!