問題タブ [event-based-programming]
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 - イベントを呼び出す適切な場所は?
開始したばかりの Windows フォーム プロジェクトがあります。フォームには、製品をロードしているリストボックスがあります。誰かが製品をダブルクリックすると、ProductChanged イベントが発生するようにします。私のプロジェクトの他のものは、このイベントをサブスクライブし、製品が変更されたときに GUI の他の部分などを更新します。
私の質問は、イベントはどこにあるべきで、誰がそれを起こすべきですか? イベントをフォーム上に配置し、リストボックスのダブルクリック ハンドラーによって発生させる必要がありますか? または、製品クラスのイベントがあり、リストボックスがこのクラスのメソッドを呼び出して、製品が変更されたことを知らせる場所に設定する必要があります。そして、Product クラスはイベントを発生させますか? それとも別の方法で行うべきですか?
ruby-on-rails - 高度にインタラクティブなイベント ベースの Web アプリケーションに Grail または Ruby on rails を使用しますか?
Java と Perl のバックグラウンドを持つ私は、Web フレームワークの選択肢を Grail または RoR に絞り込みました。
Web アプリケーションは、プライベート クラウド上で実行される高度にインタラクティブなコンテンツ管理アプリです。
ビジョンの 1 つは、Web ページ上のすべてのウィジェットをイベント ドリブンにすることです: クリック、ダブルクリック、右クリック、キーボード ショートカットなど。どちらのフレームワークもこれをサポートしていますか?
ruby - Railsでイベントベースのメッセージングおよびバッジシステムを作成するための推奨事項が必要
特定の目標を達成したときにユーザーに報酬を与えるイベントベースの通知およびバッジシステムを作成したいと思います。目標には次のものが含まれます。
- フォーラムに20のエントリを投稿する->ホームページにアラートを表示してユーザーを強調表示し、バッジを授与
- 10日連続でサイトにログイン->ホームページのユーザーへのメッセージおめでとう
- 10のフォーラム投稿へのコメント->フォーラムバッジ賞
これはAASMなどのステートマシンの仕事でしょうか?私はそのようなシステムであまり遊んだことがありません。それがイベントを定義する方法でしょうか、それともこのタイプの動作に対応するより優れたプラグイン/ソリューションがありますか?アプローチに関するチュートリアルや推奨事項をいただければ幸いです。
java - libevent に相当する Java はありますか?
各リクエストを独自のスレッドで処理する高スループット サーバーを作成しました。受信するリクエストについては、1 つまたは複数のバックエンドに対して RPC を実行する必要がある場合があります。これらのバックエンド RPC は、個別のキューとスレッド プールによって処理されます。これにより、作成されるスレッドの数とバックエンドへの接続の最大数が制限されます (クライアントを再利用してオーバーヘッドを節約するためにキャッシュが行われます)。常に接続を作成します)。しかし、これをすべて行った後、イベントベースのアーキテクチャの方が効率的であると考え始めています。
Java の libevent に相当するものは見つかりませんでしたが、適切な場所を探していないのでしょうか? Apache の Mina-statemachine は、私が見つけた最も近いものでしたが、必要以上に冗長に見え、実際のリリースはありません。
助言がありますか?
c# - イベントベースの非同期パターンに準拠した Web サービスを使用する方法は?
私はからの例に従っています
http://msdn.microsoft.com/en-us/library/8wy069k1.aspx
イベントベースの非同期パターンを使用して (サード パーティによって) 実装された Web サービスを使用する。
ただし、私のプログラムは を複数回呼び出す必要があるDoStuffAsync()
ため、多くの が返されDoStuffCompleted
ます。Object userState
それらを区別するために、追加のパラメーターを取るオーバーロードを選択しました。
私の最初の質問は次のGUID
とおりです。GUID を使用して一意の taskID を生成する場合、以下のようにオブジェクトにキャストすることは有効ですか?
DoStuffAsync()
次に、複数回呼び出しているため、呼び出しごとに新しいスレッドを生成する必要がありますか?
また、このテーマに関するオンラインの例やチュートリアルがあるとよいでしょう。(私は一日中グーグルで探していましたが、あまり戻ってきませんでした)
どうもありがとう
新しい質問: デリゲート コールバックを AsyncCompletedEventArgs.UserState に埋め込むことはできますか? 後処理を行うには発信者へのコールバックが必要であることがわかりました...おっと!
c# - イベントベースの非同期パターンを実装するにはどうすればよいですか?
こんにちは、C# を使用してイベント ベースの非同期パターンを実装したいと考えています。以下の Microsoft のドキュメントは非常に役に立ちますが、実装の詳細が省略されているのは当然のことです。
http://msdn.microsoft.com/en-us/library/ms228969.aspx
このパターンを実装するためのオプションは何ですか? Delegate.BeginInvoke、ThreadPool.QueueUserWorkItem、new Thread()、BackgroundWorker クラスなどを使用する必要がありますか?
シンプルなコード ライブラリを作成しています。Windows フォーム、コンソール アプリ、または ASP.NET コンテキストで使用できる必要があります。
サンプルコードを見るのは素晴らしいことです。
python - Python でのデータフロー コンピューティング
n 個 (通常は n < 10 ですが、スケーリングする必要があります) のプロセスが異なるマシンで実行され、RabbitMQ を使用して amqp を介して通信しています。プロセスは通常長時間実行され、任意の言語で実装できます (ただし、ほとんどは Java/Python です)。
各プロセスには、多数の入力 (数値/文字列) が必要であり、多数の出力 (数値または文字列のみ) が生成されます。プロセスの実行は非同期で行われます。つまり、入力キューにメッセージを送信し、出力キューによってトリガーされるコールバックを待機します。
理想的には、ユーザーがいくつかの入力と必要な出力を指定すると、システムは次のことを行う必要があります。
- 必要なプロセスを検出し、依存関係グラフを生成する
- トポロジ的にグラフをソートして実行します。ノード遷移はイベント駆動型である必要があります
入力の準備ができている場合、ノードは起動する必要があり、ブランチごとの並列処理が可能になります。今のところサイクルはないと仮定できますが、最終的にはサイクルが発生します (たとえば、出力が変化しなくなるまで、2 つのプロセスを反復する必要がある場合があります)。
これは、(データ) フロー プログラミング (ここで前に説明した) からの既知の問題である必要があり、車輪の再発明を避けたいと考えています。私はpythonソリューションを好み、検索はTrellisとPypesにつながります。Trellis は開発されていませんが、サイクルをサポートしているようですが、pypes はサポートしていません。また、パイプがどの程度活発に開発されているかもわかりません。
さらに検索すると、イベント ベースのプログラミング フレームワークの全リストが表示されますが、そのどれについても私は特に詳しく知りません。もちろんTavernaやKNIMEのようなワークフロー環境もありますが、それはやり過ぎのようです。
この種の問題や言及されたライブラリに取り組んだ経験のある人はいますか?
編集:私が見つけた他のライブラリは次のとおりです。
php - PHP でプラグインのような Web アプリケーションを作成するには?
スタックオーバーフロー!
プラグインのような (呼び出し方がわからなかった) Web アプリケーションを PHP で作成する方法を探しています。つまり、ユーザーがブラウザーを介して (構成にコードを追加するのではなく) プラグイン (必要に応じて拡張機能) を追加/削除できるシステムを作成したいと考えていました。私の意見では、良い例はWordPressです。エンドユーザーは、あらゆる種類のプラグインを簡単にインストールでき、ほとんど何もしなくても期待どおりに動作し、多くの場合、多くの設定を変更する必要があります。
また、できるだけ使いやすいものにしたいと思っています。つまり、プラグインは他のプラグインの一部を使用できるため、コードの書き換えが少なくて済みます。たとえば、承認/認証用のプラグインや、ユーザーに関連するその他すべてのものがあります。次に、ブログ用のプラグインです。もちろん、ブログには前述の必要がありますよね?したがって、前述のプラグインを使用して機能するだけです。依存関係などがたくさんあることは理解していますが、それは正常です。:)
私の質問は...どのようなテクニックでそれを達成できますか? そのようなシステムの長所と短所は何ですか? 少し遅くなり、Facebook のような非常に巨大なサイトには適合しないと思います (わかりました、それは大きすぎます)。
イベント駆動型プログラミング (またはイベントベース プログラミング) について聞いたことがあり、ウィキペディアでそれに関する記事を読んだことがありますが、それでも... 非常に混乱しており、さらに、それが自分のことなのか確信が持てません。探している。
これを読んでくれてありがとう。可能であれば、いくつか答えてください。:D
c# - イベントベースの非同期パターンでのタスク並列ライブラリの使用
私はネットワーク化されたアプリケーションを書いています。
メッセージは、次のようにトランスポートを介して送信されます。
次のように、このメッセージタイプが到着したときに呼び出されるイベントハンドラーを登録できます。
そして、イベントが発生します:
ネットワークアプリケーションのカスタム認証手順を作成しています。これを完了するには、約5つのメッセージが必要です。
タスク並列ライブラリを使用しないと、次のように、前のイベントハンドラーで各プロシージャの次のステップをコーディングする必要があります。
ソースコードを飛び回って、この一部と一部をコーディングするというアイデアは好きではありません。理解して編集するのは難しいです。
タスク並列ライブラリは、このソリューションを大幅に簡素化すると聞いています。
ただし、タスク並列ライブラリを使用して読んだ例の多くは、アクティブなタスクのチェーンの開始に関連していました。「アクティブ」とは、次のように、明示的に呼び出されたときに各タスクを開始できることを意味します。
これは、メッセージが受信されたときにのみ各イベントハンドラーメソッドが呼び出されるイベントベースの非同期パターンとは逆です。
言い換えれば、私はこのようなことをすることはできません(しかし私はしたいです):
この記事を読みましたが、よくわかりません。私が必要としているのはと関係があるようですTaskCompletionSource
。上記のコードブロックのようなイベントベースの非同期パターンからタスクを作成したい場合、どのようになりますか?
programming-languages - What's the difference between: Asynchronous, Non-Blocking, Event-Base architectures?
What's the difference between:
- Asynchronous,
- Non-Blocking, and
- Event-base architectures?
Can something be both asynchronous and non-blocking (and event-based)?
What's most important in programming, to have something: asynchronous, non-blocking and/or event-base (or all 3)?
If you could provide examples, that would be great.
This question is being asked because I was reading this great StackOverflow article on a similar topic but it doesn't answer my questions above.