問題タブ [data-driven]
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.
asp.net - ASP.NET 4.0 データベースで作成されたページ
MS SQL サーバーからロードされた ASP.NET 4.0 動的ページを作成したいと考えています。基本的には、情報を含む場所のリストです。例えば:
どこから始めればいいのかわからない、URLの書き換えかな?
sql-server - レポートサービスサブスクリプションはエラーを報告しますが、ログには詳細が表示されません
サブスクリプションエラーの詳細はどこにありますか。
データドリブンサブスクリプションがあり、ステータスが表示されています。
完了:合計24個のうち24個が処理されました。24エラー。
しかし、私のトレースファイルReportServerService__xxxxx.logにはエラーが表示されません。サブスクリプションが実行されたことを示していますが、エラーはありません。
サーバーのDefaultTraceSwitchを3に設定し、4を試しました
2005年に使用された他のログファイルがReportServerService__xxxxx.logファイルに統合されたことを理解しています。
.net - CRUD スタイルのデータ駆動型分散 .NET アプリケーション アーキテクチャに関する質問
コンテキスト: 多数の列が含まれる複雑なデータベース モデルがある .NET プラットフォームでスマート クライアント アプリケーションを構築する。自然なアプリケーション スタイルは、典型的なデータ ドリブン CRUD です。場合によってはかなりの量のサーバー側のロジックと、やや複雑な検証もあります。クライアントとサーバーを完全に制御できるため、相互運用性の必要性は最小限です。
この質問には多くの詳細がありますが、それは申し訳ありませんが、回答に適切なコンテキストを設定したいからです。
いくつかの前提条件
- Microsoft の世界では珍しくありませんが、以前のほとんどのアプリケーションは DataSets を使用して作成されているため、関係する開発者にとって最もよく知られているテクノロジです。しかし、開発者が OO の考え方にも精通しているとしましょう。
- クライアントとサーバーの両方で検証を実行する必要があります。
- ほとんどのデータを表形式で表示していません。
- これはイントラネット アプリケーションではないため、帯域幅についてあまり多くを想定することはできません
最大の問題: データセットですか、それともオブジェクトですか?
データセットを使用する場合、いくつかの長所と短所があります。長所
としては、データベースからデータを取得する、ネットワークを介してデータを取得する、ネットワークを介して変更されたデータを返すという点で、Microsoft のサポートが少し得られます。小さいチャンク – 変更の送信のみを指定できるため。かなりの量のデータが含まれる可能性があるため、送信するデータが少ないのは良いことです。
- マイナス面は次のとおりです。検証、ビジネス ロジックなどに関して、手続き型のコードが得られ、オブジェクト指向コードの利点が得られません。動作とデータが一緒になって、より自然な作業スタイルと思考スタイルが得られます。あなたがしていること、そしておそらく検証ロジックとの密接な関係。また、データセットをグリッドに配置する利点から目を背けることもできます。これは一般的なユース ケースではないためです。
オブジェクトを選択する場合も同じドリルですが、より多くのオプションが含まれます
。 良い点
: 動作とデータが一緒に。検証ロジックを近づけます。オブジェクト間の関係が見やすく、理解しやすくなります。より読みやすいコード。単体テストが容易になります。しかし、かなりの数の選択肢と実行する必要がある作業もあります。
OR/マッピング
- リレーショナル モデルからオブジェクトへのデータの取得。OR マッパーはそれほど複雑ではなく、うまく処理できます。しかし、それは開発時間に追加されます。
コントラクト マッピング
- サーバー側オブジェクトからコントラクト オブジェクト (DTO の可能性が高い) にデータをマップすることは、一般的に良い方法です。これは CRUD スタイルのアーキテクチャに適したアプリケーションであるため、DTO は画像にあまり価値を追加せず、作業をマッピングするだけです。
共有コード
- ドメイン データとロジックを含むアセンブリがクライアント側とサーバー側の両方で利用できる、共有コード シナリオに進むことができます。これは密結合ですが、クライアント サーバー アプリが自然に密結合している場合は、必ずしも悪いことではありません。
コントラクト レイヤーを追加するかどうかに関係なく、ワイヤ経由で送信する必要がある大きなオブジェクト構造があります。クライアントとサーバーの両方を制御しているため、トランスポートとエンコーディングは TCP を介したバイナリ エンコーディングである必要があります。それは役に立ちます。データセットでは、変更のみを送り返すオプションがあります。オブジェクト構造全体を前後に送信すると、パフォーマンスの問題が発生する可能性があります。オブジェクト構造全体を送信するオプションは、関連する変更 (作成、更新、削除) を何らかの方法で識別し、それに関する情報のみを送信することです。理論的には、集約ルート ID と変更内容をサーバーに送信し、サーバーに集約ルートを遅延ロードして変更を実行し、再度保存するように依頼することはそれほど難しくありません。しかし、これに伴う大きな複雑さは、行われた変更を特定することです。このアプローチを採用することはありますか? なんで?どのように正確にそれを行いますか?
プレゼンテーション
正確な UI テクノロジは、質問にとってそれほど重要ではありません。WinForms、Silverlight、または WPF が可能です。新しいスマート クライアントであるため、WPF を使用していると仮定しましょう。つまり、双方向バインディングがあり、MVVM を適切に使用できます。
ユーザー インターフェイスにバインドされたオブジェクトは、INotifyPropertyChanged を実装し、プロパティが更新されるたびにイベントを発生させる必要があります。これをどのように解決しますか?共有コードのシナリオに進む場合は、それをドメイン オブジェクトに追加できますが、サーバー側で使用することを意図していないコードとロジックをサーバー側に追加する必要があります。コントラクト オブジェクトを使用すると、分離はより自然になりますが、マッピングのレイヤーを追加するだけでは、多くの付加価値は得られません。
テクノロジ
一部の問題の解決に役立つテクノロジはいくつかありますが、他の問題を複雑にすることがよくあります。それらを使用しますか、それともゼロから自分で構築しますか?
**
- CSLA は可能ですが、単体テストが難しくなり、データ アクセスへの結合がより緊密になるようです。それは多くの問題に役立ちますが、個人的に私はこの技術に精通していません。
- WCF RIA サービスは、Silverlight ソリューションで可能ですが、明らかに制限があります。データのサイズは 1 です。
- WCF Data Services は、何かをすばやく起動するための別のアプローチですが、REST はあまり役に立ちません。また、RIA Services にある検証サポートも不足しています。
まとめ
ここまで読んでいただければ、私がこれからどこへ向かうのか、お分かりいただけると思います。一度にすべてを話すことを避けるために範囲を絞ろうとしましたが、分散開発は複雑であるため、多くの部分を考慮する必要があります。
アップデート
返信ありがとうございます!私は、さまざまな回答を受け入れるのに十分なオープンな質問をしようとしていましたが、珍しいことではないいくつかの要件に対処するのに十分具体的でした.
さまざまな長所と短所があり、システムごとに異なるさまざまな考慮事項があります。通常、それぞれが解決策を見つけることの複雑さを増します。この質問のポイントの 1 つは、タスク ベースの UI を使用して、今日では正しい答えであることが多い 1 つの答えに必ずしも直接適合しないいくつかの追加の要件を特に指定して、答えを得ることでした。もしそうなら、私は「CRUD-guy」ではありません。しかし、いくつかのシステムは、さまざまな理由 (ほとんどの場合レガシー) から、CRUD に適しています。
多くのビジネス アプリには、さまざまな方向に向かう同様の要求があります。
ビジネス関連
- 表示: ユーザーにデータを表示し、同じデータを更新する (読み取りと CUD - 作成、更新、削除)
- 検証: ビジネス ルール
UI 関連
- 検証: UI ルール
- UI 更新: オブジェクトの変更時に UI を更新するためのコード (INotifyPropertyChanged)
ネットワーク関連
- データ サイズ: ネットワーク経由で送信するデータの量
DB 関連
- 遅延読み込み
SRP/再利用関連
- マッピング: オブジェクトの複数のレイヤーによって引き起こされる/関心の分離
メンテナンス/変更関連
- 変更: 新しい情報 (列/フィールド) の追加
- コードの量
- 再利用と「変更する理由」
技術的な制限
- 変更の追跡
しかし、これらは非常に具体的なものにすぎません。どの「-ilities」が最も重要であるかを常に把握する必要があります。したがって、スケーラビリティ、可用性、拡張性、相互運用性、ユーザビリティ、保守性、およびテスト容易性がどの程度必要かを知る必要があります。
ほとんどの状況で何かを一般化しようとすると、次のようになります。
クライアント
- 分離とテスト容易性のために MVVM を使用します -
DTO の上に VM を作成します - VM に
INotifyPropertyChanged を実装します。
- XamlPowerToys、Postsharp、またはこれを支援するその他の手段を使用する価値があります
- UI で読み取りと CUD を分離し
ます - CUD をタスクベースにし、コマンドなどを使用してそれらの操作をサーバー側に送信します
サーバー
- 画面ごとに dto
を調整する -または Ayende がhttp://msdn.microsoft.com/en-us/magazine/ff796225.aspx
で説明しているマルチクエリ アプローチを使用するあなたが解決しようとしている問題とは完全に無関係なステップです。そのマッピングは
- ドメインモデルを、読み取りではなく、CUD 関連の操作を含む主にビジネス操作に関係させます
- 変更する理由の数を増やす再利用性を避けます
-カプセル化の問題を回避する
- (それにより、CQRS スタイルのアーキテクチャを有効にし、読み取りと CUD のスケーリングを時間内に分離する可能性があります
)
http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/02/15/validation-in-a-ddd-world.aspx )
これは必然的に、この特定の状況で私がとるアプローチですか?
ええと、それが私が議論を始めたかったことです:)しかし、それは私が望んでいたよりも難しかったようです(あなた方2人を除いて)。
interpreted-language - 解釈言語使用時のデータファイル
いくつかの種類のデータが必要だとします。最も簡単な例は、ゲームのタイルだと思います。草、岩、木など、それぞれに異なる値のセットがあります。
すぐに先に進み、ファイルを作成して実行時に読み込むので、C++ などで微調整するためにすべてを再コンパイルする必要はありません。しかし、私が Python やその他の解釈された言語を使用していた場合、次のような形式でファイルを作成する必要があることに多くの意味があります。
種類 草色
0xdfdfdf
歩く 真 真
を見る
それよりも:
class grass(tile):
def init (self):初期化
の方法が思い出せません。両親
self.colour = 0xdfdfdf
最初の明らかな利点は、コンパイルしないと失われます。
data-driven - コードを最小化し、データを最大化する哲学に関する考え
コードを最小化し、データを最大化するという概念を聞いたことがありますが、独自のシステムを構築するときにこれをどのように/なぜ行うべきかについて、他の人がどのようなアドバイスをくれるのでしょうか?
php - PHP メニュー - 親と子を再帰的に削除する方法
PHP /MySQL のデータ駆動型メニュー システムに取り組んでいます。メニュー項目の一部を孤立させずに削除する方法がわかりません。
トップ レベルのメニュー項目はすべて、それらがトップ レベルであることを示すゼロ (0) の親 ID 値を持ちます。私のグリッドビューには、すべてのメニュー、トップレベルおよびサブメニュー項目が表示され、複数選択して削除できます。
問題は、グリッドビューで削除対象として選択されたアイテムの 1 つがトップ レベルのメニュー アイテムである場合、その下にあるすべてのサブ メニューが孤立してしまうことです。
実装する必要がある一般的なロジックは何ですか?
database - データベース ID を一貫して「読み取り可能」にすることの長所と短所
質問
データベース ID が「無意味」であることは経験則として適切ですか? 逆に、ID を一目で認識できるように構造化することには、大きな利点がありますか? 長所と短所は何ですか?
バックグラウンド
データベース内の ID の一貫性について同僚と議論しました。コードを変更する必要がほとんどないように、Spring を活用するデータ駆動型アプリケーションがあります。つまり、問題が発生した場合、通常はデータの変更が解決策になります。
私の主張は、ID を一貫して読みやすくすることで、長期的にはかなりの時間と頭痛の種を節約できるというものでした。ID が設定されると、頻繁に変更する必要はありません。適切に設定されていれば、将来の変更は難しくありません。私の同僚の立場は、ID は重要であってはならないというものでした。情報を ID にエンコードすることは、DB の設計ポリシーに違反しており、ID を整理するには、「時間がない」という余分な作業が必要になります。どちらの立場を支持するものもオンラインで見つけることができません。だから私はここ SA のすべての達人に目を向けています!
例
食料品店の食品を表すデータベース レコードの単純化されたリストを想像してください。最初のセットは ID にエンコードされた意味を持つデータを表し、2 番目のセットは意味を持たないデータを表します。
ID の意味:
意味のない ID:
概要
ID の読みやすさと一貫性を維持することの長所と短所は何ですか? あなたは一般的にどちらのアプローチを好みますか、またその理由は何ですか? 業界で認められているベストプラクティスはありますか?
--------編集( 以下のコメントからの役立つ背景情報 ):--------
私たちのテーブルでは、主キーは常に一意の整数を含む ID フィールドです。最初は、その整数は任意でした。時間が経つにつれて、これらの ID の一部は開発者/テスターの間で自然に意味を持つようになりました。最近のリファクタリング中に、一部の開発者は、すべての ID を認識しやすくするために時間をかけました。みんなの仕事が 100 倍簡単になりました。一部の人々 (実際にはデータ/コードを使用していない) は、理論的な理由で激しく反対しました。実際には、これらの反論のどれも当てはまりません。さらに、データを使用するすべての開発者は、データの保守が大幅に容易になったことに同意しています。
私は、データ中心の環境ですぐに認識できる ID を使用することに対する正当な理由を探しています (ただし、見たことはありません)。
.net - CSV データソースを使用したデータ駆動型単体テストで列の型を制御するにはどうすればよいですか?
データ ソースに CSV ファイルを使用するデータ ドリブンの単体テストがあります。私のファイルの列の 1 つは、文字列として扱われることを意図しています。その列の値を日付として解釈できる行を追加するまで、問題なく動作します。これを行うと、前の行のテストが失敗し始めます。列に「日付」があると、列のすべての値が日付として扱われるようです。日付として解析できない値には、DBNull 値が与えられます。これを防ぐ方法はありますか?おそらく、データ ソースの各列をどの型として扱うべきかを指定することでしょうか?
c - C でのネットワーキングへのデータ駆動型アプローチ。これは新しいものではないでしょうか?
このようなことが以前に行われたかどうかを知りたい:
私は最近、C でネットワーク ライブラリの作業を開始しました。ライブラリはソケットのセットを維持し、それぞれが 2 つの FIFO バイト ストリーム (入力と出力) に関連付けられています。
ライブラリを使用する開発者は、認識関数とハンドラー関数で構成されるいくつかのコールバックを登録する必要があります。新しいデータがソケット (つまり、入力ストリーム) に到着すると、すべてのレコグナイザーが呼び出されます。レコグナイザーの 1 つがデータの一致する部分を見つけると、関連するハンドラーが呼び出され、データを消費し、場合によってはソケットの出力ストリームに新しいデータをキューに入れ、後で送信するようにスケジュールします。
ライブラリの使用方法を明確にするための例を次に示します。
私にとって、これは C で汎用ネットワーク ライブラリを作成する最も明白な方法です。Google を使用していくつかの調査を行いましたが、C で作成された同様のものを見つけることができませんでした。このアプローチを実装する最初のもの。
このようなデータ駆動型の汎用 C ネットワーク ライブラリは他にありますか?
それらを使用しますか?
sharepoint - SharePoint リストからデータ ドリブン SSRS サブスクリプションを作成するにはどうすればよいですか?
SSRS レポートへのデータ ドリブン サブスクリプションを設定しようとしています。受信者の電子メール アドレスと、受信者ごとに異なるレポートの内容をフィルター処理するレポート パラメーターを含む共有ポイント リストを使用したいと考えています。
Microsoft SharePoint リストは、データ ドリブン サブスクリプションの作成ウィザード (SSRS 2008 R2) のオプションの 1 つですが、接続文字列を構成し、リストのコンテンツを返すクエリを作成する方法について説明しているチュートリアルは、インターウェブで見つけることができません。 . 作成されたデータ ドリブン サブスクリプションで見つけられるものはすべて、Sql Server データベースへの接続を使用して配信と構成を推進します。受信者を管理する簡単な方法のように思われるため、SharePoint リストを使用したいと思います。
誰かがこれを行ったか、このセットアップを構成する方法の例への良いリンクを持っていますか?