問題タブ [data-tracing]

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 投票する
3 に答える
1740 参照

windows-search - 「WindowsSearch」クエリの追跡

レジストリを介してWindowsSearchのログを有効にすることはできますが(以下を参照)、これはWindowsSearchのデフォルトのユーザーインターフェイスを介して送信されたクエリのみをキャプチャしますOutlook 2003Outlook 2007OneNote 2007、またはにアクセスするその他のアプリケーションで使用されるクエリをキャプチャしたいSystemIndex

私がやりたいのは、これらのクエリを分析して、コードライブラリ(物理ファイルシステム)の検索に使用する個人用検索ユーティリティ(WinForms / WPF / ADO.NET / OleDb)のクエリを作成する方法をよりよく理解することです。

Windows SearchのSystemIndexで実行されたすべてのクエリを追跡するにはどうすればよいですか?

0 投票する
1 に答える
1641 参照

validation - CSV / SSVがあります。| とは何ですか 区切られた値と呼ばれる?

カンマ区切り値の CSV / セミコロン区切り値の SSV があります。

では、| の名前は何ですか? 分離値?

ところで、その名前は何ですか | シンボル?(私はそれがパイプだったことを覚えていますが、それは単なる非公式の名前または smt だと思います)

0 投票する
1 に答える
299 参照

debugging - 2 つのプログラムのオブジェクトの実行時比較方法

私は、やや厄介で自動化できる特定のタイプのコード テストに取り組んでいますが、ベスト プラクティスについては確信が持てません。問題を説明する前に、適切な用語と概念を探していることを明確にしたいと思います。これにより、問題の実装方法について詳しく読むことができます。もちろん、ベスト プラクティスに関する提案は大歓迎ですが、私の目標は具体的です。この種のアプローチを何と呼ぶか​​ということです。

最も単純なケースでは、一連のデータを取り込み、さまざまな中間オブジェクトを生成し、最終結果を返す 2 つのプログラムがあります。エンドツーエンドでテストすると、最終結果が異なるため、違いがどこで発生するかを見つける必要があります。残念ながら、中間結果でさえ異なる場合がありますが、常に重要な方法であるとは限りません (つまり、いくつかの不一致は許容できます)。最後の問題は、中間オブジェクトが 2 つのプログラム間で必ずしも同じ名前を持つとは限らず、中間オブジェクトの 2 つのセットが完全に重複しない場合があることです (たとえば、一方のプログラムが他方よりも多くの中間オブジェクトを持っている場合があります)。したがって、2 つのプログラムで作成されたオブジェクト間に 1 対 1 の関係があるとは想定できません。

このオブジェクトの比較を自動化するために私が考えているアプローチは次のとおりです (テキスト コーパスの頻度カウントに大まかに着想を得ています)。

  1. プログラム A と B ごとに、実行中に作成されたオブジェクトのリストを作成します。これは、a001、a002、a003、a004、... のように非常に単純な方法でインデックスを付けることができ、B (b001、.. .)。
  2. Nb と B のオブジェクトの数についても同様に、Na = A で検出された一意のオブジェクト名の数とします。
  3. それぞれ Na 列と Nb 列を持つ 2 つのテーブル TableA と TableB を作成します。エントリは、各トリガーで各オブジェクトの値を記録します (つまり、次に定義される各行)。
  4. A の各割り当てについて、最も簡単な方法は、すべての Na アイテムのハッシュ値を取得することです。もちろん、変化しないアイテムには LOCF (最後の観測を繰り越す) を使用できます。まだ観測されていないオブジェクトには、単純に NULL エントリが与えられます。これを B について繰り返します。
  5. ハッシュ値を介して TableA と TableB のエントリを照合します。理想的には、オブジェクトはほぼ同じ順序で「語彙」に到着し、順序とハッシュ値によって値のシーケンスを識別できるようになります。
  6. 異なるシーケンスを持つオブジェクトのハッシュ値のシーケンスがいつ分岐するかに基づいて、A と B の間のオブジェクトの不一致を見つけます。

さて、これは単純なアプローチであり、データが単純で原子的で、数値精度の問題の影響を受けにくい場合は、うまく機能する可能性があります。ただし、数値の精度によってハッシュ値が発散する可能性があると思いますが、不一致がマシンの許容レベルに近い場合、その影響は重要ではありません。

最初に: このような種類のテスト方法と概念の名前は何ですか? 答えは必ずしも上記の方法である必要はありませんが、2 つ (またはそれ以上) の異なるプログラムからのオブジェクトを比較するための方法のクラスを反映しています。

2 番目: ステップ 3 と 4 で説明した標準的な方法は何ですか? たとえば、「値」はハッシュである必要があるだけではありません。オブジェクトのサイズを格納することもできます。結局のところ、2 つのオブジェクトのサイズが大きく異なる場合、それらを同じにすることはできません。

実際には、少数のアイテムを比較する傾向がありますが、自動化されている場合、これはユーザーからの多くの入力を必要としないと思います。


編集 1:この論文は、実行トレースの比較に関して関連しています。オブジェクトを生成する実際のコードよりもデータ (つまりオブジェクト) に関心がありますが、それは私の興味に関連する「コード比較」について言及しています。私はそれをざっと読んだだけですが、方法論についてもっと注意深く検討します。さらに重要なことに、これは、コード トレースの比較がデータ トレースの比較に拡張される可能性があることを示唆しています。 このホワイト ペーパーでは、セキュリティ テストとはまったく関係のない領域ではありますが、コード トレースのいくつかの比較を分析します。

おそらく、データ トレースとスタック トレース メソッドが関連しています。チェックポインティングは少し関連がありますが、その典型的な使用 (つまり、すべての状態を保存する) はやり過ぎです。

編集 2: その他の関連する概念には、ローカル実装 (通常はクローン) を使用して計算を再現しようとする差分プログラム分析とリモート システム (宇宙探査機など) の監視が含まれます (HAL-9000 を地球上のクローンと比較して考えてください)。 . 単体テスト、リバース エンジニアリング、さまざまな種類のフォレンジックなどのルートを調べてきました。開発段階では、単体テストとの一致を確認できますが、これは計測された分析には役に立たないようです。リバース エンジニアリングの場合、目標はコードとデータの一致ですが、リエンジニアリングされたコードの忠実度を評価する方法を見つけるのは特に簡単ではないようです。プログラムごとのフォレンジックは非常に簡単に見つかりますが、プログラム間の比較はそれほど一般的ではないようです。

0 投票する
1 に答える
533 参照

database-design - 顧客プロファイリングシステムに関する提案:本、記事など

C#を使用して、独自のEコマースWebサイトの顧客プロファイリングプロジェクト(Google Analyticsと類似していますが、同一ではありません)に取り組みます。私はこの種のプロジェクトにかなり慣れていません。また、顧客プロファイリングプロジェクトもまったく新しいプロジェクトです。それについて何か提案をいただけますか?

「ウェブサイトの訪問データの追跡」と「追跡データの分析」の2つの部分があるべきだと思います。

それについて何か提案をいただけますか?ありがとう:

  • この種のプロジェクトには、どのようなデザインパターンが最適ですか?(パイプラインとフィルター?または他の?)私はC#を使用しています。
  • どのようなデータベースが最適ですか?RDBMSまたはドキュメントデータベース?
  • 追跡されたデータを格納するためのデータベーステーブルをモデル化する方法は?
  • Googleでこのテーマを検索するために使用できるキーワードは何ですか?
  • 読むべき記事や本を教えていただけますか?(本を読む時間があまりないので、記事の方がいいです)
  • あなたが私が学ぶ必要があると思う他のこと。

前もって感謝します!

0 投票する
1 に答える
1474 参照

mysql - MySQL でのデータ変更 (更新/削除) の追跡

外部キー参照を使用してユーザー データが格納される db スキーマがあります。これらの外部キーは管理者定義です。また、主キーなしで保存されているデータもありますが、冗長性やその他の問題を回避するために、他の制約を設けています。

ユーザーが自分の情報を「更新」するときのアプリケーションの要件により、「更新された」テーブルからすべてのユーザー レコードを削除し、すべてのユーザー レコードを再度挿入する必要があります。(私は他のすべてのオプションを調べました)

私の検索ソリューション (solr) のために、ユーザー データ (更新/削除) への変更を追跡する必要があります。最後にコミットされたデータをリアルタイム データと比較するビューを計画しています。ストアド プロシージャを 20 分ごとに実行することがどれだけ持続可能か心配です。SQL を使用してデータを追跡するより良い方法はありますか?

0 投票する
0 に答える
60 参照

dataflow - 指定されたすべてのコードベースのデータ フローを追跡するツールはありますか?

たとえば、指定された変数の潜在的な使用をすべて追跡するのに役立つツールはありますか? 現時点では、PHP 用にこれが必要ですが、代わりに他の言語用の (より良い) ツールがあるかどうかも知りたいです。

私はhttp://phpcallgraph.sourceforge.net/を見つけましたが、それはいくつかの助けを提供しますが、私がフォローしたいデータをほとんど確実に使用しない関数を含む、関数ツリーをグラフにしているようです。関数呼び出しツリーからこれらの「無関係な」関数をすべて除外するオプションは、明らかに私が探しているものです。また、各呼び出し元関数に対して呼び出されたすべての関数を順番に確認する必要があります (特定の変数/値が渡されている場合のみ)。

既存のあまりよく整理されていないコードを変更する場合、特定の DB フィールドの値 (ei データの依存関係) のすべての可能な使用法を確認して、その変更がコードにどのような影響を与え、どこに影響を与えるかを理解し、それに応じてコードを変更する必要があります。必要です。