问题标签 [granularity]

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 投票
3 回答
88 浏览

soa - SOA 更新请求粒度和空值

我们正在努力成为 SOA 企业……

给定更新成员详细信息的三个选项,我们如何设计合同?

业务流程非常简单。客户致电(或自己登录)并更新他们的个人详细信息,以便我们获得最新的详细信息。客户雇主还可以提供成员详细信息(这将是批量的 - 一次可能是 1000 个)。这样我们就可以在未来与他们正确沟通。我们有多个后端系统。

详情如下:

  • 电话号码,
  • 地址,
  • 电子邮件,
  • 姓名或公司名称,
  • 联系人,
  • 税号,
  • 婚姻状况
  • 吸烟者身份

就目前而言,业务规则是: 如果已经提供了有效的税号,则不能再次提供。(可以覆盖)如果存在有效的地址详细信息,雇主无法更新它们,只能在第一次提供。

选项 1: 一项操作,Member.UpdateDetails

  • 只需创建和管理一项服务。
  • 如果业务规则增长,这项服务的凝聚力可能会降低。
  • 有必须区分指定应该删除的东西和保持原样的问题。
  • 单一工作单元,单一事务。

选项2: 分解为四个操作:Member.UpdateContactDetails;Member.ProvideTaxFileNumber; 成员.UpdateName; Member.UpdateDemographics

  • 潜在地简化了单个操作 - 将复杂性分散到四个操作中。
  • 仍然存在必须区分指定应删除某些内容与保持原样的问题。例如,如果我只想指定吸烟者身份而不指定婚姻状况怎么办。
  • 需要一些深入的分析来弄清楚如何正确地对它们进行分组——凝聚力取决于业务流程。
  • 编写和维护更多服务。
  • 事务成为一个问题 - 调用者处理多个事务?

选项3: 分解成更小的仍然:Member.UpdateAddress;Member.UpdateBusinessDetails; Member.UpdateContactNumbers; Member.UpdateContactPerson;Member.UpdateEmailAddress; Member.UpdateMailingAddress; Member.UpdatePhysicalAddress; 等等

  • 消除了必须区分指定应删除的内容与保持原样的问题。
  • 业务规则可以在任何操作中轻松演变。
  • 需要编写和维护的大量服务。
  • 事务成为一个问题 - 调用者处理了许多事务?
  • 开始看起来像属性设置器/CRUD - 显然不行。

在选项一或二中,假设呼叫者只想更新家庭电子邮件地址 - 我不能指望客户完成整个消息 -客户是否将所有其他标签都排除在外? 处理这个问题的公认的、明显的、直观的模式是什么?

如果这确实是模式,那么客户端如何清除该字段或将其设置为 null? 在.NET 中,在服务器代码中,我看不到区分未提供和空值的明显方法。由于这并不明显,我希望这不是一个可接受的模式。

0 投票
4 回答
412 浏览

c++ - 影响数字比较的双粒度c ++

下面是一个测试代码块,它应该在容差范围内确定 2 个双精度值的等效性。

然而 is_match_2 结果为假,而 is_match_1 为真。我了解存储在计算机中的数字是离散值而不是连续的。有人可以分享解决方案吗?我宁愿在合理的范围内通过测试。有没有办法将 double 的值增加 1 以使其当前具有的任何精度(我不熟悉 double 的位布局)?因为我可能只是增加容差值来解决这个粒度问题。

编辑:

当这真正实现时,用户将定义输入和公差,所以我只是试图为他们输入的任何值提供预期的输出。

0 投票
2 回答
771 浏览

c# - 使用 .Net Membership / Roles 支持自定义授权/访问规则

我正在编写一个支持可定制的用户和角色的应用程序。通过可定制,我的意思是将提供一个管理表单,允许添加用户、创建角色、将用户分配给角色,以及最重要的是能够将授权规则与角色相关联。查看角色时,系统会向管理员显示一系列复选框,例如,允许他们根据自己的判断为程序功能区域授权角色。我需要能够在应用程序中编写代码,例如:

其中IsAuthorizedTo将查看当前用户的角色并确定其中是否有任何人具有必要的授权。

我查看了 API 文档,只找到了 web.config 授权部分,这不是最佳的。我猜我可能不得不自己动手,但我想我首先要问:

是否有使用 .net 会员/角色 api 或其他建议系统(.net 会员 api 除外)的现有方法来允许基于角色和访问规则的细粒度授权?

0 投票
1 回答
2466 浏览

parallel-processing - 如何确定计算与通信的比率

给定一个并行程序和一个定义明确的硬件,如何确定其计算与通信比率(CCR)。这是为了确定程序的粒度和后续分析。文献描述了这个术语并使用它来与程序的粒度相关,但我还没有找到任何东西来估计 CCR 是高还是低。

0 投票
1 回答
8497 浏览

integer - gnuplot:只有轴 x 上的整数值

如何在轴 x 上仅可视化整数值?

我绘制这样的文件中描述的函数

使用这些命令:

问题是,通过这样做,我在轴 x 上可视化值 0;0.5; 1个;1.5; 2;2.5;3;3.5;4 如何仅可视化整数值 0;1个;2;3;4?

谢谢

0 投票
2 回答
199 浏览

java - 保留粒度的Java函数

我需要在一个模糊的工作中保持粒度,所以我制作了一个作为参数接收的函数:

  • 粒度(0 和 1 之间的双精度数,不包括 0)
  • 如有必要,要转换的值(大于 0 的两倍)

并返回具有正确粒度的新值。

这是我的功能:

例子:

  • preserveGranularity(0.25, 7.7) 应该返回 7.75
  • preserveGranularity(0.01, 0.009) 应该返回 0.01

它适用于大多数值,但不适用于所有值(例如:preserveGranularity(0.2, 0.57)=0.6000000000000001,它应该返回 0.6)

问候

PS对不起,我在这个问题上犯了任何错误,这是我的第一个问题

0 投票
2 回答
1736 浏览

python - Eventlet/通用异步 I/O 任务粒度

我正在开发一个 Web 后端/API 提供程序,它从 3rd 方 Web API 获取实时数据,将其放入 MySQL 数据库并通过 HTTP/JSON API 使其可用。

我正在为 API 提供烧瓶并使用 SQLAlchemy Core 处理数据库。

对于实时数据抓取部分,我有通过发送请求、将返回的 xml 解析为 Python dict 并返回它来包装 3rd 方 API 的函数。我们将调用这些 API 包装器。

然后我在其他方法中调用这些函数,这些方法获取相应的数据,根据需要进行任何处理(如时区转换等)并将其放入数据库中。我们将调用这些处理器。

我一直在阅读有关异步 I/O 和 eventlet 的具体内容,印象非常深刻。

我将把它合并到我的数据抓取代码中,但我首先有一些问题:

  1. 猴子修补所有东西对我来说安全吗?考虑到我有烧瓶、SQLAlchemy 和一堆其他库,猴子修补有什么缺点(假设没有后期绑定)?

  2. 我应该将任务划分为什么粒度?我正在考虑创建一个定期生成处理器的池。然后,一旦处理器到达它调用 API 包装器的部分,API 包装器将启动一个 GreenPile 以使用 eventlet.green.urllib2 获取实际的 HTTP 数据。这是一个好方法吗?

  3. 超时 - 我想确保没有绿线挂起。将每个 greenthread 的 eventlet.Timeout 设置为 10-15 秒是一个好方法吗?

仅供参考,我有大约 10 组不同的实时数据,并且每 5-10 秒产生一个处理器。

谢谢!

0 投票
1 回答
4654 浏览

oop - OOP中粒度的含义

我正在阅读页面上flyweight design pattern的内容。 在编程语言或设计模式的上下文中,我无法理解“粒度”的含义。

谁能解释一下,一个例子会很棒。

0 投票
1 回答
6005 浏览

sql-server - SQL Server 中的默认锁定粒度是多少?

我已经彻底阅读了有关表提示的 MSDN,但我似乎没有找到默认的锁定粒度。假设我有以下查询:

你看,我指定了UPDLOCKREADPAST提示,但没有指定任何粒度提示,例如TABLOCKor ROWLOCK

默认使用哪个粒度锁定级别?

0 投票
1 回答
1979 浏览

memory - 双字节内存访问粒度

我正在尝试学习内存对齐,诚然没有太大的成功。我正在使用这个文章。

有人可以向我解释一下这段摘录在双字节内存访问粒度部分的含义:

但是,请注意从地址 1 读取时会发生什么。因为地址不是均匀地落在处理器的内存访问边界上,所以处理器有额外的工作要做。这样的地址称为未对齐地址。由于地址 1 未对齐,因此具有两字节粒度的处理器必须执行额外的内存访问,从而减慢操作速度。

为什么要按顺序进行另一个内存访问?内存访问边界是什么意思,甚至在内存访问边界上?

我对 CPU 的了解非常有限,因为我只熟悉高级编程(Objective-C 和 C++)。任何帮助是极大的赞赏!

谢谢!