タグ付けされた質問 「data」

データは、一連のアイテムに属する質的または量的変数の値です。コンピューティング(またはデータ処理)のデータは、多くの場合、表(行と列で表される)、ツリー(親子関係のあるノードのセット)、またはグラフ構造(相互接続されたノードのセット)の構造で表されます。

2
データ検証:分離されたクラスかどうか
検証が必要なデータが大量にある場合、検証のみを目的として新しいクラスを作成する必要がありますか、またはメソッド内検証に固執する必要がありますか? 私の特定の例では、トーナメントやイベント/カテゴリクラス企図:TournamentとEvent、モデルのスポーツ大会や各トーナメントは、1つのまたは多数のカテゴリがあります。 これらのクラスで検証するすべての種類のものがあります:プレイヤーは空である必要があり、一意である必要があり、各プレイヤーがプレイするマッチの数、各マッチが持っているプレイヤーの数、事前に定義されたマッチアップ、およびはるかに大きいなど複雑なルール。 また、クラスを相互に統合する方法など、全体として検証する必要のある部分もあります。たとえば、aのユニタリ検証はPlayer問題なく実行できますが、イベントに同じプレーヤーが2回ある場合、検証エラーになります。 では、これはどうですか?:モデルクラスのセッターや同様のメソッドを使用してデータを追加するときの事前チェックを絶対に忘れて、代わりに検証クラスにそれを処理させます。 だから我々は、のようなものがありますEventValidatorとのEventメンバーとして、そしてvalidate()すべてのメンバーのルールを検証するために、オブジェクト全体を検証する方法に加え、特異な方法を。 次に、有効なオブジェクトをインスタンス化する前に、無効な値を防ぐために検証を実行します。 私の設計は正しいですか?私は何か違うことをすべきですか? また、検証メソッドを返すブール値を使用する必要がありますか?または、検証が失敗した場合に例外をスローしますか?私にとって最良のオプションは、メソッドを返すブール値であり、オブジェクトがインスタンス化されたときに例外をスローすることです、例えば: public Event() { EventValidator eventValidator = new EventValidator(this); if (!eventValidator.validate()) { // show error messages with methods defined in the validator throw new Exception(); // what type of exception would be best? should I create custom ones? } }
15 java  design  data  validation 

8
CRUD以外のアプローチの例はありますか?
私はプログラマーですが、アーキビストとしても働いています。アーキビストとして、データを保持することが重要です。 データの操作に関しては、同僚と議論することがよくあります。CRUDのUとDはあまり好きではありません。レコードを更新するのではなく、新しいレコードを追加して、古いレコードへの参照を作成することをお勧めします。そのようにして、変更の履歴を作成します。また、レコードを削除するのも嫌いですが、非アクティブとしてマークします。 これに用語はありますか?基本的にデータの作成と読み取りのみですか?このアプローチの例はありますか?

5
コンストラクタの逆の関数の適切な用語は何ですか?データ型から値をラップ解除するには?
編集:私は質問を少し言い換えています。デストラクタという用語がOOPでまったく異なる何かに使用されていることに気づかなかったため、どうやら混乱が生じたようです。これは、オブジェクトが破棄されるときに呼び出される関数です。関数型プログラミングでは、可変状態を回避しようとするため、それに相当するものはありません。(質問に適切なタグを追加しました。) 代わりに、値をアンラップするためのレコードフィールド(特にnewtypes などの単一値のデータ型の場合)がdestructorまたはdeconstructorと呼ばれることもあります。たとえば、(Haskellで)次のようにします: newtype Wrap = Wrap { unwrap :: Int } ここWrapにコンストラクタがあり、それunwrapは何ですか? 質問は次のとおりです。 unwrap関数型プログラミングをどのように呼び出すのですか?解体者?デストラクタ?それとも他の言葉で? そして、明確にするために、この/他の用語は他の関数型言語に適用できますか、それともHaskellだけで使用されますか? おそらく、これには一般的に、非機能的な言語での用語はありますか? 私は両方の用語を見ました、例えば: ...ほとんどの場合、スマートコンストラクターとデストラクタを提供して、これらを簡単に操作できるようにします。... で、Haskellのウィキ、または ...ここでの一般的なテーマは、コンストラクターとデコンストラクターのペアを融合することです... で、Haskellのwikibook(ここではそれはおそらく、もう少し一般的な意味でのものです)、または newtype DList a = DL { unDL :: [a] -> [a] } unDL関数はdeconstructorで、DLコンストラクターを削除します。... 中実世界ハスケル。

6
3値変数または3状態変数を格納するのに最適なデータ型
免責事項:私はデータ型が使用しているスクリプト/プログラミング言語に少し主観的であることを知っています。好みの問題としてPythonで記述したいのですが。私はどんな言語/実装についても聞いてうれしいです。 3状態変数を格納するのに最適なデータ型は何ですか?ポジティブ、ニュートラル、ネガティブを可能にする、または表す何か。 例:整数-1、0、1。 プロ:非常に簡潔です。 長所:潜在的に効率的、単一の2ビット符号付き整数として格納できます。 Pro:浮動小数点乗算器などのスケールとして使用できます。 実施例2: 、0、null(1または任意の順列) メリット:非中立的なユースケースは、バイナリの場合があります。 欠点:動的データ型が必要です 短所:簡潔ではない可能性があります。 例3:+、(空の文字列)、- プロ:非常に簡潔です。 欠点:文字列ロジックを利用して状態を判断する可能性があります。 プロ?:直感的なグラフィック表現。 おそらく、私が想像もできないような巧妙なことを実行できる巧妙なバイナリロジックがいくつかあるでしょう。 また、3値状態をデータベースエンジンに格納するように調整する場合の考慮事項はありますか?参考としてInnodbのように。

2
変更ログとしてMongoDBを使用する2つのシステム間の同期
2つの関連システムを開発しています。そのうちの1つ(A)は、お客様のマシンにインストールされます。残りの(B)は私の組織で使用されます。 各システムには独自のデータベース(リレーショナル)があり、スキーマは異なります。ただし、両方のシステムを同期する必要があります。さらに、Bの一部の変更はすべてのクラスAシステムにエクスポートする必要があり、その他は特定のシステムにのみエクスポートする必要があります。 一部のお客様はインターネットに接続していないため、場合によっては、ファイルの交換を介して同期を行う必要があります。 そのため、次のようにこの問題を解決する予定です。 各システムは、データベースの変更ログを保持しています。MongoDBで実装する予定です。 システムが同期プロセスを初期化するとき、ログから行われたすべての変更を取得します。システムがBの場合、取得される変更は宛先によって異なります。次に、システムはそれらをXML形式でシリアル化し、最後に(ファイルまたはネットワーク経由で)送信します。 他のエンドポイントが変更セットを受信すると、それらのシリアル化を解除します。次に、システムはデータに対していくつかの変換を行います。これは必要な場合があり、最後に変更を記録します。このステップでは、必要な場合、システムは存在する可能性のある競合を解決する必要があります。 最後に、受信側システムはその変更(および競合解決の他の製品)を送信します。 このアプローチは実行可能で、スケーラブルでエレガントですか?どのような変更または追加を行いますか?

5
安定した効率的な方法でWebページからデータを取得する
最近、正規表現を使用してWebサイトのHTMLを解析し、必要なデータを取得するのが最善の行動ではないことを学びました。 だから私の質問は簡単です:それでは、このデータを取得するための最良/最も効率的で一般的に安定した方法は何ですか? 私はそれに注意する必要があります: APIはありません データを取得できる他のソースはありません(データベース、フィードなどはありません) ソースファイルへのアクセスはありません。(公開ウェブサイトからのデータ) データがHTMLページのテーブルに表示される通常のテキストであるとしましょう 私は現在、私のプロジェクトにpythonを使用していますが、言語に依存しないソリューション/ヒントがいいでしょう。 副次的な質問として、WebページがAjax呼び出しによって構築された場合、どのように対処しますか? 編集: HTML解析の場合、データを取得する実際の安定した方法はないことを知っています。ページが変更されるとすぐに、パーサーが完了します。この場合の安定とは、ページを解析する効率的な方法です。ページが変更されない限り、同じデータセットに対して(同じデータセットに対して)常に同じ結果が渡されます。
11 data  parsing 

2
ソフトウェアの「データ衛生」インデックスがあるべきか-プログラムがどれだけクリーンであるかを示すために?一時ファイルなどを残さない
ソフトウェアの「データ衛生」インデックスがあるべきか-プログラムがどれだけクリーンであるかを示すために?未使用の一時ファイル、レジストリエントリ、環境変数などを作成しない たとえば、Windowsのユーザーフォルダーを見ると、アプリケーションで使用されるあらゆる種類のワークスペースファイルが表示されます。 たとえば、これにより、何をバックアップする必要があり、何をマシン生成として破棄できるかを知ることが難しくなります。

5
ストレージフォーマットをどのように決定するか、またそれらのいくつかの使用例は何ですか?
プログラムデータを保存する方法はいくつかあります(ゲーム、従業員データベース、プログラム構成などにファイルを保存します)。 プレーンテキスト(考える.iniと.conf) XML データベース(MySQL、SQLite ...) .zip および類似のいくつかのファイルを含む(異なる形式で) バイナリファイル(.docたとえば、シリアル化ツールによって作成されたものなど) 上記のフォーマットのさまざまな使用例は何ですか?それらの長所と短所の対比(速度、柔軟性、ファイルサイズ、使いやすさなどを考えてください)?異なるタスクのためにそれらをどのように決めるのですか? zip形式について:これは、他のファイルを格納するためだけに使用されます。別の圧縮形式の場合もあります。これにより、イメージファイル、サウンドファイル、テキストファイルなど、いくつかのファイルの構造が可能になります。例として、ファイルを含むメッセージの保存形式があるとします。次のファイルを圧縮ファイル内に含めることができます。 message.txt (containing the message) attachments (folder containing attachments) audio.wav picture.jpg

4
用語:本当に削除するか、IsDeleted(「ソフト削除」)フラグを設定するか
通常のユーザーがレコードを削除できるサイトがあります。そこではIsDeletedフラグが設定されます。管理ページでは、特権ユーザーは、実際のSQLがDELETEそのようなレコードを永久に破棄するレコードを削除できます。違いは明らかな理由で重要です。一貫した用語を使用して、ある形式の削除と他の形式の削除を比較したいと思います。私は言葉でプレーしてきたRemove、Delete、DiscardそしておそらくRecycle、とArchive。 私の質問は次のとおりです。これら2つの動作を区別する標準のユーザー向けの用語はありますか?
10 terminology  data 

7
週次データシリーズ間のトランザクションを決定するためのアルゴリズム?
私は小さなレポートツール(sqliteバックエンド)を開発しようとしています。このツールは「トランザクション」元帳として最もよく説明できます。私がやろうとしていることは、毎週のデータ抽出からの「トランザクション」を追跡することです。 「新規」(または追加)- 抽出によって表示されていないため、アプリがこのリソースを以前に追跡していない可能性があるため、リソースはアプリにとって新しいものです。 「更新」(またはヒット)-そのリソースが最近使用されており、保存期間がもう1週間更新されています。 「削除」(またはドロップ)-このアイテムは、前回のレポート以降、使用されていません(オプションですが、リソースの需要の週ごとの変化をグラフ化するには便利です)。 私が持っているのは、私が制御できないレガシーのアーカイブ/レコード管理システムからの毎週のデータ抽出(パイプ区切りのフラットファイル)だけです。 各行は基本的にこれに蒸留することができます: resource_id | resource info | customer_id | customer_info サンプルデータ: 10| Title X | 1 | Bob 11| Another title | 1 | Bob 10| Title X | 2 | Alice 目標は、(最後のヒットに基づいて)Xか月間使用されていないリソースについて簡単にレポートできるようにすることです。リソースが人気がある場合、アクセスを容易にするためにリソースが保持される保持期間があります。18か月間使用されていないリソースは、他の場所で長期アーカイブ用にマークされています。 これは一般的な問題です。データセット間で何が新しい/同じ/削除されたかを判断するための汎用アルゴリズムがあるかどうか(dbと最新の抽出)

1
マルチパートフィールド/ファイルデータを個別に解析する方法は?
マルチパートフォームを2回解析する必要があります。1回は入力フィールドを取得し、後でファイルのアップロードを処理します。 私は私のノードアプリ内で懸念の適切な分離を維持しようとしています: コントローラーは、入力フィールドの処理を担当します。 モデルは、ファイルのアップロードロジックを担当します。 新しいインスタンスを作成するためにフィールドデータをモデルに渡す必要があるため、ファイルのアップロードを開始する前にフィールドデータを利用できるようにする必要があります。 現在、すべてform.parse()または同等の関数がフィールドとファイルの両方を一緒に解析しています。例:req.pipe(busboy)ファイルとフィールドの両方を一緒に処理します。 私はnode-multiparty、手ごわい、busboy、multerなどのモジュールをチェックしました。これに対する解決策は誰にもないようです。 私が達成したいものの例はここにあります:https : //stackoverflow.com/questions/22336177/node-js-busboy-parse-fields-and-files-seperatly これは可能ですか?
9 data  node.js  upload 

8
「コードの最適化」==「データの構造化」はいつですか?
ycombinatorによる最近の記事に、優れたプログラマーの原則を伴うコメントがリストされています。 #7.良いプログラマー:コードを最適化します。優れたプログラマー:データを構造化します。最高のプログラマー:違いは何ですか? 主観的で論争のある概念を認める-これが何を意味するかについて誰かが立場を持っていますか?私はそうしますが、私は後でこの質問を自分の考えで編集して、回答の素因を作らないようにしたいと思います。

1
現在の証拠は、正規データモデルよりもコンテキストデータの採用をサポートしていますか?
「標準」の考え方はソフトウェアに広まっています。Canonical Model、Canonical Schema、Canonical Data Modelなどのパターンは、開発中に何度も登場するようです。 多くの開発者と同様に、私は頻繁に、批判的ではないが、正規モデルが必要であるという従来の知恵に従いました。それ以外の場合は、マッパーとトランスレーターの組み合わせの爆発に直面します。または、少なくとも、数年前にやや悪名高いEFの「自信なしの投票」を初めて読んだときまで、私はそれを行っていました。 正規データモデルの追求をかつて支持していたという仮説は、そのアイデアが実践されたときに発見されるであろう要因を含まず、含めることもできませんでした。長年の試行錯誤の結果、正規データモデルが使用される可能性のある個々のコンテキストに個別のモデルを使用することが、最も複雑なアプローチではなく、最もコストのかからないアプローチであり、保守性と拡張性の向上につながります。コンテキストモデルを使用したアプリケーションとエンドポイントの比較。これは、正規モデルが行うソフトウェアエントロピーを促進しないアプローチです。 エッセイはその主張を裏付けるいかなる種類の証拠も提示していませんが、代替案を試すのに十分長い間CDMアプローチに疑問を投げかけ、結果のソフトウェアは文字通りまたは比喩的に爆発しませんでした。しかし、それだけですべてが孤立しているわけではありません。運が良かっただけかもしれません。 ですから、ソフトウェアシステムまたはアーキテクチャに標準モデルとコンテキストモデルを組み合わせた場合の実際的な長期的な影響について、真剣な調査が行われたのでしょうか。 あるいは、それを尋ねるのが早すぎる場合は、開発者/アーキテクトに、CDMから独立したコンテキストモデルへの(またはその逆の)CDMから個人的なエクスペリエンスへの切り替えについて書いてもらい、生産性、複雑さ、信頼性などの実際的な影響は何でしたか? 異なるレベルでの違いについてはどうでしょうか。つまり、単一のアプリケーションで同じモデルを使用する場合と、アプリケーションのシステムまたは企業全体で使用する場合の違いはどうでしょうか。 (事実のみ、お願いします。戦争の話は大歓迎ですが、憶測はありません。)

3
単一のオブジェクトが複数の変数よりも優先されますか?
タイトルに意味を込めるのはかなり大変でしたが、コードに入れるのは簡単です。 C ++ これは int offset_x = 10; int offset_y = 40; ... element.move(offset_x, offset_y); これよりも優先されますか? Vector<int> offset(10, 40); ... element.move(offset.x, offset.y); (Vector std::vectorはとは異なり、2Dベクトルです。このクラスには、やのようにnormalize()、ここでは不要な多くのメソッドがあります。これscale()には、より基本的なPointクラスが必要ですか?) JavaScript これは var offsetX = 10; var offsetY = 40; ... element.move(offsetX, offsetY); これよりも優先されますか? var offset = {x: 10, y: 40}; ... element.move(offset.x, offset.y);

3
データの「ソート解除」/同質性アルゴリズム
車輪を再発明しないように、私は誰かがデータ同質性アルゴリズムについてアイデアを持っているかどうか尋ねています。簡単な例: 私のデータにはいくつかの要素があります 数 色 フルーツ 文字 配列にはこれらの要素が約100あります。アルゴリズムは、同じ番号の2つのエントリが互いにできるだけ間隔をあけて、色や果物などが同じになるように要素を並べ替える必要があります。要素に優先順位を付けることができれば、さらに良いでしょう。100%に到達することはないように思えるので、作成するパスの数を指定し、結果を確認してから、より多くのパスを試します。 私が見つけることができる十分なgoogle-fuを持っていないだけで機能する何かがここにあるとしても、私は驚かないでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.