问题标签 [consistency]
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.
regex - 正则表达式:浏览器之间的差异
我越来越意识到浏览器解释正则表达式的方式肯定存在重大差异。
例如,一位同事编写了这个正则表达式,以验证上传的文件是否具有 PDF 扩展名:
这适用于 Internet Explorer 和 Google Chrome,但不适用于 Firefox。测试总是失败,即使是实际的 PDF。所以我认为额外的东西是无关紧要的,并将其简化为:
现在它在 Firefox 中运行良好,并且继续在 IE 和 Chrome 中运行。
这是 ASP.NET 中的 asp:FileUpload 和 RegularExpressionValidator 控件特有的怪癖,还是仅仅是因为不同的浏览器以不同的方式支持正则表达式?无论哪种方式,您遇到过哪些后者?
python - AppEngine:在创建记录时保持 DataStore 一致性
我遇到了一个小难题!我有一个叫 vote 的处理程序;当它被调用时,它将用户的投票设置为他们选择的任何内容。为了记住他们之前选择的选项,我存储了一个 VoteRecord 选项,其中详细说明了他们当前的投票设置。
当然,他们第一次投票时,我必须创建对象并存储它。但是连续的投票应该只是改变现有 VoteRecord 的值。但问题来了:在某些情况下,可以创建两个 VoteRecords。这种情况很少见(到目前为止,我们在 500 次投票中只发生过一次),但当它发生时仍然很糟糕。
之所以会出现这个问题,是因为两个单独的处理程序基本上都这样做:
我的问题是:在确保没有请求丢失并且没有请求创建两个 VoteRecord 对象的同时,处理这些请求的最有效和最快的方法是什么?
synchronization - 保持测试和生产服务器环境清洁、同步和一致
我工作的公司似乎一直在与客户的服务器环境作斗争。
具体来说,我们几乎总是会遇到测试服务器和生产服务器的问题,而且它们似乎总是配置不同。当我们测试我们开发的应用程序时,测试服务器以一种方式运行,因此我们调整和配置我们的应用程序以适应该特定行为。但是当我们在生产服务器上安装相同的应用程序时,我们会观察到另一种与测试服务器不一致的行为,从而使我们的调整和配置变得毫无用处。最令人沮丧的是,这种情况一直在发生,而且似乎没有人知道该怎么做。
当然,我们对为什么会发生这种情况有一个大致的了解。每个克隆的环境开始时都是一样的,并且在前几天的工作方式相同,但迟早有人只在一个服务器环境中重新配置某些东西(无论是数据库更新、组件库更新、Web 文件更新,或其他配置),从而导致差异。随着时间的推移,越来越多的差异越来越大。但问题是:我们能做些什么呢?
我试过在网上搜索,但找不到任何关于该做什么的好答案。我也试图自己找出一些解决方案,但我的大多数想法似乎在某种程度上存在问题。新的套路,无论多么严格,都可以规避。定期克隆生产服务器以创建测试服务器是一个乏味且通常非常缓慢的过程。自动复制并不总是可靠的,甚至是不可能的。那么我们究竟应该如何解决这个问题呢?我们如何保证测试时的体验与上线时的体验相匹配?
我想其他人也有这个问题。还是他们?也许只是我的特定公司不称职?你们有没有遇到过这个问题?如果是这样,你做了什么?
真挚地,
Linus,瑞典系统开发人员
sql - 数据库一致性检查框架
我正在寻找一个框架来将许多数据库一致性检查规则集成到我们的系统中。这基本上应该是我们数据库检查的自动化测试用例运行器。
要求:
- 易于编写新规则或检查
- 易于运行所有规则,规则子集的分组将是一个奖励
- 在规则执行时或执行后准确和简单地报告规则
我自己要写这样的东西,但我想我会先看看能不能找到别的东西。我用谷歌搜索但找不到任何东西。
一些规则示例:
- 确保在每个具有 [Rank] N 的记录的子表中,N 为 0 或存在 [Rank] N-1 的记录。例如,对于给定的父项,子记录将始终具有从 0 到 MAX(Rank) 的单调递增的秩。
- 我们的数据库使用具有单个 MasterEntity 表的全局“类型/ID”系统,该表是系统中每个实体的头表。每个实体类型属于 1 个或多个特定实体表,每个实体表只允许 1 个或多个特定类型。检查系统中的所有实体是否在其相应的实体表中都有正确的记录。
- 确保所有安全类型在我们的安全描述符表中都有一个条目
cluster-computing - 快速重启技术而不是保持良好状态(可用性和一致性)
您多久通过重新启动计算机、路由器、程序、浏览器来解决问题?或者甚至通过重新安装操作系统或软件组件?
当怀疑软件组件没有以正确的方式保持其状态时,这似乎是一种常见的模式,然后您只需通过重新启动组件来获得初始状态。
我听说 Amazon/Google 有一个由许多节点组成的集群。每个节点的一个重要属性是它可以在几秒钟内重新启动。因此,如果其中一个失败,那么将其恢复到初始状态只是重新启动它的问题。
是否有任何语言/框架/设计模式可以利用这种技术作为一等公民?
编辑描述亚马逊背后的一些原则以及可用性和一致性的总体原则的链接:http: //www.infoq.com/presentations/availability-consistency
artificial-intelligence - 在游戏编程中,如何测试使用的启发式是否一致?
我已经为大型(更高维度)井字游戏考虑了一些启发式方法。我如何检查其中哪些实际上是一致的?
无论如何,一致性是什么意思?
linux - 睡眠(0)?在代码中保持一致的时间?
现在我正在加载一个文件,然后使用 gettimeofday 并使用 tv_usec 跟踪 CPU 时间
我的结果各不相同,我得到 250 到 280,但有时是 300 或 500。我写了 usleep and sleep (0) 和 (1) 都没有成功。时间仍然相差很大。我认为 sleep(1) (linux 中的秒数,而不是 ms 中的 windows 睡眠)会解决它。如何以更一致的方式跟踪时间以进行测试?也许我应该等到我有更大的测试数据和更复杂的代码后再开始测量?
sql - id 列或集群主键/数据库一致性
如果我有一个包含列的表:
- 艺术家
- 专辑
- 歌曲
- 听数
...是在 Artist、Album 和 Song 上放置一个集群主键,还是拥有一个自动递增的 id 列并对 Artist、Album 和 Song 设置一个唯一约束更好。
数据库一致性有多重要?如果我的一半表具有聚集的主键,而另一半具有唯一约束的 id 列,那是坏的还是无关紧要?两种方式对我来说似乎都是一样的,但我不知道行业标准是什么,或者哪个更好以及为什么。
php - 如何自动格式化 PHP 源代码?
我有一个大型 PHP 项目(数百个文件),我被带入工作,并且源格式从一开始就不是很一致。我现在想根据 Zend Framework 编码标准获取所有源代码并对其进行格式化(制表符到空格、短标签到完整的 php 标签、正确缩进等),但这不是一项可以手动完成的工作。我怎样才能自动化这个过程?