问题标签 [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.
sql - 这个模棱两可的 UPDATE 语句为什么/如何工作?
假设您正在对一个表运行 UPDATE 语句,但您放入此基表的信息来自其他一些辅助表。通常,您会加入数据并且不希望 UPDATE 语句的 FROM 子句中的行成倍增加,从而保持一个新行映射到基表中的一个旧行。
但是我想知道如果您的 JOIN 表以某种方式模棱两可会发生什么,就像您不能将每个基本实体映射仅考虑到一个连接实体一样。或者,如果您做了一些荒谬的事情,例如将基表连接到其子表的表,并使用该信息更新基表。它会如何选择?现在每个基表行有多个行。
我在 SQL Server 2005 中运行了这样的语句,它似乎选择了每组中的第一行。但这对我来说似乎是错误的。它不应该引发错误吗?为什么这是理想的行为?
示例代码
theory - 软件工程理论
在我的职业生涯中,我遇到了两大类理论:物理理论和教育/管理理论:
根据物理世界的判断,物理理论要么正确(在适当的条件下)要么不正确。
教育/管理理论看起来像物理理论,但它们缺乏严格的测试。充其量,它们提供了思考问题的新方法。多种理论很有用,因为其中一种可能会以正确的方式与您交谈。
作为一名软件工程爱好者,似乎有很多软件工程理论(如敏捷编程、测试驱动设计、模式、极限编程)。我应该认为这些理论是类似于物理的还是类似于教育/管理的?
还是我误解了软件工程并发现自己处于“甚至没有错”的位置?
sql-server-2005 - SQL Server 架构有什么好处?
我不是使用 SQL 数据库的初学者,尤其是 SQL Server。但是,我主要是使用 SQL 2000 的人,并且一直对 2005 年及以后的模式感到困惑。是的,我知道架构的基本定义,但它们在典型的 SQL Server 部署中真正用于什么?
我一直只使用默认模式。为什么我要创建专门的模式?为什么我要分配任何内置模式?
编辑:澄清一下,我想我正在寻找模式的好处。如果您只打算将其用作安全方案,那么似乎数据库角色已经填补了那个.. er.. um.. 角色。并且使用它作为命名空间说明符似乎是您可以通过所有权完成的事情(dbo 与用户等)。
我想我的意思是,Schemas 做了哪些所有者和角色不能做的事情?它们的具体好处是什么?
architecture - 计算机类型
我最近在某处读到了一些与计算机相关的东西。
阅读内容与 Lisp 和 Emacs 相关,它们适合更像图灵机的“架构”模型。
另一方面,它是 C,“其他”架构模型是以我不记得名字的人命名的,但被命名为最成功的计算机类型,因为这是我们现在都使用的(即 cpu + ram + hd +等等等等)。
如果它不是图灵机,那这种计算机的名称是什么(那 afaik 是抽象模型而不是物理模型)
字节!
theory - NP-完全归约(理论上)
我想嵌入 3 个 NP-Complete 问题(其中 2 个已知是 NP-Complete,其中 1 个是我自己的想法)。我看到了“这个问题”,并在理论上重新解释了嵌入问题:
- 服务员就是小偷。
- 桌子是商店。
- 食物是具有不同重量的有价值的物品。
- 小偷在抢劫之前知道所有物品的价格和重量。
- 他的目标是最有效的抢劫(使用的背包的最大容量,获得最有价值的物品)抢劫(至少获得 1 件物品)所有商店(完成抢劫之旅的最短路径,也访问每个商店 1 次)。
这部分是嵌入 2 个 NP-Complete 问题。
我的想法是,更多的物品意味着更多的袋子重量。更大的袋子重量会成倍地减慢小偷的速度。所以小偷的另一个目标应该是尽快完成抢劫。
此时,我不确定我的想法是否真的是 NP-Complete。也许,“重力”不仅仅是一个 NP 完全问题。但也许是在旅行推销员和背包问题的背景下。
所以我的问题是:
小偷NP的减速也完全吗?
是否有可能将这三个嵌入式问题简化为一个简单的 NP 完全问题?
opengl - 这些矩阵模式有什么区别?
GL_PROJECTION and GL_MODELVIEW.
我知道还有其他人,但从概念上讲,我无法弄清楚它们之间的区别是什么。在设置模式后加载单位矩阵时,单位矩阵根据模式有何不同?
c++ - 线程通信理论
线程通信背后的共同理论是什么?我对它应该如何工作有一些原始的想法,但有些东西对我来说并不好。有没有办法通过中断来做到这一点?
vb.net - OOP - 在哪里调用数据访问层?
我正在实现一个数据访问层 (DAL),它基本上是一组具有 (VB.NET) 共享函数的类,用于实际执行数据库 (CRUD) 调用。我试图找出在类层次结构中调用 DAL 的最佳位置。让我举个例子吧。
假设我有一个类 Customer,它只有标准 ID、Name、Address1 等属性,可能还有一个被覆盖的 ToString 函数左右。我还有一个带有共享方法的 DAL 类,例如:
现在,我可以像这样从表示层调用 Dal:
但是,让表示层完全了解 Dal 不是一个好习惯吗?我应该像这样将方法放在客户对象中并调用 Dal 吗?
这会是“更清洁”的 OOP 吗?或者让演示文稿调用 Dal 并像我之前的示例一样传递业务对象是否可以接受:
感谢您的反馈意见。
.net - 为什么空引用异常不能命名具有空引用的对象?
在我看来,我的很多调试时间都花在了追踪复杂语句中的空引用异常上。例如:
为什么,当我得到 NullReferenceException 时,我可以得到堆栈跟踪中的行号,而不是等于 null 的对象的名称。换句话说,为什么:
代替
或者
或者
这是严格的设计选择,旨在保护代码的匿名性,还是编译器设计中有令人信服的理由不将此信息包含在调试时异常中?
vb.net - OOP - 具有主列表和对象组合的实体的对象
我正在努力思考如何为以下业务对象正确实现 OOP 设计:
- 在数据库中有一个“主列表”(例如分类)
- 是作为属性(即对象组合)的另一个对象的一部分,但具有附加属性
这就是我坚持理论的地方。假设我有一个分类对象,它继承自抽象类 BusinessObject 并定义了 CRUD 函数 (MustOverride)。这会给我:
这将允许我在系统管理员可以管理系统中的分类主列表的表单上使用分类对象。这里没有问题。
现在,我希望客户对象具有分类类型(对象组合)的属性,但有一个警告 - 当分类对象成为客户对象的属性时,它需要一个附加字段级别。级别是根据业务分类的逻辑部分 - 分类具有应用程序用户输入的数字级别。所以我创建了一个继承自分类的类 CustomerClassification:
Customer 对象将由 CustomerClassification 组成:
现在,我的设计问题是 Create、Read、Update 和 Delete 函数仍然暴露在 CustomerClassification 对象中:
我可以在这里实现什么样的其他设计?很明显我设计的方式错误,但我没有看到一个简单的替代模式。我不想通过不继承分类并重复所有字段和属性代码来重复 CustomerClassification 类中的代码,但我也不想将 CRUD 函数发布到 CustomerClassification 级别。在查看整体课程设计时我缺少什么?
编辑:将分类级别保存到数据库将由客户对象处理,因为数据库是旧的,并且级别的字段是在客户表中定义的。