問題タブ [consistency]

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.

0 投票する
6 に答える
3995 参照

regex - 正規表現: ブラウザ間の違い

ブラウザーが正規表現を解釈する方法には、大きな違いがあるに違いないことにますます気づき始めています。
例として、同僚が次の正規表現を作成して、アップロードされるファイルの拡張子が PDF であることを検証しました。

これは Internet Explorer と Google Chrome では機能しますが、Firefox では機能しません。実際の PDF であっても、テストは常に失敗します。したがって、余分なものは無関係であると判断し、次のように単純化しました。

現在は Firefox で正常に動作するだけでなく、IE と Chrome でも引き続き動作します。
これは、ASP.NET の asp:FileUpload および RegularExpressionValidator コントロールに固有の癖ですか、それとも単に正規表現をさまざまな方法でサポートしているブラウザーが異なるためですか? いずれにせよ、あなたが遭遇した後者のいくつかは何ですか?

0 投票する
5 に答える
9595 参照

synchronization - テスト サーバー環境と実稼働サーバー環境をクリーンで同期した一貫​​性のある状態に保つ

私の勤める会社は、お客様のサーバー環境にいつも悩まされているようです。

具体的には、ほとんどの場合、テスト サーバーと運用サーバーで問題が発生し、それらの構成が常に異なるように見えるという事実があります。開発したアプリケーションをテストするとき、テスト サーバーは 1 つの方法で動作するため、その特定の動作に合わせてアプリケーションを微調整および構成します。しかし、実稼働サーバーに同じアプリケーションをインストールすると、テスト サーバーと一致しない別の動作が観察されるため、微調整や構成が役に立たなくなります。最もイライラする部分は、これが常に発生し、誰もそれについて何をすべきかを知らないように見えることです.

もちろん、なぜこれが起こるのかについての一般的な考えはあります。すべてのクローン環境は同じように開始され、最初の数日は同じように機能しますが、遅かれ早かれ誰かがサーバー環境の 1 つだけで何かを再構成します (データベースの更新、コンポーネント ライブラリの更新、Web ファイルの更新など)。または他の構成)、それによって不一致につながります。そして、時間が経つにつれて、より多くの不一致が蓄積されます。しかし問題は、それについて何ができるかということです。

Web を検索してみましたが、何をすべきかについて良い答えが見つかりません。私も自分でいくつかの解決策を見つけようとしましたが、私のアイデアのほとんどは何らかの形で問題があるようです. 新しいルーチンは、どんなに厳密であっても回避できます。テスト サーバーを作成するために運用サーバーを定期的に複製するのは面倒で、多くの場合非常に時間がかかります。自動複製は常に信頼できるとは限らず、可能でさえありません。では、この問題について私たちは一体何をすべきなのでしょうか? テスト時のエクスペリエンスが本番稼働時のエクスペリエンスと一致することをどのように保証できますか?

他の人もこの問題を抱えていると思います。それとも彼らはしますか?たぶん、無能なのは私の特定の会社だけですか?問題に遭遇した人はいますか?もしそうなら、あなたはそれについて何をしましたか?

心から、

Linus、スウェーデンのシステム開発者

0 投票する
6 に答える
867 参照

sql - データベースの整合性チェック フレームワーク

多数のデータベース整合性チェック ルールをシステムに統合するために使用するフレームワークを探しています。これは基本的に、データベース チェック用の自動テスト ケース ランナーである必要があります。

要件:

  • 新しいルールやチェックを簡単に作成
  • すべてのルールを簡単に実行できます。ルールのサブセットをグループ化するとボーナスになります
  • ルールの実行時または実行後の正確でシンプルなレポート

私は自分でこのようなものを書こうとしていますが、最初に何か他のものを見つけることができるかどうか見てみようと思いました. 私はそれをグーグルで検索しましたが、何も見つかりませんでした。

いくつかのルールの例:

  • [Rank] N の各レコードの子テーブルで、N が 0 であるか、[Rank] N-1 のレコードがあることを確認します。たとえば、子レコードは常に、特定の親に対して 0 から MAX(Rank) まで単調に増加するランクを持ちます。
  • 私たちのデータベースは、システム内のすべてのエンティティのヘッダー テーブルである単一の MasterEntity テーブルを持つグローバルな「タイプ/ID」システムを使用します。各エンティティ タイプは 1 つ以上の特定のエンティティ テーブルに属し、各エンティティ テーブルは 1 つ以上の特定のタイプのみを許可します。システム内のすべてのエンティティが、適切なエンティティ テーブルに正しいレコードを持っていることを確認してください。
  • すべてのセキュリティ保護可能な型がセキュリティ記述子テーブルにエントリを持っていることを確認します
0 投票する
7 に答える
254 参照

cluster-computing - 良好な状態を維持するのではなく、高速再起動手法 (可用性と一貫性)

コンピューター、ルーター、プログラム、ブラウザーを再起動して問題を解決する頻度はどれくらいですか? それとも、オペレーティング システムまたはソフトウェア コンポーネントを再インストールすることによってですか?

これは、ソフトウェア コンポーネントが正しい方法で状態を保持していない疑いがある場合によくあるパターンのようで、コンポーネントを再起動することで初期状態を取得します。

Amazon/Google には多数のノードのクラスターがあると聞きました。また、各ノードの重要な特性の 1 つは、数秒で再起動できることです。そのため、そのうちの 1 つが失敗した場合、それを初期状態に戻すには、それを再起動するだけです。

この技術を第一級市民として活用する言語/フレームワーク/デザインパターンはありますか?

EDIT Amazonの背後にあるいくつかの原則と、可用性と一貫性の全体的な原則を説明するリンク: http://www.infoq.com/presentations/availability-consistency

0 投票する
2 に答える
1779 参照

artificial-intelligence - ゲームプログラミングで、使用されるヒューリスティックが一貫しているかどうかをテストするにはどうすればよいですか?

私は、大きな(高次元の)三目並べゲームのヒューリスティックをいくつか考えました。それらのどれが実際に一貫しているのかを確認するにはどうすればよいですか?

とにかく一貫性とはどういう意味ですか?

0 投票する
3 に答える
951 参照

linux - スリープ(0)? コード内の一貫した時間管理?

現在、ファイルをロードしてから gettimeofday を使用し、tv_usec で CPU 時間を追跡しています

私の結果はさまざまです。私は 250 から 280 を取得しますが、時には 300 や 500 を取得します。usleep と sleep (0) と (1) を書きましたが、成功しませんでした。時間はまだ大きく異なります。sleep(1) (Windows の Sleep in ms ではなく、Linux の秒数) で解決できると思いました。テストのために、より一貫した方法で時間を追跡するにはどうすればよいですか? 測定を開始する前に、はるかに大きなテストデータとより複雑なコードが得られるまで待つべきでしょうか?

0 投票する
2 に答える
1872 参照

algorithm - 分散システムで結果整合性を達成するための一般的なアルゴリズムはありますか?

分散システムで結果整合性を実現するために一般的に使用されるアルゴリズムはありますか?

分散システム、特にPaxosでACID トランザクション用に開発されたアルゴリズムがありますが、 BASEシナリオ用に開発された同様の理論体系はありますか?

編集:これは、開発が始まったばかりの学術研究の領域のようです。Mcdowella の回答は、この分野で少なくともいくつかの作業があったことを示しています。

0 投票する
5 に答える
591 参照

sql - id列またはクラスター化された主キー/データベースの整合性

列のあるテーブルがある場合:

  • アーティスト
  • アルバム
  • NumberOfListens

...クラスター化された主キーをArtist、Album、およびSongに配置するか、自動インクリメントID列を設定して、Artist、Album、およびSongに一意の制約を設定する方が適切です。

データベースの一貫性はどのくらい重要ですか?テーブルの半分にクラスター化された主キーがあり、残りの半分に一意の制約があるid列がある場合、それは悪いですか、それとも問題ではありませんか?どちらの方法も私には同じように見えますが、業界標準が何であるか、どちらが優れているのか、そしてその理由はわかりません。

0 投票する
2 に答える
390 参照

php - PHP ソースのフォーマットを自動化するにはどうすればよいですか?

大規模な PHP プロジェクト (数百のファイル) を持ってきましたが、ソースの書式設定は最初からあまり一貫していませんでした。すべてのソースを取得し、Zend Framework コーディング標準 (タブからスペースへ、短いタグから完全な php タグへ、正しいインデントなど) に従ってフォーマットしたいと思いますが、これは手動で実行できる作業ではありません。このプロセスを自動化するにはどうすればよいですか?