问题标签 [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 回答
75858 浏览

theory - 分布式哈希表(DHT)的简单基本解释

任何人都可以解释 DHT 的工作原理吗?

没什么太重的,只是基础。

0 投票
1 回答
279 浏览

computer-science - 声音流中的单词识别技术有哪些?

我对此很好奇。

从广义上讲,如何进行以下操作:

  • 单词分离的检测。
  • 音节检测。
  • 补偿正常的语音单词连接。
0 投票
5 回答
199 浏览

theory - 教学:字段、类和包关系

总的来说,我认为我可以很好地传达大多数与编程相关的概念。
然而,我仍然觉得很难总结字段、类和包之间的关系。


您如何总结“字段”、“类”和“包”以及“它们的关系”?

0 投票
9 回答
2958 浏览

theory - 在大会中学习的关键概念

我坚信从学习一门新语言中获得的最重要的东西之一不是如何使用一门新语言,而是你从中获得的概念知识。我不是在问你认为 Assembly 有多重要或有用,我也不关心我是否从未在我​​的任何实际项目中使用它。

我想知道的是您认为对于任何普通程序员来说最重要的汇编概念是什么?它不必与 Assembly 直接相关——它也可能是您认为将所有时间都花在高级语言上的典型程序员无法理解或认为理所当然的东西,例如 CPU 缓存。

0 投票
7 回答
397 浏览

theory - 根据评分为用户生成“邻居”

我正在寻找为我正在开发的网站上的用户生成“邻居”(具有相似品味的人)的技术;类似于 last.fm 的工作方式。

目前,我有一个可以发挥作用的用户兼容功能。它根据 1) 对相似项目的评分 2) 对项目的相似评分对用户进行排名。该函数的权重为第 2 点,如果我在生成“邻居”时仅使用这些因素之一,这将是最重要的。

我的一个想法是只计算每个用户组合的兼容性,并选择评价最高的用户作为用户的邻居。这样做的缺点是随着用户数量的增加,这个过程可能需要很长时间。对于仅 1000 个用户,它需要 1000C2 (0.5 * 1000 * 999 = = 499 500) 次调用兼容性功能,这对服务器来说也可能非常繁重。

所以我正在寻找关于如何最好地实现这样的系统的任何建议、文章链接等。

0 投票
5 回答
524 浏览

parsing - 计算机科学教科书进行文本/xml/任何解析的方法

它已经在我的脑海里嗡嗡作响了一段时间。

我对 Compilers/Flex/Byson 等进行了一些调查,但我从未找到详细讨论“解析堆栈”或如何实现一个的好参考。

有谁知道我可以赶上的好的参考资料?

编辑:我非常感谢所有编译器参考,我将列出一些书籍,但我的主要关注点是解析本身,而不是你之后用它做什么。

0 投票
21 回答
167862 浏览

recursion - 从递归到迭代的方法

我在多年的编程中使用了很多递归来解决简单的问题,但我完全意识到有时由于内存/速度问题您需要迭代。

因此,在很久以前的某个时候,我去尝试查找是否存在将通用递归方法转换为迭代的任何“模式”或教科书方法,但一无所获。或者至少我记得没有任何帮助。

  • 有一般规则吗?
  • 有“模式”吗?
0 投票
23 回答
4994 浏览

algorithm - 基本编程/算法概念

我即将(与其他程序员)在我的高中开始一个编程和算法俱乐部。选择的语言是 C++ - 抱歉,我无法更改。我们可以假设学生在上述主题方面几乎没有经验。

你认为我应该关注的最基本的概念是什么?

我知道教一些对我来说已经很明显的东西并不是一件容易的事。我意识到应该对第一次会议给予极大的关注——不要吓跑学生——因此我问你。

编辑:我注意到程序员和初学者之间的主要区别可能是“程序员的思维方式”——我的意思是,将问题概念化为算法。我知道这只是练习的问题,但是您知道任何可以刺激该领域发展的练习/概念/事物吗?

0 投票
8 回答
2140 浏览

encoding - 理论:“词汇编码”

我使用术语“词法编码”是因为我没有更好的词法编码。

与字母相反,单词可以说是交流的基本单位。Unicode 尝试为所有已知字母的每个字母分配一个数值。对一种语言来说是字母,对另一种语言来说是字形。目前,Unicode 5.1 为这些 Glyphs 分配了超过 100,000 个值。在现代英语中使用的大约 180,000 个单词中,据说使用大约 2,000 个单词的词汇,您应该能够进行一般性的交谈。“词汇编码”将对每个单词而不是每个字母进行编码,并将它们封装在一个句子中。

在这个例子中,String 中的每个 Token 都被编码为一个 Integer。这里的编码方案只是简单地根据单词使用的广义统​​计排名分配一个int值,并为问号分配一个常数。

最终,一个单词同时具有拼写和含义。任何“词汇编码”都会保留整个句子的含义和意图,而不是特定于语言的。一个英文句子将被编码为“……语言中立的原子意义元素……”,然后可以将其重构为具有结构化句法形式和语法结构的任何语言。

“词法编码”技术的其他例子是什么?


如果您对单词使用统计数据的来源感兴趣:
http ://www.wordcount.org

0 投票
3 回答
253 浏览

model-view-controller - 重构应用程序

如果你必须修复和稳定一个 MVC 应用程序,你会从哪里开始:模型、控制器还是视图?这些问题在整个应用程序中平均分布,糟糕的编程实践使得添加功能变得困难。该应用程序是用 PHP 编写的,如果它有所作为的话。