问题标签 [conceptual]

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 投票
13 回答
135474 浏览

c++ - 后增量和前增量概念?

我不明白后缀和前缀递增或递减的概念。谁能给出更好的解释?

0 投票
1 回答
293 浏览

.net - ADO.NET LINQ 和 Entity-Framework 之间有什么关系?

我只是在寻找一种对这些技术进行划分和内部化的好方法。

0 投票
4 回答
2219 浏览

concurrency - 关于(类似工具)LoadRunner 的概念问题

我正在使用 LoadRunner 对 J2EE 应用程序进行压力测试。

我有:1 个 MySQL DB 服务器和 1 个 JBoss App 服务器。每个都是 16 核 (1.8GHz) / 8GB RAM 盒。

连接池:数据库服务器正在使用max_connections = 100. my.cnfApp Server 也在使用min-pool-sizeand max-pool-size= 100 in mysql-ds.xmland mysql-ro-ds.xml

我正在模拟来自“常规”单核 PC 的 100 个虚拟用户的负载。这是一个 1.8GHz / 1GB 内存盒。

该应用程序在 100 Mbps 以太网 LAN 上部署和使用。

我在我的压力测试脚本的部分中使用集合点来模拟现实世界的并行(而不是并发)使用。

问题:

这台产生负载的 PC 上的 CPU 利用率永远不会达到 100%,而且我相信内存也是可用的。因此,我可以尝试在这台 PC 上添加更多虚拟用户。但在此之前,我想了解一两个关于并发/并行性和硬件的基础知识:

  1. 只有一个单核负载生成器,我真的可以模拟 100 个用户的并行负载(每个用户在现实生活中使用专用 PC 操作)吗?我可能不正确的理解是,单核 PC 上的 100 个线程将同时运行(即交错)但不是并行运行......这意味着,我无法真正模拟 100 个并行用户的实际负载(在 100 台 PC 上) ) 只需一台单核 PC!那是对的吗?

  2. 用户并行性的网络带宽限制:即使假设我有一台 100 核负载生成 PC(或者,假设我的 LAN 上有 100 台单核 PC),以太网的工作方式也不会只允许并发和不是用户在将负载生成 PC 连接到服务器的以太网线上的并行性。事实上,这个问题(缺乏用户并行性)似乎即使在实际应用程序使用(每个用户 1 台 PC)中也会持续存在,因为用户请求到达多核机器上的应用程序服务器只能交错到达. 也就是说,多核服务器唯一可以并行处理用户请求的情况是每个用户在它和服务器之间都有自己的专用物理层连接!

  3. 假设无法实现并行性(由于上述“问题”)并且只有称为并发的下一个最好的事情是可能的,我将如何选择硬件和网络规范来使用我的模拟。例如,(a) 我的负载生成 PC 应该有多强大?(b) 每台 PC 需要创建多少虚拟用户?(c) LAN 上的每台 PC 是否必须通过交换机连接到服务器(以避免)如果使用集线器而不是交换机会发生广播流量?

提前致谢,

/HS

0 投票
1 回答
109 浏览

c# - 为什么 Visual Tree 中有 2 个 ListBoxItem?

我只显示 ListBox 的选定元素(是的,我知道)......而且我试图理解为什么如果我有一个 ListBox.ItemTemplate 和一个 ListBoxItem 的单个子项,我必须遍历 2 个 ListBoxItems 才能访问该元素命名为“thisListBoxItem”?似乎应该只有一个视觉 ListBoxItem 元素。

我的 XAML

//首先我将 SelectedItem 转换为 ListBoxItem (myListBoxItem) // 然后我必须通过 FindName 属性下降到较低的 ListBoxItem..

0 投票
2 回答
51 浏览

wpf - 设置 ItemsSource 时保留状态

我有一个机构类型 {Police, Fire, Emergency} 的 ListBox (ListBox1)

当用户选择一个代理类型时,另一个 ListBox (ListBox2) 通过设置项目源来填充 (Name, CheckBox)。

问题是如果我选择 Police,然后选中 CheckBox,然后选择 Fire,然后再次选择 Police,则 CheckBox 状态将丢失。我知道 CheckBox 状态丢失了,因为我正在重置 ItemsSource,但我想知道解决这个问题的正确方法是什么。

0 投票
3 回答
6560 浏览

c# - 为什么我们需要 ContinueWith 方法?

为什么我们需要Task.ContinueWith()方法。我们不能只在任务主体中编写那个“延续代码”吗?

0 投票
5 回答
20959 浏览

c# - 为什么 TaskScheduler.Current 是默认的 TaskScheduler?

Task Parallel Library 很棒,在过去的几个月里我经常使用它。但是,有一些事情真的让我很困扰:这TaskScheduler.Current是默认任务调度程序,而不是TaskScheduler.Default. 乍一看,这在文档或示例中绝对不明显。

Current可能会导致细微的错误,因为它的行为会根据您是否在另一个任务中而改变。哪个不容易确定。

假设我正在编写一个异步方法库,使用基于事件的标准异步模式在原始同步上下文上发出信号完成信号,就像 XxxAsync 方法在 .NET Framework 中所做的一样(例如DownloadFileAsync)。我决定使用任务并行库来实现,因为用下面的代码很容易实现这个行为:

到目前为止,一切正常。现在,让我们在 WPF 或 WinForms 应用程序中单击按钮时调用此库:

Task在这里,编写库调用的人选择在操作完成时开始新的调用。没有什么不寻常的。他或她遵循网络上随处可见的示例,并且Task.Factory.StartNew无需指定即可简单地使用TaskScheduler(并且在第二个参数处指定它并不容易重载)。该DoSomethingElse方法在单独调用时工作正常,但一旦被事件调用,UI 就会冻结,因为TaskFactory.Current将重用我的库延续中的同步上下文任务调度程序。

找出这可能需要一些时间,特别是如果第二个任务调用被埋在一些复杂的调用堆栈中。当然,一旦你知道一切是如何工作的,这里的修复很简单:总是TaskScheduler.Default为你期望在线程池上运行的任何操作指定。但是,也许第二个任务是由另一个外部库启动的,不知道这种行为并且StartNew在没有特定调度程序的情况下天真地使用。我预计这种情况会很普遍。

在把我的脑袋绕过去之后,我无法理解编写 TPL 的团队选择使用TaskScheduler.Current而不是TaskScheduler.Default作为默认值:

  • 一点都不明显,Default不是默认的!而且文档严重缺乏。
  • 真正使用的任务调度器Current依赖于调用栈!这种行为很难保持不变量。
  • 指定任务调度程序很麻烦,StartNew因为您必须首先指定任务创建选项和取消令牌,导致行长、可读性差。这可以通过编写扩展方法或创建TaskFactory使用Default.
  • 捕获调用堆栈会带来额外的性能成本。
  • 当我真的希望一个任务依赖于另一个正在运行的父任务时,我更愿意明确指定它以简化代码阅读,而不是依赖调用堆栈魔术。

我知道这个问题听起来可能很主观,但我找不到一个好的客观论据来解释为什么这种行为会如此。我确定我在这里遗漏了一些东西:这就是我转向你的原因。

0 投票
2 回答
605 浏览

jquery - 代码点火器。使用 jquery 自动检查用户名。概念混淆

我最近开始使用 CodeIgniter,我可以看到它的好处。

然而,我似乎遇到了一些让我感到困惑的概念问题。

对于某些事情,CodeIgniter 让相对简单的事情变得异常困难。

以注册表为例,在输入用户名时,它会检查其可用性,并自动通知您。

我的方法如下。

具有“注册”功能的控制器“帐户”加载包含 jquery 的视图“register_form”和我的自定义 javascript。

我的自定义 javascript 将输入的用户名传递给“帐户”控制器中名为“username_check”的函数,该函数将值传递给模型“user_model”中的函数“username_check”,该函数返回具有该用户名的行数,然后传递到根据计数输出“已采取”或“可用”的视图。然后这个响应视图被 javascript 放入一个 div 中。

现在......我很难把它写下来......它只是让我感到困惑,从概念上讲,每次我想添加一些东西只是为了找到我应该添加它的东西时,我需要大约 10 分钟......

有人可以告诉我我错过了重点,并告诉我如何正确实现此功能..

谢谢

0 投票
2 回答
886 浏览

cpu - 如果 CPU 一直忙于 80%,是否意味着它的响应性降低了 80%?

如果我在 80% 的时间(即 CPU 使用率,而不是平均负载)的 CPU 中运行应用程序,应用程序的响应速度会降低 80% 吗?

0 投票
1 回答
89 浏览

mysql - mysql 数据库概念 - 如何避免在全局/本地设置中重复注册

一个概念问题:

  • 我有一个全球系统,销售代理使用该系统为客户编写订单
  • 代理可以在本地注册客户端(在他们自己的系统实例中)
  • 客户可以在全球范围内注册自己
  • 代理可以根据客户端 ID邮政编码访问客户端

条件:
系统中不能有重复的客户端。

因此,我需要在注册期间检查客户是否已经存在。

我只能检查zipcode,因为client-ID是基于实例的标识符(客户端可能在实例 A 中具有 ID-123,在实例 B 中具有 ID-456)。

问题:
有没有办法向注册的人显示具有完全匹配邮政编码的现有客户,因为我真的不想显示如下内容:

给任何试图注册的人。

我无法修改系统的全局/本地结构,但如果有帮助,我可以添加元素或标识符。

我希望这是足够的信息来提供一些意见。如果您需要更多,请告诉我。

谢谢!