问题标签 [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.
java - Executing separate, isolated operations with Hibernate, sharing objects between operations
I'm writing an application in Java, with Hibernate, and I'm trying to do the following:
- Query a list of objects from the database, then for each object:
- Remove it from the database.
- Perform an operation on it.
- If the operation fails, modify the object and insert it back into the database.
However, I'm working with an unreliable database connection, and it is essential that the object is successfully removed from the database (step 2) before an operation is performed on it (step 3). It's important but not critical that the object is successfully re-inserted (step 4) on failure.
(The higher level requirement is that if the operation is successfully performed on the object, it CANNOT remain in the database -- that's why I concluded that I have to remove it first and ensure that it is actually removed before attempting the operation.)
I don't fully understand Hibernate sessions, transactions, and object states (e.g. "detached"). How can I accomplish this?
I have tried too many permutations of opening/closing sessions, committing/rolling back transactions, evicting/merging/persisting/saving/deleting/updating objects to list here, but everything I try fails with one error or another. I've been referring to the Hibernate docs, but basically I'm swinging in the dark here because I don't really understand what I'm doing, so any suggestions are welcome.
hash - 如何处理哈希冲突?
我正在开发一款游戏,其中游戏世界中的每一件事都由一个全球唯一标识符表示。
这些 id 每个都为 64 位,是通过将创建时间、机器网络地址和随机数哈希在一起生成的。根据维基百科关于生日问题的文章,两亿条记录的哈希冲突概率为 0.1%。
由于我不太可能获得那么多记录,因此可以认为没有哈希值会发生冲突。但我不希望这样,而是让我的应用程序处理罕见的 id 冲突情况,从而处理哈希冲突。
否则,这种行为将是非常不受欢迎的,因为游戏世界中两个独立的事物会产生联系,从而共享它们的属性,如位置、运动、健康点等。
如何处理哈希冲突?它们通常如何处理?
networking - 设置为模拟 WAN 中十几台计算机的故障
出于测试原因,我需要模拟一个设置,其中包含几至十台机器,这些机器可能在 LAN(或 WAN)中随时发生故障,也可能发生故障。
您将如何使用免费/开放软件来做到这一点?是否有任何虚拟化解决方案可以杀死/重新启动机器并使其连接在线/离线(虚拟)?
谢谢你。
zxing - ZXing 和解码扭曲代码
我正在研究 ZXing 库源代码。我希望尽可能强大地扫描可以打印在弯曲表面上的代码。
据我了解,ZXing定位二维码的三个角,然后猜测第四个的位置,然后基本上使用透视网格读取代码。
是否有实施更稳健方法的计划?我正在考虑实际确定三个角的偏斜,然后在代码中插入此信息。另一种选择是使用某种神经网络来捕捉黑/白转换,猜测代码最可能的失真。
shell - 编写健壮的 shell 脚本的规则是什么?
我最近用我写的一个 shell 脚本擦除了我的主目录的一部分。幸运的是,我确实击中了Ctrl——C速度足够快,可以避免最坏的情况。
我的错误是过于依赖相对路径。从现在开始,我在更改目录时总是使用绝对路径……但是,这让我想到了一个有趣的问题:编写健壮的 shell 脚本的规则是什么?
我已经知道从一个目录移动到另一个目录时应该始终使用绝对路径。但是,必须有很多其他的(例如,当命令失败时该怎么办,停止脚本并通知用户的好方法是什么)。
那么,是否有人列出了专门针对 shell 脚本的此类规则和提示?
java - 使用集合处理用户错误
我已经完成了这段代码,它几乎可以正确运行,除了我需要用户在宇宙边界内输入数字。我确保用户只能输入整数。但我不确定如何确保数字是 1-10(宇宙集)。有人可以给我一些指导吗?
这是我的代码:
python - 以最有效的方式返回生成器字典
我已经编写了这个返回 a 的函数dictionary
,我认为通过itertools
或仅使用yeild
i 可以返回dictionary
,但我从来没有这样做过dictionary
我怎样才能让这个函数以一种我不必调用的方式运行configDb()
,而只是configDb[key]
应该给我价值?
r - 在 R 中诊断不透明错误并稳定/鲁棒模拟
抱歉,因为这个问题有点模糊和笼统,而且由于代码太复杂,肯定无法重现。但是,我怀疑可以通过同样模糊的策略来解决这些问题,这些策略具有指导性和帮助性。
我编写了一个模拟器,它有一个主要的并行循环遍历参数值,将它们加载到模型并运行它们n
时间。
问题:虽然代码通常适用于较小的问题维度,但它在较高维度(尤其是较高的维度n
)上失败的频率很高;大多数参数值执行良好并产生输出,但偶尔没有产生文件。由于缺少文件,“后处理”会失败。
我所知道的:重新运行函数,会影响不同的参数值,所以这不是由于参数值无效,而是看似随机失败。也有一些运行没有任何问题。曾经有一条关于failure to allocate vector of size xyz
.
我尝试了什么: traceback()
似乎专注于模拟结束时的失败(一种症状),但没有找到真正的原因。我还尝试添加一个while
以输出文件存在为条件的循环,如果它失败了会重新运行参数值(见下文,注释掉)。这似乎有点帮助,但并不完全。
以上导致我怀疑某些线程以某种方式崩溃,然后无法输出分配给它的任何参数。
问题:您将使用什么策略来诊断此问题?可以实施哪些方法来使这种模拟对错误(诊断或其他)更加稳健?我可能会执行哪些操作会导致此类故障?
模拟市民的草图。环形:
谢谢你的耐心!
workflow - jbpm 将如何处理内存中的并发工作流
我想在我的 Web 服务中使用 jbpm 作为库。想知道 jbpm 如何处理内存中的并发工作流的实现细节。
我想要有关规模、稳健性的详细信息
提前致谢。
sequence - 测量树/树状图的可靠性(Traminer)
我使用 TraMineR 进行了分析,以测量空间使用序列之间的相似性(例如 Rural(R) 与 Urban (U):序列示例 -> RRRRRUUURRUUU)我的分析中的一个要求是同时比较状态及时,因此我使用了汉明序列相似性。基于相似性矩阵,我创建了一个树状图,给出了各个序列之间的距离,有助于识别顺序空间使用中的“行为相似性”。现在我正在寻找一种方法来计算树的稳健性或可靠性。有人知道如何计算引导树(沿着分支指示引导值)吗?
亲切的问候,
约翰内斯