问题标签 [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.
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 中,在服务器代码中,我看不到区分未提供和空值的明显方法。由于这并不明显,我希望这不是一个可接受的模式。
c++ - 影响数字比较的双粒度c ++
下面是一个测试代码块,它应该在容差范围内确定 2 个双精度值的等效性。
然而 is_match_2 结果为假,而 is_match_1 为真。我了解存储在计算机中的数字是离散值而不是连续的。有人可以分享解决方案吗?我宁愿在合理的范围内通过测试。有没有办法将 double 的值增加 1 以使其当前具有的任何精度(我不熟悉 double 的位布局)?因为我可能只是增加容差值来解决这个粒度问题。
编辑:
当这真正实现时,用户将定义输入和公差,所以我只是试图为他们输入的任何值提供预期的输出。
c# - 使用 .Net Membership / Roles 支持自定义授权/访问规则
我正在编写一个支持可定制的用户和角色的应用程序。通过可定制,我的意思是将提供一个管理表单,允许添加用户、创建角色、将用户分配给角色,以及最重要的是能够将授权规则与角色相关联。查看角色时,系统会向管理员显示一系列复选框,例如,允许他们根据自己的判断为程序功能区域授权角色。我需要能够在应用程序中编写代码,例如:
其中IsAuthorizedTo
将查看当前用户的角色并确定其中是否有任何人具有必要的授权。
我查看了 API 文档,只找到了 web.config 授权部分,这不是最佳的。我猜我可能不得不自己动手,但我想我首先要问:
是否有使用 .net 会员/角色 api 或其他建议系统(.net 会员 api 除外)的现有方法来允许基于角色和访问规则的细粒度授权?
parallel-processing - 如何确定计算与通信的比率
给定一个并行程序和一个定义明确的硬件,如何确定其计算与通信比率(CCR)。这是为了确定程序的粒度和后续分析。文献描述了这个术语并使用它来与程序的粒度相关,但我还没有找到任何东西来估计 CCR 是高还是低。
integer - gnuplot:只有轴 x 上的整数值
如何在轴 x 上仅可视化整数值?
我绘制这样的文件中描述的函数
使用这些命令:
问题是,通过这样做,我在轴 x 上可视化值 0;0.5; 1个;1.5; 2;2.5;3;3.5;4 如何仅可视化整数值 0;1个;2;3;4?
谢谢
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对不起,我在这个问题上犯了任何错误,这是我的第一个问题
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 的具体内容,印象非常深刻。
我将把它合并到我的数据抓取代码中,但我首先有一些问题:
猴子修补所有东西对我来说安全吗?考虑到我有烧瓶、SQLAlchemy 和一堆其他库,猴子修补有什么缺点(假设没有后期绑定)?
我应该将任务划分为什么粒度?我正在考虑创建一个定期生成处理器的池。然后,一旦处理器到达它调用 API 包装器的部分,API 包装器将启动一个 GreenPile 以使用 eventlet.green.urllib2 获取实际的 HTTP 数据。这是一个好方法吗?
- 超时 - 我想确保没有绿线挂起。将每个 greenthread 的 eventlet.Timeout 设置为 10-15 秒是一个好方法吗?
仅供参考,我有大约 10 组不同的实时数据,并且每 5-10 秒产生一个处理器。
谢谢!
oop - OOP中粒度的含义
我正在阅读此页面上flyweight design pattern
的内容。
在编程语言或设计模式的上下文中,我无法理解“粒度”的含义。
谁能解释一下,一个例子会很棒。
sql-server - SQL Server 中的默认锁定粒度是多少?
我已经彻底阅读了有关表提示的 MSDN,但我似乎没有找到默认的锁定粒度。假设我有以下查询:
你看,我指定了UPDLOCK
和READPAST
提示,但没有指定任何粒度提示,例如TABLOCK
or ROWLOCK
。
默认使用哪个粒度锁定级别?
memory - 双字节内存访问粒度
我正在尝试学习内存对齐,诚然没有太大的成功。我正在使用这个文章。
有人可以向我解释一下这段摘录在双字节内存访问粒度部分的含义:
但是,请注意从地址 1 读取时会发生什么。因为地址不是均匀地落在处理器的内存访问边界上,所以处理器有额外的工作要做。这样的地址称为未对齐地址。由于地址 1 未对齐,因此具有两字节粒度的处理器必须执行额外的内存访问,从而减慢操作速度。
为什么要按顺序进行另一个内存访问?内存访问边界是什么意思,甚至在内存访问边界上?
我对 CPU 的了解非常有限,因为我只熟悉高级编程(Objective-C 和 C++)。任何帮助是极大的赞赏!
谢谢!