問題タブ [theory]
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.
theory - ソフトウェア工学の理論
私のキャリアの中で、物理理論と教育/管理理論という 2 つの広いタイプの理論に出くわしました。
物理的な理論は、物理的な世界によって判断されるように、(適切な条件下で) 正しいか正しくないかのいずれかです。
教育/経営理論は物理理論のように見えますが、厳格なテストが欠けています。せいぜい、問題についての新しい考え方を提供するだけです。複数の理論が役に立ちます。
ソフトウェア エンジニアリングの愛好家の学生として、ソフトウェア エンジニアリングには多くの理論があるようです (アジャイル プログラミング、テスト駆動設計、パターン、エクストリーム プログラミングなど)。これらの理論は物理的なものと考えるべきですか、それとも教育的/管理的なものと考えるべきですか?
それとも、ソフトウェア エンジニアリングを誤解していて、自分が「間違っていない」立場にいることに気付いたのでしょうか。
architecture - コンピュータの種類
最近どこかで、コンピューターの種類に関連するものを読んだことがあります。
読書は、チューリングマシンのような「アーキテクチャ」モデルに適合する Lisp と Emacs に関連していました。
一方、それは C であり、「他の」アーキテクチャ モデルは名前を覚えていない誰かにちなんで名付けられましたが、最も成功したタイプのコンピューターとして名付けられました。 +などなど)。
チューリングマシンでない場合、そのタイプのコンピューターの名前は何ですか (私の知る限り、物理モデルではなく抽象的なモデルです)。
バイト!
theory - NP-完全削減(理論上)
3つのNP完全問題を埋め込みたい(そのうちの2つはNP完全であることがわかっており、1つは私自身の考えです)。私は「この質問」を見て、埋め込みの問題を理論的に再解釈することについて考えました。
- ウェイターは泥棒です。
- テーブルは店です。
- 食品は重量の異なる大切なものです。
- 泥棒は強盗の前にすべてのアイテムの価格と重量を知っています。
- 彼の目標は、最も効率的な強盗(使用されるナップザックの最大容量、最も価値のあるアイテムを入手)であり、すべての店舗を強盗(少なくとも1つのアイテムを入手)します(強盗ツアーを完了するための最短の方法、各店舗を1回訪問します)。
この部分は2つのNP完全問題を埋め込んでいます。
私の考えは、アイテムが多いほどバッグの重量が増えるということです。バッグの重量が増えると、泥棒は指数関数的に遅くなります。したがって、泥棒のもう1つの標的は、できるだけ早く強盗を終わらせることです。
現時点では、私のアイデアが実際にNP完全であるかどうかはわかりません。たぶん、「重力」はNP完全問題だけではありません。しかし、おそらくそれは巡回セールスマン問題とナップサック問題のこの文脈にあります。
だから私の質問は:
泥棒のNP完全問題の減速も完了していますか?
これらの3つの埋め込まれた問題を単純なNP完全問題に減らすことは可能ですか?
opengl - これらのマトリックスモードの違いは何ですか?
GL_PROJECTION and GL_MODELVIEW.
他にもあることは知っていますが、概念的には、それらの違いが何であるかを理解することはできません。モードを設定した後に単位行列をロードする場合、単位行列はモードに基づいてどのように異なりますか?
c++ - スレッド通信理論
スレッド通信の背後にある一般的な理論は何ですか? 私はそれがどのように機能するべきかについていくつかの原始的なアイデアを持っていますが、何かがうまくいきません. 割り込みでそれを行う方法はありますか?
vb.net - OOP - データ アクセス層への呼び出しをどこに置くか?
私はデータ アクセス レイヤー (DAL) を実装しています。これは基本的に、データベース (CRUD) 呼び出しを実際に実行するための (VB.NET) 共有関数を持つ一連のクラスです。クラス階層内で DAL への呼び出しを配置するのに最適な場所を見つけようとしています。例を挙げましょう。
標準の ID、Name、Address1 などのプロパティと、オーバーライドされた ToString 関数などを持つクラス Customer があるとします。次のような Shared メソッドを持つ DAL クラスもあります。
これで、次のようにプレゼンテーション レイヤーから Dal を呼び出すことができます。
ただし、プレゼンテーション層に Dal をまったく認識させるのは良い習慣ではないでしょうか? 代わりに、Customer オブジェクトにメソッドを配置して、このように Dal を呼び出す必要がありますか?
これは「よりクリーンな」OOPでしょうか?または、前の例のようにビジネス オブジェクトを渡して、プレゼンテーションに Dal を呼び出させることは許容される方法ですか。
ご意見をいただきありがとうございます。
.net - null参照例外がnull参照を持つオブジェクトに名前を付けることができないのはなぜですか?
私のデバッグ時間の多くは、複雑なステートメントでnull参照例外を追跡するために費やされているように思われます。例えば:
なぜ、NullReferenceExceptionを取得したときに、スタックトレースの行番号を取得できますが、nullに等しいオブジェクトの名前は取得できません。言い換えれば、なぜ:
それ以外の
また
また
これは厳密に設計上の選択であり、コードの匿名性を保護することを目的としていますか、それともコンパイラの設計にこの情報をデバッグ時の例外に含めないという説得力のある理由がありますか?
vb.net - OOP - マスター リストとオブジェクト構成を持つエンティティのオブジェクト
次のようなビジネス オブジェクトの OOP 設計を適切に実装する方法について頭を悩ませようとしています。
- データベースに「マスターリスト」を持っている(分類など)
- プロパティとして別のオブジェクトの一部 (つまり、オブジェクト構成) ですが、追加のプロパティがあります
ここで私は理論にこだわっています。CRUD 関数が定義された (MustOverride) 抽象クラス BusinessObject から継承する Classification オブジェクトがあるとします。これは私に与えます:
これにより、システム管理者がシステム内の分類のマスター リストを管理できるフォームで分類オブジェクトを使用できるようになります。ここでは問題ありません。
ここで、Customer オブジェクトに Classification 型 (オブジェクト構成) のプロパティを持たせたいのですが、1 つの注意点があります。Classification オブジェクトは、Customer オブジェクトのプロパティになるときに、追加のフィールド Level を必要とします。レベルは、ビジネスに応じた分類の論理的な部分です。分類には、アプリケーション ユーザーが入力した数値レベルがあります。そこで、Classification から継承するクラス CustomerClassification を作成しました。
Customer オブジェクトは CustomerClassification で構成されます。
さて、私の設計上の問題は、Create、Read、Update、および Delete 関数がまだ CustomerClassification オブジェクトで公開されていることです。
ここで他のどのような設計を実装できますか? これを間違った方法で設計していることは明らかですが、簡単な代替パターンは見当たりません。Classification を継承せず、すべてのフィールドとプロパティ コードを繰り返すことによって、CustomerClassification クラスのコードを繰り返したくありませんが、CRUD 関数を CustomerClassification レベルに公開したくありません。クラス全体の設計を見て何が欠けていますか?
編集:データベースはレガシーであり、レベルのフィールドは顧客テーブルで定義されているため、データベースへの分類レベルの保存は顧客オブジェクトによって処理されます。