問題タブ [state]
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.
ajax - JavaScript では、同じ cookie ベースの sessionId の下にある別のブラウザー ウィンドウから一意に識別するにはどうすればよいですか?
私の Web アプリケーションのユーザーは、複数のブラウザー ウィンドウを開いて同じページを指している可能性があります。ページ内の特定のもの (ajax を介してロードされたもの) の状態をポストバック間で保持したいと考えています。Cookie またはサーバーに保存できます。いずれにせよ、各ウィンドウをどのように区別できるかは考えられません。
たとえば、ユーザー Bob が 2 つのブラウザー ウィンドウを開いて ListOfSomething ページを開いているとします。各リストには、保持する必要があるLoadedPageNumber属性があります。そうしないと、ユーザーは更新時に常に 1 ページ目になります。ボブはブラウザ ウィンドウ 1 をロードしてページ 5 をポイントし、次にブラウザ ウィンドウ 2 をロードしてページ 14 をポイントした可能性があります。セッション ID に基づいて属性を保存すると、ボブはウィンドウ 1 を更新するとウィンドウ 1 にページ 14 を取得します。
私の状態変数は実際にはこの単純な例よりもはるかに複雑であり、それらを永続化できないことが大きな問題 (私のアプリの弱点) につながる可能性があることに注意してください。
ある種のブラウザ ウィンドウ ID か何かが必要です。もちろん、クロスブラウザ ソリューションである必要があります (IE6+、Wekbit?+、FF2+)。
何か案は?
関連性に関する注意: これは、古いフォーム ベースのページと新しい AJAX 対応アイテムを混在させる場合にも役立つことに注意してください。フォームをポストバックする必要があり、クライアント側の状態値を失いたくない場合があります。
ruby - Rake タスク使用時の永続性の維持
いくつかの基本的な継続的インテグレーション スクリプトを rake タスクの形で実行しており、cron を使用してそれらの実行を自動化しています。
ただし、タスク間で何らかの状態を維持できるようにしたいと考えています。情報をファイルに書き込んで読み戻すことだけを考えました。
これを行うためのより「ルビー」な方法はありますか?
c# - HttpWebRequest および HttpWebResponse : 連続したクエリに対するログイン リクエストの状態を維持する
CookieContainer も使用して、いくつかの HttpWebRequests と HttpWebResponses を連鎖させています。
このコードは、Cookie 情報を設定する 3 つの異なる「同意する」ページを通過するユーザーをシミュレートし、4 番目のページでユーザー名とパスワードを使用してログインし、5 番目のページで POST (検索) を実行して応答を文字列として返します。
ユーザーが検索を実行するたびにこれらの手順を実行しないように、HttpWebRequest オブジェクトを「ログイン済み」として維持する方法はありますか?
静的として設定できますか? null または Cookie 情報がない場合は、すべての手順を実行できます。これに適したパターンは何ですか?
algorithm - 三目並べゲームオーバーを決定するためのアルゴリズム
私はJavaで三目並べのゲームを作成しました。ゲームの終了を判断する現在の方法は、ゲームが終了する可能性のある次のシナリオを考慮しています。
- ボードはいっぱいで、勝者はまだ宣言されていません。ゲームは引き分けです。
- クロスが勝ちました。
- サークルが勝ちました。
残念ながら、そうするために、テーブルからこれらのシナリオの事前定義されたセットを読み取ります。ボード上にスペースが9つしかないため、テーブルがやや小さいことを考えると、これは必ずしも悪いことではありませんが、ゲームが終了したかどうかを判断するためのより良いアルゴリズムの方法はありますか?9つのスペースがいっぱいかどうかを確認するのは簡単なので、誰かが勝ったかどうかの判断が問題の核心です。
テーブルメソッドが解決策かもしれませんが、そうでない場合は何ですか?また、ボードがサイズでない場合はどうなりn=9
ますか?それがはるかに大きなボード、たとえばn=16
、n=25
などで、連続して配置されたアイテムの数が、などになるx=4
とどうなりx=5
ますか?すべてに使用する一般的なアルゴリズムn = { 9, 16, 25, 36 ... }
?
collections - TransactionScope とオブジェクトの状態のロールバック
設計上の問題の解決策を探しています。これには少し説明が必要です。コードを投稿しますが、これはさらに長くなります。
必要に応じてビジネス オブジェクトを保持するために使用するカスタム ジェネリック コレクションがあります。参照しやすいように、ビジネス オブジェクトBOと汎用コレクションGCを呼び出します。GC の内部には、削除のフラグが立てられたビジネス オブジェクトのプライベート コレクションがあります。このプライベート コレクションをPDCと呼びます。
それぞれが独自の PDC を持つ任意の数の GC と、コレクションに含まれていない他の BO を同時に持つことができます。
変更を保存するときは、すべての BO と GC をループして、それぞれに変更を保存させます。これは TransactionScope にラップされて発生するため、適切に保存できない場合はデータベースの変更をロールバックします。
GC の保存時に、その PDC の状態に問題があります。GC は、最初にすべての BO を更新とともに保存し、次に PDC 内の BO に関連付けられたレコードを削除してから、すべての BO の PDC をクリアします。これを行うのは、GC の状態がデータベースの新しい状態を正しく反映するようにするためです。
ここで、1 つ以上の GC が正常に保存された後、BO または GC が保存に失敗したとします。TransactionScope はロールバックを実行します。データベースから削除されたレコードは復元されますが、PDC の一部またはすべてが消去され、その状態情報が失われます。
ここに私の難問があります: コミットが発生するまで PDC 情報を保持し、適切なコレクションがクリアされることを保証するにはどうすればよいですか?
TransactionScope には、変更がいつコミットされたかを知らせるためにキャッチできるイベントがありません。特定のトランザクションによって影響を受ける可能性のある多くの BO と GC があるため、一度に 1 つの GC を処理するようにトランザクションを制限することはできません。
助言がありますか?
java - アプリケーションの状態を巻き戻すには?
Java デスクトップ フライト シミュレーションを開発しています。コックピットで発生するすべてのパイロット アクション (スロットル コントロール、ステアリング、武器展開など) を記録して、後でこれらのイベントを表示 (またはライブ ストリーミング) できるようにする必要があります。
イベントの再生に視覚的なリプレイ機能を追加して、時間を前後に移動するときにコックピットを視覚的に確認できるようにしたいと考えています。イベントを時系列で再生する限り、リプレイは問題ありませんが、巻き戻しは少しトリッキーです。
巻き戻し機能をどのように実装しますか?
flash - Flash CS3 のボタンに新しい STATE を作成するにはどうすればよいですか?
ボタンの新しい状態を作成しようとしています。たとえば、ヒット エリアからマウス ポインターを離すと、小さなムービークリップが起動されます。どうすればいいですか?おそらく、ヒットやオーバーなど、この状態に特定の名前が必要ですよね?