问题标签 [reliability]

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 投票
1 回答
852 浏览

facebook - 我可以依赖 Facebook Connect 吗?

我一直在考虑将Facebook Connect用于我正在构建的新网站,但是 Facebook API 似乎有点不稳定。

我一直在使用的代码是基本的,但是示例应用程序“therunaround”也遇到了类似的问题。

例如,朋友列表并不总是加载,登录的 Facebook 用户并不总是被检测到。

这些问题纯粹是因为我刚刚开始吗?

0 投票
4 回答
143 浏览

operating-system - How much trust can I put behind a computer system? How can I measure trust?

How much trust can I put in a standard computer running windows? To what certainty can I be sure it will run my code the way I wrote it? How can I be sure that if I declare something like "int j = 5;", j will alway be 5? Is there a way to measure trust in a standard x86 computer system? What kind of protections are there to make sure that j = 5?

I'm thinking about critical systems where nothing can be off even by one bit and everything must run exactly the way it was written to run.

0 投票
9 回答
3708 浏览

embedded - 在嵌入式系统中允许安全软件升级的技术是什么

为嵌入式设备升级软件通常有可能使设备“变砖”,例如,如果在将软件写入 FLASH 的过程中发生电源故障。两个问题:

  1. 有哪些实施升级机制的最佳实践,以尽量减少设备“变砖”的可能性?
  2. 有哪些最佳实践可以使升级过程安全可靠,以便在将软件安装到 FLASH 时发生电源故障等事件可以从中恢复?
0 投票
2 回答
96 浏览

comparison - 用于处理可靠性的序列 ID

我试图找出一种简单的方法来处理 UDP 消息的可靠性。我想我只需给每个人发送一个测序 ID,然后通过将 ID 与之前收到的 ID 进行比较,就可以检测到丢失。我通常只会使用整数,但是它只会无限期地增加的想法并不适合我。

我可以使用 base64,但这只会使它更具可读性,但并不能真正解决任何问题。

我还考虑过在日期戳前面加上前缀,但是在处理午夜左右收到的消息时会有点草率。

我觉得必须有人可以提出更好的解决方案,即使那只是坚持使用整数。

0 投票
2 回答
220 浏览

sqlite - 使用 SQLite 提供可靠的用户反馈

我正在编写一个带有 GUI 前端 (GTK) 和 SQLite 后端的应用程序。当通过 GUI 更改某些内容时,当且仅当它在数据库中成功完成时,我希望更改显示在 GUI 中。

  • 是否sqlite3_step足以SQLITE_ERROR确保我不会向用户提供错误反馈?

  • 如果没有,是否有其他步骤(例如回调或触发器)可以提供额外的可靠性?

  • 有什么方法可以检测到对数据库的所有更改,而不仅仅是来自程序自身连接的更改,以便我可以动态地在 GUI 中反映对其内容的更改?

0 投票
5 回答
1166 浏览

unit-testing - 使用敏捷构建对生命至关重要的系统

看看我关于使用敏捷建造飞机的问题中评论的总体趋势,除了成本之外,最大的问题似乎是安全性。

人们是否觉得不可能使用敏捷构建一个安全的系统(或证明它是安全的)?不是所有的迭代测试都减轻了这一点吗?使用敏捷开发的软件有可能永远不会像瀑布这样的软件那样可靠吗?

0 投票
1 回答
1027 浏览

c# - 有人试过亚麻吗?

我说的不是健康迷吃的东西,而是基于 Xapian 的开源搜索/索引软件。

我的公司目前正在雇用某人来实施它,他们希望我在我正在从事的项目中使用它的功能,但是我对此知之甚少,并且对设置指向我通常尝试过的链接非常谨慎-并经过测试的可靠代码库。

亚麻实施中是否有任何已知的问题,可能会导致我的构建的其他区域出现问题?例如,是否难以与已在使用的标准数据库解决方案同步,或者它发回的数据是否以不可靠或臃肿的格式出现(XML 是一个臃肿的例子 [在这种情况下,XML fanboys])

干杯,埃德

0 投票
8 回答
5014 浏览

sockets - 插座可靠吗?

使用套接字在两台服务器之间发送数据是个好主意,还是应该使用 MQ 之类的东西来移动数据。

我的问题:套接字是否可靠,如果我只需要一次/有保证的数据传输?

还有其他解决方案吗?

谢谢。

0 投票
6 回答
1310 浏览

.net - .NET 流功能 - CanXXX 测试安全吗?

.NET 中使用了一种相当常见的模式来测试类的功能。这里我将使用 Stream 类作为示例,但该问题适用于使用此模式的所有类。

该模式是提供一个名为 CanXXX 的布尔属性来指示该类上的能力 XXX 可用。例如,Stream 类具有 CanRead、CanWrite 和 CanSeek 属性,以指示可以调用 Read、Write 和 Seek 方法。如果属性值为 false,则调用相应的方法将导致抛出 NotSupportedException。

来自流类的 MSDN 文档:

根据底层数据源或存储库,流可能仅支持其中一些功能。应用程序可以使用 CanRead、CanWrite 和 CanSeek 属性查询流的功能。

CanRead 属性的文档:

在派生类中重写时,获取指示当前流是否支持读取的值。

如果从 Stream 派生的类不支持读取,则对 Read、ReadByte 和 BeginRead 方法的调用将引发 NotSupportedException。

我看到很多代码都是这样写的:

请注意,没有同步代码以任何方式锁定流对象——其他线程可能正在访问它或它引用的对象。也没有代码可以捕获 NotSupportedException。

MSDN 文档没有说明属性值不能随时间改变。事实上,当流关闭时,CanSeek 属性变为 false,展示了这些属性的动态特性。因此,没有合同保证上述代码片段中对 Read() 的调用不会引发 NotSupportedException。

我希望有很多代码会遇到这个潜在的问题。我想知道那些发现这个问题的人是如何解决这个问题的。什么设计模式适合这里?

我也很欣赏有关此模式有效性的评论(CanXXX、XXX() 对)。对我来说,至少在 Stream 类的情况下,这代表了一个试图做太多事情的类/接口,应该分成更基本的部分。缺乏严格的文档化合同使得测试变得不可能,实施变得更加困难!

0 投票
3 回答
95 浏览

multithreading - 在程序失败的情况下保存队列值的最佳方法

假设我有一个由两个单独的线程和一个队列组成的多线程应用程序。线程 1 完成它的计算并将结果放入队列中。同时线程 2 不断循环并检查队列中是否有任何数据供其处理。

如果由于某种原因程序故障或计算机重新启动,如何将队列中的值临时保存到磁盘?在第一个线程完成后将值保存在 SQLite DB 中,然后在线程 2 完成后将其删除是否合理?

如果 SQLite 实际上是最好的解决方案,是在一行上插入一个标志,表示它已被处理,并且每半小时有另一个线程通过并删除那些被标记的行,还是立即删除该行?