问题标签 [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 投票
4 回答
668 浏览

robustness - 二进制文件格式:需要纠错吗?

我需要以二进制格式序列化一些数据以提高效率(典型的数据记录为 10-100MB 文件),并且我正在制定格式细节。我想知道我是否真的需要担心文件损坏/错误更正等。

什么情况下会发生文件损坏?我应该在我的二进制格式中建立对腐败的鲁棒性吗?或者我应该用某种纠错码来包装我的非鲁棒到损坏字节流?(有什么建议吗?我正在使用 Java)或者我不应该担心这个?

编辑:我现在拥有的初步二进制格式包含一堆可变长度段,所以我有点担心,如果我确实有数据损坏,那么在读回它时,我可能会失去同步,并且不能恢复 + 我丢失了文件的其余部分。

0 投票
6 回答
60559 浏览

c# - 等于(item, null) 或 item == null

使用静态 Object.Equals检查 null 的代码是否比使用 == 运算符或常规 Object.Equals的代码更健壮?后两者是否容易被覆盖,以至于检查 null 不能按预期工作(例如,当比较值为 null 时返回 false

换句话说,是这样的:

比这更强大:

我个人觉得后一种语法更容易阅读。在编写将处理作者控制之外的对象(例如库)的代码时是否应该避免它?是否应该始终避免(检查 null 时)?这只是头发分裂吗?

0 投票
4 回答
6128 浏览

c# - 检查函数参数的最佳方法:检查 null 或 try/catch

在实现/使用返回或处理对象实例的方法时,检查函数参数的最优雅方法是什么?

调用方法:

或更好:

调用方法:

或更好:

浏览类似问题时,不使用 try/catch 的原因是性能。但恕我直言,try-catch 看起来更好:)。

那么,哪种方式更“优雅”呢?

0 投票
2 回答
704 浏览

c# - 在 Web 控件中捕获未处理的异常以允许页面呈现

(我实际上正在使用 Ektron CMS,并且正在使用Widgets,这是用户控件的一个非常简单的扩展)。

问题:我有一个包含许多小部件的网页。如果这些小部件之一发生异常,页面将停止并且用户会收到服务器错误。我想在小部件中有未处理的异常来记录异常,停止显示该小部件并允许页面继续。

例如,您在每个页面上都有一个天气小部件,它通过网络服务获取数据。如果 Web 服务向您发送格式错误的 XML,您希望该站点仍然可用。

可能的解决方案:
计划 A)在每个小部件中,将 init 或显示函数的内容包装在 Try-Catch 语句中。
计划 B)创建一个扩展 IWidget 的新 IRobustWidget 接口,并在其中执行 Try-Catch。

这两个选项对我来说似乎有点“肮脏”,因为我已经读过通用catch (exception)语句有点反模式。我倾向于 B 计划,因为这似乎更加模块化。

  • 我错过了其他选择吗?
  • 在这方面通用 Try-Catch 可以吗?


(我也在 E​​ktron 论坛上记录了这个)

0 投票
2 回答
267 浏览

javascript - 使用 JavaScript 获取浏览器窗口宽度/高度的最可靠方法是什么?

我目前正在使用以下条件,但它们不能跨浏览器或根本不工作:

我相信我错过了一个或两个条件——也许还有另一个我没有考虑到的常见表达方式。

我需要添加什么才能完成?

0 投票
4 回答
2624 浏览

php - 检查 NFS 共享是否在 PHP 中启动

我正在开发一个存储上传文件的系统。元数据将进入本地可访问的数据库,但文件本身将通过 NFS 存储在远程机器上,以便 PHP 可以与服务器交互,就好像它是一个目录一样。

我发现了一个问题,如果有人在 NFS 服务器关闭或不可用时尝试上传文件,可能会导致脚本出错或挂起。显然我们希望避免这种情况并以优雅的方式处理它,但我们不确定如何做到这一点。

我们正在考虑 a) 在页面显示时检查服务器,并在服务器关闭时将表单的文件上传部分显示出来,或者 b) 在执行 move_uploaded_file 之前检查链接以存储上传的文档。

是否可以在 PHP 中执行此操作,如果可以,如何操作?

0 投票
2 回答
10681 浏览

r - PLM 包的异方差稳健标准误差

在使用 Stata 之后,我正在尝试学习 R,我必须说我喜欢它。但现在我遇到了一些麻烦。我即将使用 Panel Data 进行一些多重回归,因此我正在使用该plm软件包。

现在,我希望plm在 R 中获得与在lm执行异方差稳健和实体固定回归时使用函数和 Stata 时相同的结果。

假设我有一个面板数据集,其中包含变量Y, ENTITY, TIME, V1

使用此代码,我在 R 中得到相同的标准错误

就像我在 Stata 中执行此回归时一样

但是当我用包执行这个回归时,plm我得到了其他标准错误

  • 我错过了设置一些选项吗?
  • plm模型是否使用其他类型的估计,如果是,如何?
  • 我可以在某种程度上有与plmStata相同的标准错误吗, robust
0 投票
4 回答
1990 浏览

erlang - Erlang 风格的 Node.Js?

对于 Node.Js 和 Erlang,我完全是个菜鸟。但是是否有可能构建一个模拟 Erlang 行为的 Node.js 应用程序?

例如,您通过分布式 node.js 服务器公园传递 json 消息,甚至将新代码传递到那些不离线的服务器,就像 erlang 一样。

如果您有一个在收到消息时激活的消息处理程序回调,则此消息处理程序可以检查该消息是否是代码更新消息,从而将其自身(当前处理程序)替换为新代码。

所以应该有可能让 Node.Js 服务器没有停机时间来进行代码更新而不必大惊小怪,对吧?

0 投票
1 回答
8267 浏览

shell - shell 和命令替换中的“set -e”

在 shell 脚本set -e中,当某些从脚本执行的命令以非零退出代码退出时,通常会通过停止脚本来使它们更加健壮。

|| true通常很容易通过在末尾添加来指定您不关心某些命令是否成功。

当您真正关心返回值但不希望脚本在非零返回码上停止时,就会出现问题,例如:

在这里,我们既要检查退出代码(因此我们不能|| true在命令替换表达式中使用)并获得输出。但是,如果命令替换中的命令失败,整个脚本会因set -e.

有没有一种干净的方法可以防止脚本在这里停止而不取消-e设置并在之后重新设置?

0 投票
3 回答
97 浏览

linux - 制造有多强大?

make 实用程序有多强大?

例如,在“制作”某些东西时,如果计算机断电,并且在下一次计算机启动后恢复制作,是否保证输出正确(即使文件系统不健壮)?是否还有其他可能导致 make 失败的情况?