问题标签 [isolation]

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 回答
789 浏览

db2 - DB2 中的隔离级别

问题:

  1. 它们是 DB2 中数据库级别的 ISOLATION 级别吗?
  2. DB2 在数据库级别 Database 中的默认 ISOLATION LEVEL 是多少?
  3. 我们如何在数据库级别更改 DB2 中的 ISOLATION LEVEL?
0 投票
5 回答
5586 浏览

javascript - 隔离 JavaScript 的执行

JS 最让我烦恼的限制之一是隔离代码执行的能力很差。

我希望能够控制执行代码的上下文,与 node.js 中的Script.createContext&实现类似效果的东西Script.runInContext(节点正在使用绑定到 V8 引擎,所以我无法模拟它们的实现)。

这是我想隔离代码执行的一些原因:

  1. 将代码与全局命名空间(window对象和DOM)隔离,但是我需要能够对上下文中公开的对象引用函数调用,这些对象必须同步执行,这使得使用 aWebWorker进行隔离几乎不可能。
  2. 通过隔离代码的执行,还可以在不再需要时释放其定义(内存管理)。

我知道可以通过将脚本加载到iframe.

我需要共享构造函数定义以及在隔离容器/上下文之间共享的对象定义,它们都必须在主 UI 线程上运行。主要是我想使用这些隔离的容器来托管插件/模块(迷你应用程序),每个插件/模块都通过在自己的Context2D对象上调用绘图命令来呈现和动态更新视口。

如果这些容器没有在主 UI 线程上运行,那么代理调用将非常困难,ctx.measureText()因为ctx.drawImage()图像对象无法在Worker.

有人知道未来的规范会使这成为可能吗?

是否有任何当前(隐藏的)浏览器端 API 可用于实现此目的?

使用像 Goggle 的 Dart VM 这样的虚拟机并重新实现我当前的代码库会更好吗? 我目前的代码库略高于 20 000 行代码。

在 * 中重新实现框架会更好吗

0 投票
1 回答
279 浏览

ruby-on-rails - 使用已声明的 Rails 模型

为(快速)测试目的声明一个类很棒:

它的问题在于,当整个规范套件运行时,它似乎会破坏 Rails 模型的自动加载。

之前声明类时不再加载模型。

4 种方法可以注入卸载的依赖项

  1. 声明类(如示例here)
  2. 设置/删除常量
  3. 存根包装器方法
  4. 实际加载它们

我只想使用第一个。

问题:保持相同的规范结构,即使已经声明了类,我如何告诉 rails 实际加载模型?

0 投票
3 回答
5018 浏览

c# - MS VisualStudio 2012 中的 ShimNotSupportedException

我只是想熟悉 Visual Studio 2012 RC 中新的 Fakes 隔离框架,但我因此面临ShimNotSupportedExceptions.
在第一次尝试时,我尝试将委托连接到的每个单一 shim 方法ShimNotSupportedException在尝试运行/调试测试时都抛出了一个。

这是相应的堆栈跟踪:

GetFoo_ValidBar_ReturnsBaz 测试方法引发了异常:Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException: System.DateTime at Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InvokeEvent(T value, Action1 eh) at Microsoft.QualityTools。 Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.OnAttachedUnsupportedMethod(MethodBase 方法) 在 Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.CheckInstrumentation(MethodBase 方法) 在 Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InternalAttachDetour(Object optionalReceiver, MethodBase方法,委托 detourDelegate) 在 Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.AttachDetour(Object optionalReceiver,Microsoft.QualityTools.Testing.Testing.Fakes.Shims.ShimRuntime.SetShimMethod(Delegate optionalStub, Object optionalReceiver, MethodBase method) 在 Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShim(Delegate optionalStub, Type receiverType) 的 MethodBase 方法,委托 detourDelegate) , Object optionalReceiver, String name, ShimBinding flags, Type returnType, Type[] parameterTypes) at Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShimPublicStatic(Delegate optionalStub, Type receiverType, String name, Type returnType, Type[] parameterTypes)在 BazTests.cs 中的 GetFoo_ValidBar_ReturnsBaz() 处的 System.Fakes.ShimDateTime.set_NowGet(Func'1 value):第 48 行。MethodBase 方法)在 Microsoft.QualityTools.Testing.Fakes 的 Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShim(Delegate optionalStub, Type receiverType, Object optionalReceiver, String name, ShimBinding flags, Type returnType, Type[] parameterTypes)在 Microsoft.QualityTools.Testing.Fakes。 Shims.ShimRuntime.SetShimPublicStatic(Delegate optionalStub, Type receiverType, String name, Type returnType, Type[] parameterTypes) at System.Fakes.ShimDateTime.set_NowGet(Func'1 value) at GetFoo_ValidBar_ReturnsBaz() in BazTests.cs:第 48 行。MethodBase 方法)在 Microsoft.QualityTools.Testing.Fakes 的 Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShim(Delegate optionalStub, Type receiverType, Object optionalReceiver, String name, ShimBinding flags, Type returnType, Type[] parameterTypes)在 Microsoft.QualityTools.Testing.Fakes。 Shims.ShimRuntime.SetShimPublicStatic(Delegate optionalStub, Type receiverType, String name, Type returnType, Type[] parameterTypes) at System.Fakes.ShimDateTime.set_NowGet(Func'1 value) at GetFoo_ValidBar_ReturnsBaz() in BazTests.cs:第 48 行。在 BazTests.cs 的 GetFoo_ValidBar_ReturnsBaz() 中的 System.Fakes.ShimDateTime.set_NowGet(Func'1 value) 处键入接收器类型、字符串名称、类型 returnType、Type[] parameterTypes):第 48 行。在 BazTests.cs 的 GetFoo_ValidBar_ReturnsBaz() 中的 System.Fakes.ShimDateTime.set_NowGet(Func'1 value) 处键入接收器类型、字符串名称、类型 returnType、Type[] parameterTypes):第 48 行。

在阅读了我在 MSDN 上找到的处理此问题的两个线程后,我按照他们的说明(关闭 CodeCoverage,删除 .testsettings 文件)对我不起作用!
尽管如此,我还是找到了解决此问题的方法:
首先从测试资源管理器运行所有测试(而不是直接在编码区域之外使用“MSTest 测试(单击以运行)”按钮),一切正常并且没有抛出异常。之后我什至可以调试测试并且分配给 shim 方法的工作与预期一样。
这也适用于我使用的所有以下垫片。
但是现在我在尝试实现 MS Enterprise Library 的伪造品以进行数据库访问时又遇到了同样的问题。

这是测试的样子:

前两个 shim 分配(ShimFoo 和 ShimQux)按预期工作。但是 ShimDatabaseFactory.CreateDatabaseString (这应该使 DatabaseFactory.CreateDatabase(string) 在尝试创建新数据库实例时返回一个存根数据库)再次引发 ShimNotSupportedException。我就是不知道为什么!
你知道这里出了什么问题吗?

我将不胜感激对此的任何意见。

谢谢,
本杰明

0 投票
5 回答
10694 浏览

css - 如何真正隔离 Google Chrome 扩展中的样式表?

我写了一个谷歌浏览器扩展,它弹出一个带有自动完成字段的对话框,它有自己的风格,但是有些网站我的 CSS 完全被破坏了,看起来不太好。

我知道使用 iFrame 隔离样式,但在 Google Chrome 扩展中,无法以这种方式隔离我的 HTML 和 CSS。另一种方法是将我所有的东西包装到一个单独的 div 中,并使用它自己的 id 和该 id 的相关样式,我这样做了,但它似乎不适用于某些具有“硬”标签样式重载或“! CSS 代码中的重要”指令。

所以,我想知道有没有什么方法可以真正以方便的方式隔离我的样式,或者重载每个小的 CSS 属性来修复每个站点的一个或另一个样式问题是我的坏事?

顺便说一句:我将清单设置为在“document_end”加载所有内容,但我发现它没有应用于样式表,只要 DOM 准备好,每次都会加载。

0 投票
3 回答
103 浏览

architecture - 架构隔离机制

我们目前正在审查如何将我们的核心业务组件(在代码中)与前端开发隔离开来。我们已经有了多层架构,但它们是使用 dll(或某些地方的 web 服务)引用的。

我们想做的是将部分 UI 外包给外部开发人员。问题是我们必须提供可以逆向工程的dll,然后才能“获得”核心业务逻辑代码。

解决此问题的一种方法不是使用 dll 公开 BO,而是使用 Webservices 公开 BO。然而,问题很少。例如安全性、调试、异常处理、托管等。对我来说,这听起来不适合上面提到的问题,但 Web 服务也不适用于此类问题。

我想知道有没有人遇到过类似的情况?或者如果有人这样做了?如果是这样怎么办?

谢谢,

0 投票
3 回答
5275 浏览

mysql - Mysql InnoDB 从读取中锁定行

我已经阅读了 mysql 文档,也许我只是不明白这一切。我正在寻找的是读取其他会话行锁定。当该行被锁定时,我希望其他会话等到锁定被释放。我不希望其他会话从快照中读取!他们必须等到发布!

我想得到的与以下示例完全相同,但对于单行而不是整个表锁:

先感谢您!

0 投票
2 回答
1618 浏览

linux - cgroups 隔离(分离组进程)

我有一个关于 cgroups 的问题,特别是考虑到隔离。

维基百科指出,您可以使用 cgroups 来隔离组,以便“组有单独的命名空间,因此他们看不到彼此的进程、网络连接或文件”。

我已经知道,如何在组之间共享或划分内存或 cpu,但想知道,组或用户如何只能看到他们自己的进程(例如必须在 cgrules.conf 和 cgconfig.conf 中的内容)。

例子:

当指定组的用户在他的控制台中输入 ps(或 ps -aux)时,应该只列出他的进程,而不是其他用户/组的进程(如 ps -u)。我知道我可以做一个快速而肮脏的编程方法来完成这样的事情,但我想知道它如何与 cgroups 一起工作。

非常感谢您的专业知识!

0 投票
1 回答
70 浏览

java - Java MVM 发生了什么?

这些是多任务虚拟机,在不信任的组件之间具有非常好的高级(即语言级别)隔离。我能找到的关于它们的信息都可以追溯到 2006 年左右

有很多兴趣,但似乎突然死在那里,然后就再也没有发表过任何东西。他们发生了什么?是否有一个单一的“我们将停止在 MVM 上工作”的决定,或者只是兴趣减弱,项目自然而然地消亡了吗?

0 投票
2 回答
750 浏览

java - 如何在单独的线程/类加载器中隔离 java 模块执行?

在我的 web 服务应用程序中,我必须集成一个第三方模块来验证业务规则,这些模块附带了相当旧的库。

旧图书馆与我的新图书馆发生冲突。

有没有办法将第三方模块隔离在正在运行的 web 服务中的单独线程/类加载器中?