問題タブ [aggregation]
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.
language-agnostic - 継承よりも構成を優先しますか?
なぜ継承よりも構成を好むのですか?各アプローチにはどのようなトレードオフがありますか?いつ、構成よりも継承を選択する必要がありますか?
oop - 継承と集約
オブジェクト指向システムでコードを最適に拡張、拡張、および再利用する方法については、次の2つの考え方があります。
継承:サブクラスを作成して、クラスの機能を拡張します。サブクラスのスーパークラスメンバーをオーバーライドして、新しい機能を提供します。スーパークラスが特定のインターフェースを必要としているが、その実装にとらわれない場合に、メソッドを抽象/仮想にして、サブクラスを「空白を埋める」ように強制します。
集約:他のクラスを取得し、それらを新しいクラスに結合することにより、新しい機能を作成します。他のコードとの相互運用性のために、この新しいクラスに共通のインターフェースを接続します。
それぞれのメリット、コスト、および結果は何ですか?他に選択肢はありますか?
この議論は定期的に行われていると思いますが、Stack Overflowではまだ質問されていないと思います(関連する議論はいくつかありますが)。それのための良いグーグルの結果の驚くべき欠如もあります。
mysql - MySQL - WHERE 句で COUNT(*) を使用する
MySQLで次のことを達成しようとしています(pseudo
コードを参照)
リソースの無駄のように見えるため、WHERE 句で (SELECT...) を使用せずにこれを行う方法はありますか。
linux - Linux でのポート アグリゲーション
Linux でポート アグリゲーション構成を検出する必要があります。
ifcfg-* ファイルが更新されていないと仮定すると (構成は ifenslave のみで行われます)、どの eth をどのように理解できますか? デバイスはどのボンドのスレーブですか? デバイス?
sql - 2つの結合による集約(MySQL)
galleryというテーブルが1つあります。ギャラリーの各行について、テーブル画像にはいくつかの行があります。1枚の写真は1つのギャラリーに属しています。次に、テーブル投票があります。各行には、特定のギャラリーの賛成票または反対票があります。(簡略化された)構造は次のとおりです。
ここで、1つのクエリで次の情報を取得したいと思います。独自のデータフィールドを持つすべてのギャラリー、ギャラリーに接続されている写真の数、および投票の合計値。
これが私のクエリですが、複数の結合があるため、集計された値は正しいものではありません。(少なくとも、写真または投票のいずれかの行が複数ある場合。)
正しい数の写真が表示されることに気付いたのでCOUNT( DISTINCT picture_id )
、これを試しました。
この例では機能しますが、1つのクエリにさらに多くの結合がある場合はどうなりますか?
この問題を解決できる「よりエレガントな」方法があるかどうかを知りたいだけです。また、私のソリューションがMySQL固有であるか標準SQLであるかを知りたいですか?
logging - アプリケーション ログの集計、管理、および通知
システムのロギング、ログ管理、およびログ集約に誰もが何を使用しているのか疑問に思っています。
私は、すべてのアプリケーションに .NET を使用し、すべてのシステムが Windows ベースの会社で働いています。現在、各アプリケーションは独自のログ記録と失敗の通知を管理しています (たとえば、アプリ A が失敗した場合、独自の「ヘルプ要請」を管理者に送信します)。
この現在のプラクティスは機能しますが、少しハックで管理が困難です。この作業を改善するためのいくつかのオプションを見つけようとしてきましたが、次のことを思いつきました。
- log4net & Chainsaw (うまくいけば)。
- log4net または別のフレームワークを介して中央データベースにログインし、独自の管理ツールを展開します。
- Windows イベント ログに記録し、MOM または System Center Operations Manager を使用して、これらの各サーバーとそのアプリを集約および管理します。
- すべてのログ ファイルを 1 点にまとめて、それら全体に何らかの魔法をかける手巻きのソリューション。
基本的に私たちが求めているのは、ログ エントリをすべてまとめて分析を実行できるようにすることです。さらに、イベント ベースのシステムのようなものを使用して、たとえば、30 件以上の警告があった場合に警告メールを送信することもできます。過去x
数分間のアプリケーションのレベル ログ。
それで、私が見逃したもの、または他の誰かが提案できるものはありますか?
ruby-on-rails - マーケットプレイスアプリでの詐欺を防ぐ最善の方法は?
私は、家庭教師と学生がお互いを見つけることができるマーケットプレイスのウェブサイトを開発しています。私は、家庭教師が支払いを受けることができるオンライン支払いシステム(elanceやguru.comによく似ています)を構築しています。
カップルの質問:
ナイジェリアなどの特定の国からのIPアドレスをブロックするための最良の方法は何ですか?(私はRuby on Railsを使用しているので、それに固有の推奨事項はさらに優れていますが、そうでない場合でも問題ありません。)
特定のIPをブロックする以外に、他にどのような手法を使用できますか?(私はすでにAVSと通常のゲートウェイチェックを行っています)。
どのような一般的な詐欺をチェックする必要がありますか?
たとえば、私が考えることができるのは、システムを使用して自分で支払いをし、その資金を支払い(手数料を差し引いたもの)として受け取り、クレジットカードでチャージバックを行う人です。
これらは、PaypalやGoogle Checkoutなどのサイト(これらの集約サイトと呼ばれることもあります)が直面する問題に似ていると思います。これは、元の資金源が失われた場合、大きな損失になります(多くの場合、通常の高マージン製品とは異なり、利益が発生します)。
いくつかの追加のメモ:
- 私のユーザーアカウントはすでに電子メールの検証を必要としています-これは最低限です、私はこれを超える何かを探しています
- 直接預金には3〜5日間の待機期間がありますが、これは銀行が義務付けていますが、それでも3〜5日間に不正かどうかを判断する方法についての質問には答えないため、キャンセルできます。
- サインアップに課金したり、引き出しが要求されるまでアカウントに資金を残してもらうなど、良い人と悪い人を罰する解決策は避けたいと思います(Paypalなど)
com - COM アグリゲーションはほとんどのオブジェクトでサポートされていませんか?
COM アグリゲーションの内部オブジェクトとして使用できるオブジェクトを実装するのは比較的簡単であると、COM に関する多くの書籍などで指摘されていることに気付きました。ただし、何かが欠けていない限り、集計は非常に限られたシナリオでしか成功しないように思われるため、そのようなシナリオが具体的に認識された場合にのみサポートを提供する必要があります。
気になる部分は以下の通り。COM 集約は、内部オブジェクトの ID を外部オブジェクトの ID と結合します。外部オブジェクトの実装者は、内部オブジェクトのインターフェースのサブセットを選択し、それらのインターフェースに対する要求を内部オブジェクトに転送します。内側のオブジェクトは、インターフェイスに対するすべての要求を外側のオブジェクトに転送します。ここで、内部オブジェクトが実装の一部として、子 COM オブジェクトを構築するとします。おそらく、インターフェイス ポインターがその COM オブジェクトに渡され、その親と通信できるようになります。内側のオブジェクトには、実装するインターフェイスのアイデアがいくつかあります。ただし、外部オブジェクトは、これらのインターフェイスの一部を転送しないことを選択した可能性があります。実際、ドキュメントには、外側のオブジェクトがインターフェイスを盲目的に転送すべきではないと記載されています。これは、外部オブジェクトがすべてのインターフェイスを内部オブジェクトに転送することが特に必要でない限り、内部オブジェクトが他の COM オブジェクトへのインターフェイス ポインターを渡すことができないことが多いことを意味しているようです。これは、子オブジェクトのシナリオに限定されません。実際、内部オブジェクトの実装がインターフェイス ポインターを渡す場所はすべて、影響を受ける可能性があるように見えます。
したがって、集約は一般的な目的ではないように見えます。これは、内部オブジェクトが他の COM オブジェクトと通信する必要がある場合、どのインターフェイスを最小限転送する必要があり、それ以上のインターフェイスを追加できないかについて、外部オブジェクトに厳密な要件を課すためです。これらのインターフェイスを転送しない既存の外部オブジェクトとの互換性を損なうことなく、内部オブジェクトの将来のバージョンでこのリストを使用します。
これは物事が実際にどうあるべきかについての正しい (そしてめったに文書化されていない) 説明ですか、それとも話にはもっとありますか?
oop - 集約オブジェクト
クラスBとCの集合体であるクラスAがある場合、Aの方が良いですか
- BとCのIDを保存する
- BとCのオブジェクト全体をロードして保存します(編集、オブジェクトB / Cを参照して保存します。つまり、BとCのIDを保存するのではなく、オブジェクトBとCをインスタンス化します。
- IDを保存し、メソッドBとCをプルするメソッドを提供します
これはパフォーマンス要件やその他の要件によって異なると思いますが、一般的なガイドラインや考えを探しています。