問題タブ [event-driven]
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++ - C++ でのシミュレーションの時間の変更
アクティビティをシミュレートするプログラムを書いています。シミュレーションの時間を短縮する方法を考えています。たとえば、現実世界の 1 時間は、プログラムの 1 か月に等しいとします。
ありがとうございました
このプログラムは実際、顧客がいつ来るかわからないレストランのシミュレーションに似ています。1時間ごとに乱数(2〜10)の顧客を選ぶとしましょう
architecture - SOAP などの Web サービスを介したメッセージング システムの選択
私は現在、別の技術パートナーと協力してシステムを構築するプロジェクトに取り組んでいます。システムは「監視」タイプの機能を提供し、操作は長時間実行され、多数の「イベント」が返され、処理されてユーザーに返されます。
私の最初の反応は、このすべての処理を行う Web サービスを構築し、結果をデータベースに格納して、他のテクニカル パートナーが (ある種の .NET WCF サービス インターフェイスを介して) クエリできるようにすることでした。これは、過去にこのような多くのソリューションを構築した経験が最も多い場所です。これは、データベースに何かを貼り付けて、他のプロセスがそれらにアクセスできるようにすることを介して通信が行われるという点で、ちょっと面倒に思えます。
しかし、私は最近、エンタープライズ統合パターンとメッセージング ソリューションについて多くのことを読んでおり、このソリューションにはいくつかの利点があることは確かです。これにより、イベントをキューまたはバスに配置し、それに応じて処理できます。より多くの RPC タイプの Web サービス インターフェイスよりもはるかに柔軟性が高いようです。
この種の選択をする考え/経験を持っている人はいますか? また、単一のソリューション内で混合アプローチを使用することは合理的ですか?
.net - イベント ドリブンの有限状態マシン用の単純な .NET コード ジェネレーターはありますか?
イベント ドリブンの有限状態マシン用の単純な .NET コード ジェネレーターはありますか?
ユーザー インターフェイス オブジェクトに対して手動でこれを行うのにうんざりしています。enum 定義、switch ステートメント、および各関数呼び出しだけが必要です。「ライブラリ」は必要ありません。
http://en.wikipedia.org/wiki/Event_driven_finite_state_machineのイベント駆動型有限状態マシンを参照してください。
http://aabs.wordpress.com/2008/06/26/state-machines-in-c-30-using-t4-templates/のT4 テンプレートを使用した C# 3.0 のステート マシンは、私が望むもののように思えますが、サンプルコードへのリンクが壊れています。
networking - イベント駆動型プログラミングはどのように実装されていますか?
twisted および node.js フレームワークがどのように機能するかを調べていて、オペレーティング システムがコールバックを使用して I/O 操作をどのようにサポートしているかを正確に理解しようとしています。
I/O 操作を待機しているスレッドをブロックする必要がないため、必要なスレッドが少なくなるので、これは良いことだと理解しています。ただし、I/O が終了したら、何かがコールバックを呼び出す必要があります。
これはオペレーティングシステムによってどのように実装されていますか?
ruby - Ruby 24/7 動作 XMPP ボット
誰かがこれで私を助けてくれますか? ある言語で単語を受け取り、データベースを調べ、翻訳を取得して送り返すボットを作成したいと思います。共有ホスティングでは不可能ですが、独自のサーバーまたは VDS では可能です。EventMachine や xmpp4r などのライブラリを使用してボットを作成する必要がありますか? はいの場合、一度に多くのリクエストを処理する方法は?
architecture - 順次 vs マルチスレッド アカウンティング イベント処理
私たちはイベント駆動型の会計エンジンに取り組んでおり、これまでのところすべてをバッチ/シーケンシャルに行っています。
問題は、1 日に何千ものイベントが作成され、すべてを順番に処理すると処理が遅くなることです。
財務データの整合性と一貫性を心配することなく、マルチスレッド イベント処理会計エンジンを実装できる安全な方法はありますか?
それとも、安全にプレイして、バッチ/シーケンシャル アプローチに従うことを許可する方がよいのでしょうか?
javascript - イベント駆動型コードの for ループ?
redis データストアにはキーのリストがあり、そのキーのリストを反復処理して、redis からそれらの値を取得したいと考えています。キャッチは、イベント駆動型言語、node.js経由のjavascriptを使用していることです
JavaScriptが手続き型である場合、私はこれを行うことができます
しかし、私はできないので.. 私はこれをしますか?
すべてのリクエストを一度に実行してからコールバックをリストに挿入する代わりに、順次呼び出しシーケンスを強制しているため、これは間違っています。何千ものキーがあるとどうなりますか?
どうにかしてこれを行うことができますか?
ruby - イベント/オブザーバー駆動の Ruby on Rails
イベント/リスナー モデルに適したアプリケーションがあります。いくつかの異なる種類のデータがパブリッシュされ (イベント)、その後、さまざまなことがそのデータ (リスナー) に作用する必要がある場合とそうでない場合があります。リスナーが発生する必要がある特定の順序はなく、各リスナーは、イベントに対して動作する必要があるかどうかを判断します。
このタスクを実行するための Rails アプリ用のツールは何ですか? 私はこれを自分で行う必要がないことを望んでいます(ただし、できます。それほど大したことではありません。)
編集:これにはオブザーバーパターンの方が適しているかもしれません
simulation - 時間に依存しない離散イベントシミュレーション
イベントの実行が時間に依存しない離散イベントシミュレーションを設計しようとしています。次に発生するイベントの選択は、モデル(私の場合は人)の条件にのみ依存し、一度に1つずつ実行されます。
私はそこにいくつかのデザインを見つけました:
イベントスケジューリング-イベントのキューが保持され、各イベントの実行中に、新しいイベントがスケジュールされるか、古いイベントがキャンセルされます。
アクティビティスキャン-各サイクル中に、すべてのイベントが繰り返され、人の現在の状態がイベントの実行条件を満たしている場合、そのイベントが実行されます。
イベントのグラフ-イベントのグラフを作成し、各エッジが遷移の状態を表すようにします。
それぞれの方法について私が考慮していることは次のとおりです。
イベントスケジューリング-追加するイベントのロジックはイベント全体に分散されているため、追跡が困難です。さらに、キューは大幅に変更されます。時間ベースではないため、変更を加えるたびにキュー全体を反復処理して、削除するイベントを見つける必要があります(たとえば、必要な場合)。 2つのイベントAが先行する場合にイベントBを削除します)。
アクティビティスキャン-特に、各サイクル中に実行する次のイベントを見つけるために多くのイベントを反復処理する必要がある場合は、パフォーマンスが低下する可能性があります。
イベントのグラフ-グラフが非常に大きい場合、グラフを初期化してすべてのエッジを設定するのが面倒になる可能性があります。
どの方法が最も適切であるか、もしそうなら、どのように私が述べられた考慮事項に対処できるかについて、あなたの意見を求めました。たぶん、完全に異なるデザインが適切かもしれません。
python - Python - このコードを非同期にするにはどうすればよいですか?
私の問題を説明するコードは次のとおりです。
while True
ループを含む 2 つの関数があります。これらはデータを生成し、それをどこかに記録します (ほとんどの場合、sqlite データベースに)。
私はスレッドで遊んでいて、それが機能するようになりました。しかし、私はそれがあまり好きではありません...私がやりたいことは、ブロック機能を非同期にすることです。何かのようなもの:
Pythonでこれを達成するにはどうすればよいですか? 標準ライブラリには非同期コアが付属しており、このゲームのビッグネームは Twisted ですが、これらは両方ともソケット IO に使用されているようです。
ソケットに関連しないブロッキング関数を非同期にするにはどうすればよいですか?