问题标签 [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.

0 投票
4 回答
3617 浏览

permissions - 分层组权限理论/资源?

有谁知道一些与建立分层用户帐户系统相关的好资源?我目前正在设置一个,并且正在努力处理一些更复杂的逻辑(尤其是在确定权限方面)。我希望我能找到一些资源来帮助我。

一些背景: 我正在为允许嵌套组层次结构的 Web CMS 构建用户帐户系统。可以允许/拒绝每个组对读取、写入、添加和删除的访问(明确地针对该组,或者由其父组之一隐式地)。好像这还不够复杂,该系统还允许用户成为多个组的成员。——这就是我卡住的地方。我已经完成了所有设置,但我正在为确定给定用户的权限的实际逻辑而苦苦挣扎。

0 投票
14 回答
25510 浏览

c# - 如何以及何时放弃在 C# 中使用数组?

我一直被告知向数组添加元素是这样的:

创建数组 + 1 个元素的空副本,然后将原始数组中的数据复制到其中,然后加载新元素的新数据

如果这是真的,那么由于内存和 CPU 利用率,在需要大量元素活动的场景中使用数组是相反的,对吗?

如果是这种情况,当您要添加大量元素时,您是否应该尽量避免使用数组?您应该改用 iStringMap 吗?如果是这样,如果您需要两个以上的维度并且需要添加大量元素添加,会发生什么情况。您只是受到性能影响还是应该使用其他东西?

0 投票
18 回答
122000 浏览

functional-programming - 什么是 Y 组合器?

Y 组合器是从事物的“功能”方面来看的计算机科学概念。大多数程序员对组合子一无所知,即使他们听说过它们。

  • 什么是 Y 组合器?
  • 组合器如何工作?
  • 它们有什么用?
  • 它们在程序语言中有用吗?
0 投票
25 回答
40655 浏览

algorithm - 八岁的Big-O?

我正在询问更多关于这对我的代码意味着什么。我从数学上理解这些概念,我只是很难理解它们在概念上的含义。例如,如果要对数据结构执行 O(1) 操作,我知道它必须执行的操作数量不会增加,因为有更多项目。O(n) 操作意味着您将对每个元素执行一组操作。有人可以在这里填空吗?

  • 就像 O(n^2) 操作到底会做什么?
  • 如果一个操作是 O(n log(n)),这到底意味着什么?
  • 是否有人必须抽大麻才能写出 O(x!)?
0 投票
6 回答
136720 浏览

computer-science - 什么是“P=NP?”,为什么它是一个如此著名的问题?

P=NP 是否是计算机科学中最著名的问题。这是什么意思?为什么它如此有趣?

哦,为了获得额外的荣誉,请张贴一份声明的真假证明。:)

0 投票
14 回答
4634 浏览

theory - 你在现实生活中应用了计算复杂性理论吗?

我正在学习计算复杂性课程,到目前为止,我的印象是它对开发人员没有太大帮助。

我可能是错的,但如果你以前走这条路,你能否提供一个例子来说明复杂性理论如何帮助你的工作?非常感谢。

0 投票
7 回答
16504 浏览

c# - C# 中的“常量正确性”

const 正确性的重点是能够提供用户无法更改或删除的实例视图。编译器通过指出何时从 const 函数中破坏 const 或尝试使用 const 对象的非 const 函数来支持这一点。因此,在不复制 const 方法的情况下,有没有可以在 C# 中使用的具有相同目的的方法?

我知道不变性,但这并没有真正延续到容器对象的名称中,只是一个例子。

0 投票
8 回答
322 浏览

database - 你如何处理小数据集?

对于非常小的数据集,我工作的策略通常是将它们粘贴到文本文件中,但根据我的经验,这可能是一个令人头疼的开发问题。数据通常来自数据库,如果不是,则设置/存储它所涉及的过程通常隐藏在代码中。使用数据库,您通常可以查看所有可用的数据以及它与其他数据相关的方式。

有时对于非常小的数据集,我只是将它们存储在代码中的内部数据结构中(如 Perl 哈希),但是当需要更改时,它就在开发人员手中。

那么如何处理少量不经常更改的数据呢?您是否设置了何时使用数据库表或文本文件或.. 的标准?

我很想只使用数据库表来处理所有事情,但我不确定这是否有任何影响。

编辑:对于上下文:

我被要求在网站上为少数几家公司添加一个新的联系表,将来还会偶尔添加更多。除了,公司没有联系电子邮件地址。这些公司内部的用户有(因为他们通过自己的帐户发布工作)。不过现在,我们想要一个“推测应用程序”类型的功能,并且表单需要一个电子邮件地址来发送这些应用程序。但我们也不想将电子邮件地址作为属性放入表单中,否则垃圾邮件发送者可以将其用作开放式电子邮件网关。很明显,我们需要一个 ID -> contact_email 类型与公司的关系。

因此,我可以向具有数百万行的表添加一列,从字面上看,该列将被使用大约 20 次,或者创建一个最多容纳大约 20 行的新表。通常我们过去处理这个问题的方式只是创建一个讨厌的文本文件并从那里读取它。但这会造成维护噩梦,并且当它们依赖的数据发生更改时,经常会检查这些文本文件。也许这是这个过程的一个错误,但我只是想听听对此的看法。

0 投票
7 回答
36854 浏览

algorithm - 平衡二叉树 (AVL)

好的,对于周围的 CS 家伙来说,这是另一个理论领域。

在 90 年代,我在实施 BST 方面做得相当好。唯一让我无法理解的是平衡二叉树 (AVL) 的算法的复杂性。

你们能帮我解决这个问题吗?

0 投票
23 回答
5366 浏览

algorithm - 是否可以使用 ping 到伪随机选择的 IP 地址来生成真正的随机数?

提出的问题是在第二年的 Comp Science 讲座中提出的,当时讨论了在确定性计算设备中生成数字的可能性。

这是唯一不依赖于非商品级硬件的建议。

随后,没有人会为了自己的名誉而明确地支持或反对它。

任何人都关心支持或反对的立场。如果是这样,如何提及可能的实现?