問題タブ [replay]
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.
security - 攻撃者が Cookie 全体を盗んだ場合、リプレイ攻撃を防ぐ方法は?
私はウェブ上での認証について話している。攻撃者が非 https で被害者の Cookie 全体 (安全でない/壊れた WiFi 経由など) を取得し、被害者の前にサイトにアクセスした場合はどうなるでしょうか。それにどう反論しますか?
java - イベントを再構築するためのスケーラブルなアーキテクチャ
私は、データ変換パイプラインのアーキテクチャを開発する任務を負っています。基本的に、データは一方の端で受信され、宛先に到達する前にさまざまな形式を取得するさまざまな内部システムを経由してルーティングされます。
主な目的は -
- 耐障害性。中間システムの 1 つがダウンした場合、メッセージは回復可能である必要があります。
- 再生/再シーケンス - メッセージはどのステージからでも再生でき、べき等な方法でイベントを再作成できる必要があります。
対処すべきカスタム ソリューションがいくつかあります
- 各チェックポイントの入口と出口の両方でメッセージをログに記録できるチェックポイント システムを実装して、どこで障害が発生したかを把握します。
- ログに記録されたストレージ (データベース、ログ ファイルなど) に移動し、プログラムでイベントを再構築できる回復メカニズムを実装します。
しかし、これはよく定義された解決策を持つかなり標準的な問題だと感じています。
したがって、適切なアーキテクチャ、参照するツール/パッケージ/パターンなどについての考えを歓迎します.
ありがとう
rabbitmq - Rabbitmq - メッセージ再生サービスの設計
ユーザーがキューからメッセージを再生できるようにする再生メカニズムを設計しようとしています。複数のキューと複数のコンシューマーを含む取引所に対して私が思いついた最良の設計は次のとおりです。
次のようなレコーダー サービスを作成します。
- キューを作成し、すべてのルーティング キーをそれにバインドします。
- 交換からのすべてのメッセージを消費します。
- すべてのメッセージを DB に保存します。
サブスクライバーのリプレイ要求。
- 各サブスクライバーは、新しいエクスチェンジ、キューを作成し、通常のキューと同じバインディングでそれにバインドします。
- サブスクライバーは、フィルター (開始日など) を使用してリプレイを開始するために、残りの要求を Web サーバーに送信します。リクエストには、そのリプレイ交換名が含まれています。
- Web サーバーは DB からデータを取得し、特定の取引所に公開します
- RequestId を添付してエコーバックするなどの改良を加えることができます。
質問:
1. それは理にかなっていますか?
2.私は車輪を発明していますか? うさぎ固有の解決策はありますか?プラグイン?
3. 複数の取引所を作成することは良い習慣と考えられますか?
このソリューションでは、同じメッセージを発行するために、各キューの交換が作成されます。
別の解決策:
1. キューごとに追加のキュー「ReplayQueue」を作成します。TTL を設定します (1 か月としましょう)。
2. ユーザーがリプレイを要求するたびに、応答せずに独自の ReplayQueue からリプレイできるようにします。
このソリューションは少し問題があります。
- 最終日を再生するには、消費者はそれ以前の 29 日間をすべて取得して、それらを除外する必要があります。
- このソリューションはスケールアップします - キューは大きくなります (スケールアウトできる db ストレージとは異なります)。
java - javaでリプレイファイルを作る
私は Java で非常に単純な RTS をコーディングしていますが、これが私の問題です。プレーヤーが行ったすべてのアクションを保存し、ゲームを観戦するために読み取ることができる必要があるリプレイ ファイルをコーディングする必要があります (アクションのみを保存する必要があります。マウスの動きは重要ではなく、すべてのアクション間の時間を保存する必要はありません。すべてのアクション間に同じ遅延を設定します)。暗黙的な要素の x と y の位置、アクション (攻撃、移動、製品 ...) とユニットの x と y の位置をプログラム パラメーターに保存する必要があることを知って、どうすればよいでしょうか。例: archer.attack(beast)。この例では、射手の x と y を保存する必要があります。これはアクションなので、ここでは攻撃と x と獣の y を指定します。すべての回答に感謝します。
scala - RxScala Observable とリプレイ
replay
RxScalaで理解しようとしています。次のようなオブザーバブルを作成します。
where はintPerSecond
、0 から始まる 1 秒あたり 1 つの整数を発射します。サブスクライブする最初のオブザーバーは、実際に 1 秒あたり 1 つの整数を認識します。2 番目のオブザーバーが t=6 秒で参加すると、その時点から、両者は一致するストリーム 6...7...8...9... を 1 秒間隔で見ます。それは予想通りです。
ここで追加すると.replay(3)
、2 番目のオブザーバーが参加すると、3456...7...8...9 が表示されると予想されます。つまり、彼はすぐにキャッシュから 3 つの整数を取得し、それらを受け取ります。 1 秒に 1 つずつ生成されます。しかし、代わりに、どちらのオブザーバーも今は何も見ていません。構文が間違っていますか?
timeout - タイムアウト時の突堤リプレイ要求
非同期コンテキストからのリクエストを完了しないと、タイムアウト時に元のリクエストが再度再生されるという Jetty の問題に直面しています。動作は次のとおりです。リクエストごとにタイムアウト付きの非同期リスナーを設定するため、2 つのスレッドが実行されJetty Thread1
ますThread2
。ここで、クライアントへのデータの書き込みがタイムアウトよりも長くかかるとしましょう。リクエストが完了していないため、タイムアウト スレッドがトリガーされ、誰かがデータを書き込んでいることを確認して、サイレントに戻ります。Jetty は黙って戻るのが好きではありません。リクエストをリプレイして、別のサービングおよびタイムアウト スレッドが作成され、データが書き込まれ、非同期コンテキストが完了するまで続行します。
問題のコードはこちら - In HttpChannelState
in expired()
method
twilio - 音声アラートの保存と取得
音声テーブル (MySQL) に音声メッセージを保存したいのですが、ユーザーは番号をダイヤルして、保存されたメッセージを取得できる必要があります。
音声の録音と Twilio での再生を手伝ってもらえますか?
録音できる量に制限はありますか、または最大録音、再生を制御できますか?
ありがとう