问题标签 [concept]
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.
programming-languages - 是否有必要在每个 if 条件中写 else 部分?
我问的问题可能已经结束,但我只想知道是否有必要在每个 if 条件中编写 else 部分。我的一位高级程序员对我说“你应该在每个 if 条件中写 else 部分”。假设我们没有在 else 部分写的条件,那我们该怎么办?我认为这里将进行健康的讨论....
perl - 关于在 Perl 中使用函数数组
我们正在尝试构建一个 API 来自动支持 commit() 和 rollback(),这样我们就不必再为它烦恼了。通过研究,我们发现使用eval {}
是要走的路。
为了eval {}
知道该怎么做,我想给 API 一个函数数组,它可以用 a 来执行,foreach
而无需 API 解释任何东西。但是,此函数可能位于不同的包中。
让我用一个例子来澄清:
问题是:即使 ourAPI@functions
没有. 如果不是,是否可以使用数组引用而不是数组,因为指针将指向内存中的已知函数?OSA::ourAPI
use OSA::SQL
注意:这是我们想要基于更复杂的最终版本的基本思想。
javascript - 删除不需要的 jQuery 函数
直升机,
像 jQuery 这样的库是完全加载的,并带有许多我们可能不会在脚本中使用的函数。我想知道是否有办法说阅读我的脚本找出我正在使用的所有 jQuery 函数及其依赖项,然后从 jQuery 库中删除剩余的函数。这几乎可以应用于任何库,并不是真正的 jQuery 特定问题。
请让我知道您对如何实现这一目标的想法。我知道如果说我在代码中添加了一个新函数并且该函数在 jQuery 中不存在,以后可能会很头疼。但我愿意冒这个风险。
language-agnostic - 委托 vs 聚合 vs 协商
这些术语有什么区别,你能举个小例子吗?
encapsulation - 封装和抽象 OOPs 概念
封装是信息隐藏还是导致信息隐藏?
正如我们所说,封装将数据和函数绑定在一个实体中,因此它为我们提供了对数据流的控制,我们只能通过一些定义明确的函数来访问实体的数据。因此,当我们说封装导致抽象或信息隐藏时,这意味着它让我们知道要隐藏哪些数据以及向用户显示哪些数据......因为用户无法访问的数据可以对他们隐藏,因此封装提供了我们一种技术来找出要隐藏哪些数据以及应该看到哪些数据......这个概念是否正确?
信息隐藏和抽象有什么区别?
.net - 定时器效率
我计划开发一个系统,其中包含数以万计的对象,每个对象将有多达 42 个(但更可能减少大约 4 或 5 个)单独的操作,它们可能会定期执行。我还计划编写代码来停用计时器,直到对象开始使用。空闲时,每个对象只需要 1 个计时器,但当处于活动状态时,其他计时器将立即启动。起初,对象的数量很少,可能只有几百个,但我预计它会成倍增长,并在几个月内开始达到数万个。
所以,我非常担心我将为计时器和这些对象编写的代码的效率。我可以在三个级别上编写此应用程序,所有这些级别都将成功执行所需的任务。另外,我计划在四核服务器上运行这个系统,所以我想尽可能使用多线程。
为此,我决定使用 System.Timers.Timer 类,它为每个 elapse 事件触发一个新线程。
这些是我正在考虑的 3 个级别:
一个计时器操作整个应用程序,它遍历每个对象,检查是否需要触发任何其他操作,如果需要,则运行它们,然后继续执行下一个操作。
多层计时器,其中每个对象都有一个主计时器,它检查对象可能需要执行的所有功能,运行任何准备好的功能,然后将下一个计时器间隔设置为下一个所需的操作时间。
递归层计时器,其中每个对象中的每个操作都有自己的计时器,该计时器将被触发,然后设置为在下次可用时运行。
选项 1 的问题在于,对于如此多的对象和动作,以这种方式经过的一个单一计时器可能会运行 20 多秒(同时它执行了几百万行循环代码),这可能应该每 1 秒滴答一次. 如果对象不保持同步,则系统可能无法正常工作。
选项 2 的问题在于,它比选项 3 更难编写,但不会差很多,这也意味着系统上可能运行 10,000 多个计时器(每个对象一个),每个都创建和销毁线程像没有人的事一样过去(我不确定这是否是一个问题)。在这种情况下,每个计时器必须每秒至少触发一次,可能运行几百行代码(在极端情况下可能多达一千行)。
选项 3 的问题在于可能会引入系统中的计时器数量之多。我说的是平均 10,000 多个计时器,可能同时运行近 100,000 多个计时器。但是,每个 elapse 事件可能只需要运行 50 行或更少的代码,这使得它们非常短。经过事件的延迟在一个极端的百分之一秒和另一个极端的五分钟之间,平均可能在 1 秒左右。
我精通 Visual Basic .NET,并打算用它来编写它,但我也可以回到我的高中时代并尝试用 C++ 编写它以提高效率,如果它会产生很大的不同(请让我知道你是否有任何关于语言之间代码效率的资料)。还玩弄在集群 Linux 服务器而不是我的四核 Windows 服务器上运行它的概念,但我不确定我是否可以让我的任何 .NET 应用程序在这样的 linux 集群上运行(希望有任何信息也是如此)。
这个主题要回答的主要问题是:
我使用选项 1、2 还是 3,为什么?
〜考虑评论后编辑〜
所以第四个选项涉及带有自旋锁的计时器轮。这是一个工作类:
然后是主循环实现:
我说得对吗?
~编辑2~
将“任务”这个词换成了“工作”,这样人们就可以停止抱怨它了;)
~编辑3~
添加了用于跟踪时间的变量并确保在需要时发生自旋循环
device - 测量振动的设备 - 检索数据?
嘿伙计们,我正在研究大学的概念。我想知道测量房间内某些振动的最简单和最好的方法是什么。想象一个满屋子跳舞的人。有没有什么便宜的设备可以放在地板上,将数据发送到我的电脑,这样我就可以读出振动值或将振动用作数据?
感谢您的帮助
java - 可逆循环
我一直在尝试我正在尝试制作的游戏。我发现我有两种相同的方法,除了 for 循环,它只是前者的相反。
我试图做到这一点,这样我就可以向前或向后使用相同的代码。我最终得到:
A) B) 我想和大家分享这个概念。
B)我很好奇这种循环的效率。我知道它在访问时计算目标数和增量因子,但我不知道如何测试它。
C)当我在它的时候,我发现了一行可以交换两个变量而不使用临时变量。阅读需要一点时间,但这是否比使用 temp 更好(代码方面)?(下面主要的第三行)
我已经对其功能进行了测试,它按预期运行。如果第二个数字大于第一个数字,则向上计数。如果没有,它会倒计时。我的测试代码是:
根据评论,这是否可以接受:
progress - 我们如何估计程序完成所需的时间并将其反映到进度条上?
这不是特定于编程语言的。
我只需要了解如何估计完成流程所需的时间?例如解压缩文件或刻录 CD ?提高该计算精度的因素是什么?
当然,任何编程语言中的一些示例都会有所帮助。
c# - 需要有关基于 Windows 的聊天应用程序的概念
假设如果我想开发一个 Windows 聊天应用程序,那么还需要开发一个聊天服务器和客户端。开发聊天服务器应用程序后,我们可以在一台机器上运行该应用程序,而聊天客户端将运行另一台电脑。如果这些电脑不在同一个网络中,假设聊天服务器在美国机器上运行,一个聊天客户端在德国机器上运行,另一个在英国机器上运行。在这种情况下,如何使用互联网进行通信。所有机器都可以访问互联网,因此一个聊天客户端将如何登录聊天服务器以及两个聊天客户端将如何相互通信。我只想了解数据如何通过聊天服务器从一个客户端传输到另一个客户端。请给我一个概念,或者如果有人给我一个基于.net的聊天应用程序的参考会更好,其中聊天服务器和聊天客户端将在那里......谢谢。