问题标签 [robustness]

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

c - C 中的字符串处理实践

我正在使用纯 C (c99) 语言开始一个新项目,该项目主要使用文本。由于外部项目限制,此代码必须非常简单和紧凑,由一个源代码文件组成,没有外部依赖项或库,除了 libc 和类似的普遍存在的系统库。

有了这种理解,有哪些最佳实践、陷阱、技巧或其他技术可以帮助使项目的字符串处理更加健壮和安全?

0 投票
1 回答
375 浏览

javascript - 外部广告脚本加载缓慢时出现 JQuery $(document).ready() 问题

我有一个包含多个广告区的网站。有些是 javascript 包含,有些是 iframe 包含。javascript 包含放置在结束标记之前,而 iframe 分散在页面周围。

今天,我在没有互联网的情况下进行本地开发,并注意到我在 document.ready() 中的 javascript 在所有这些外部资产都加载或超时之前不会运行。这暴露了一个漏洞,因为如果广告服务器出现故障(我无法控制),这可能会使页面无法使用。

解决此问题的最佳实践是什么?

0 投票
3 回答
204 浏览

java - 如何在避免错误的同时打开、写入和保存文件?

我需要删除程序中的文件。我的解决方案是有一种erase()方法可以做到这一点:

这里有几个问题:

  • 如果fw没有正确初始化(无论出于何种原因,丢失文件,无效权限等),那么当我尝试在finally块中关闭它时,就会出现 NullPointerException。

  • 如果我没有 finally 块,那么出于上述原因,我可能会抛出 NullPointerException。

  • 如果我关闭 try 块内的文件,那么如果文件正确打开但没有正确写入,我可能会泄漏资源。

我还忽略了哪些其他问题,如何强化这种方法?

0 投票
1 回答
1511 浏览

wcf - 使用计时器的自托管 WCF 服务中的定期操作

我知道在 IIS 中托管的 WCF 服务类中设置计时器并不是一个好主意,因为它们的生命周期很短。从这里的建议来看,服务听起来也是解决这种情况的最佳方式。

但是有没有人尝试在生产中的自托管服务中使用计时器?我们有一个充当客户端的 Windows 服务,目前使用计时器进行定期操作。

这在大多数情况下都很好,但我担心设计的稳健性:一些操作很关键(金融系统计算触发器)。由于 WCF 服务和 Windows 服务是两个组件,因此很难确保两者都运行。

如果我将关键操作移至 WCF 服务内的计时器,我会消除该问题,但我还应该关注什么?

0 投票
1 回答
45 浏览

performance - 当备份数据存储不可用时,我可以/应该禁用缓存到期吗?

我刚开始使用 Ehcache,到目前为止看起来还不错。我以一种简单的方式使用它来加速对数据库的读取,但我想知道如果数据库在短时间内不可用,我是否也可以使用它来让应用程序保持运行。(更新——我的上下文是一个具有高可用性模块的应用程序,只能从数据库中读取)

似乎我可以通过在发生数据库读取问题时禁用过期,并在读取再次工作时重新启用它来做到这一点。

你怎么看?这是一个合理的方法还是我错过了什么?如果这是一种公平的方法,任何关于如何最好地实施的提示都值得赞赏。

更新 - ehcache 支持动态配置选项来取消/将缓存设置为“永恒”。这似乎可以满足我的需要。

0 投票
1 回答
82 浏览

c - 对 http 服务器进行酸性测试

是否有任何应用程序可以测试 http 服务器的稳健性。

如果它可以发送损坏的标头、丢失的标头、抖动、尝试保持连接打开等,那就太好了。

我正在用 C 编写一个嵌入式 http 服务器。

0 投票
1 回答
1835 浏览

r - 向不同于 .GlobalEnv 的环境采购方法

是否可以将方法来源到环境以外的环境.GlobalEnv

我对 R 的屏蔽机制逐渐感到有些沮丧(我可能会在这方面提出一个自己的问题,但如果您有兴趣,目前只需尝试使用包RMySQLRSQLite在同一过程中加载它们这个顺序;使我的 RMySQL 东西崩溃)并且非常非常希望切换到始终使用<namespace>::foo()而不是仅foo()贯穿我的所有脚本。

然而,使用<namespace>::foo()比使用“本地副本”效率低(例如namespace..foo <- <namespace>::foo();我可以为感兴趣的人提供示例,但您自己测试非常容易)。

制作本地副本对我正在加载的其他包来说是一种享受,因为(大多数)确实有一个命名空间,但在我自己的代码变成“包”之前它没有

所以我虽然“让我们将我的东西采购到NS <- newenv(parent=emptyenv())然后应用与其他包相同的例程”。但R不会让我:

错误:

知道我可能做错了什么吗?

0 投票
2 回答
448 浏览

c# - 如果我的代码无法在 C# 中连接 Web 服务,我应该如何尝试 3 次?

这是我的代码:

如果我的代码无法连接,我想尝试连接到 Web 服务。只有3次之后,我想放弃。

我应该如何尝试?

我正在考虑try catch并计算失败时间,但我认为会有更好的解决方案。

0 投票
2 回答
1471 浏览

c++ - interprocess::named_upgradable_mutex - remains locked if process is killed

I'm using boost::interprocess::named_upgradable_mutex to synchronize a few processes.

I'm using boost::interprocess::sharable_lock and boost::interprocess::scoped_lock to lock the mutex.

When testing the synchronization, it looks fine as long as the processes are working, and are closed normally.

But, I've notices that if a process is killed (via TaskManager for example) while holding the mutex, the mutex remains locked.

Any idea how i can handle process failures ?

I've thought about using timed_lock() just in case... any other ideas?

0 投票
1 回答
86 浏览

java - 如何编写一个健壮的、可定制的应用程序来执行文件任务?

我想编写一个程序,该程序将通过给定的输入目录递归运行,并将对其遇到的内容执行预定义的任务。我希望它是健壮的,这样我就可以开发应用程序,如果我想在将来添加另一个行为,就不必进入核心代码。

在我看来,每个要执行的任务都应该在一个类中实现,并且应该有一个配置文件将类映射到文件类型,例如。

我对如何实现这一点有一些想法,但不能完全将其形成一个解决方案。

这应该通过依赖注入来完成吗?如果是这样,哪些简单的 DI 框架适合这个?

或者也许应该通过读取配置文件并加载那里定义的类来完成?