标签: isolation

Spring @Transactional - 隔离,传播

有人可以通过现实世界的例子解释注释中的隔离传播参数@Transactional.基本上何时以及为什么我应该选择更改其默认值.

java spring transactional isolation propagation

412
推荐指数
8
解决办法
25万
查看次数

如何在Google Chrome扩展程序中真正隔离样式表?

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

我知道使用iFrames隔离样式,但在Google Chrome扩展程序中,无法以这种方式隔离我的HTML和CSS.另一种方法是将我的所有东西包装成一个单独的div,它有自己的id和相关的id,我这样做,但似乎它不适用于某些网站上有"硬"标签样式重载或"! CSS代码中的重要"指令.

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

顺便说一下:我设置我的清单来加载"document_end"中的所有内容,但我发现它并没有被应用到每次DOM准备就绪时每次加载的样式表.

css isolation google-chrome-extension

28
推荐指数
5
解决办法
7060
查看次数

安全执行不受信任的Haskell代码

我正在寻找一种安全运行任意Haskell代码的方法(或拒绝运行不安全的代码).

一定有:

  • 模块/功能白名单
  • 执行超时
  • 内存使用限制

功能我看看:

  • 杀死线程的能力
  • 将模块编译为本机代码
  • 缓存已编译的代码
  • 同时运行几个解释器
  • 编译器错误的复杂数据类型(String中的简单消息)

有了这种功能,就可以实现一个能够运行任意Haskell代码的浏览器插件,这是我想到的.

编辑:我有两个答案,都很好.谢谢!可悲的是,似乎没有现成的图书馆,只是一个类似的程序.这是一个有用的资源.无论如何,我想我会等待7.2.1被释放并尝试在我自己的程序中使用SafeHaskell.

haskell sandbox execution isolation

27
推荐指数
2
解决办法
1006
查看次数

如何实现Oracle PL/SQL的测试隔离测试?

在Java项目中,JUnit测试执行设置,测试和拆卸.即使在使用内存数据库模拟真实数据库时,通常也会回滚事务或从内存中删除数据库并在每次测试之间重新创建数据库.这为您提供了测试隔离,因为一次测试不会在可能影响下一次测试的环境中留下工件.每个测试都以已知状态开始,不能渗透到另一个测试中.

现在我有了一个Oracle数据库构建,可以创建1100个表和400K代码 - 很多pl/sql包.我想不仅测试分贝安装(全 - 从头开始​​,部分制作 - 从以前的数据库升级,等等),并确保所有的表格和其他对象是在安装后,我期望的状态,同时也在pl/sql上运行测试(我不确定我怎么做前者 - 建议?).

我希望这一切都从Jenkins运行CI,以便通过回归测试捕获开发错误.

首先,我必须使用企业版而不是XE,因为XE不支持Java SP并且依赖于Oracle Web Flow.即使我消除了这些依赖关系,构建通常需要1.5小时才能加载(完整版本).

那么如何在这种环境下实现测试隔离呢?为每个测试使用事务并将其回滚?好的,那些提交的pl/sql程序怎么样?

我考虑过备份和恢复以在每次测试后重置数据库,或者在每次测试之间重新创建整个数据库(过于激烈).两者都不切实际,因为安装它需要一个多小时.每次测试都这样做是过度和疯狂.

有没有办法在db模式中绘制一条线,然后将其回滚到那个时间点?Sorta就像一个很大的"撤消"功能.除了expdp/impdp或rman之外的东西.也许整个方法都没有了.建议?别人怎么做到这一点?

对于CI或小型生产升级窗口,该测试套件必须在合理的时间内运行(30分钟是理想的).

是否有产品可能有助于实现这种"撤销"能力?

testing oracle unit-testing plsql isolation

20
推荐指数
2
解决办法
4091
查看次数

应该在存储过程之外还是在内部指定事务?

我们可以在事务中包装对存储过程的调用,并指定隔离级别.

或者我们可以将事务放在存储过程中指定一个隔离级别.

哪个更好?

.net sql sql-server stored-procedures isolation

15
推荐指数
4
解决办法
2923
查看次数

如何在同一页面上隔离不同的JavaScript库?

假设我们需要在第三方页面中嵌入一个小部件.例如,这个小部件可能使用jquery,因此widget携带一个jquery库.假设第三方页面也使用jquery但使用不同的版本.嵌入小部件时如何防止它们之间发生冲突?jquery.noConflict不是一个选项,因为它需要为页面中加载的第一个jquery库调用此方法,这意味着第三方网站应该调用它.这个想法是第三方网站不应该修改或做任何事情,除了将带有src的标记放到窗口小部件以便使用它.

这也不是特别是jquery的问题 - 谷歌闭包库(甚至编译)可能作为一个例子.

除了明显的iframe之外,还有哪些解决方案来隔离不同的javascript库?也许加载javascript作为字符串,然后eval(通过使用函数('代码到eval'),而不是eval('代码到eval'))它在匿名函数中可能会做到这一点?

javascript isolation

15
推荐指数
2
解决办法
9105
查看次数

孤立的RazorEngine无法将模型传递给不同的AppDomain

当我在没有EditHistory成员的情况下渲染我的模板时,这是有效的.但是,当我添加我的应用程序中的其他成员时,我得到一个异常Could not load file or assembly 'Models, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.Models是包含ContentModel,EditHistory和UserDetail的项目.

public class ContentModel
{
    public string Html { get; set; }
    public string Title { get; set; }
    public EditHistory History { get; set; }
}

public class EditHistory
{
    public IReadOnlyCollection<UserDetail> Authors { get; set; }
}

public class UserDetail
{
    public string Name { get; set; }
    public string EmailAddress { get; set; } …
Run Code Online (Sandbox Code Playgroud)

.net asp.net isolation razorengine

15
推荐指数
1
解决办法
1057
查看次数

隔离JavaScript的执行

JS最让我感到困扰的一个限制是隔离代码执行能力差.

我希望能够控制执行代码的上下文,实现Script.createContextScript.runInContextnode.js中的内容类似的效果(节点使用绑定到V8引擎,因此我无法模拟它们的实现).

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

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

我知道可以通过将脚本加载到a中来实现部分隔离执行,iframe但是这种方法非常繁重,并且为DOM的第二个实例使用了大量内存,这对于我正在尝试的操作是不需要的.

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

如果这些容器没有在主UI线程上运行,那么代理调用就会非常困难,ctx.measureText()并且ctx.drawImage()由于无法在a中创建图像对象,所以这些都是无用的Worker.

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

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

是否可以更好地利用像Goggle的Dart VM这样的虚拟机并重新实现我当前的代码库? 我目前的代码库略高于20 000行代码.

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

javascript plugins module isolation

13
推荐指数
1
解决办法
3617
查看次数

Vagrant与Docker的隔离

为什么Vagrant不被视为孤立,而Docker是,当Vagrant运行新操作系统并隔离其中的所有内容时?当一个人说:"如果你正在寻找隔离,使用Docker"时,隔离是什么意思?

isolation vagrant docker

12
推荐指数
1
解决办法
1559
查看次数

vstest.console.exe执行模型和隔离行为

我正在尝试确定在编写将要运行的测试时应该考虑的因素vstest.console.exe.

示例1:假设我有两个测试,它们都依赖于MyClass.Singleton.Counter零值.现在让我们说我们雇用一个新的实习生,在他写的测试中无意中增加了这个值.如果这个新测试在旧的两个单元测试之前运行.如果测试在同一个过程中运行(并且没有重置计数器值),那么这两个单元测试将失败.

示例2:假设我有两个集成测试,它们使用同一个DB.这两个测试都记录了DB中存在的计数器的值,递增计数器,然后从DB读取计数器,断言它的值比最初读取的值高1.如果这两个测试并行运行,我们就会遇到竞争条件.

最终目标是尝试理解开发人员在编写将在vstest.console.exe特定情况下运行的测试时应该记住的注意事项,它的执行模型是什么?

注意:我对最佳实践不感兴趣,只是了解vstest.console.exe影响测试结果的方式的执行模型.

相关注意事项:

  1. 如果project1.dll并且project2.dll传递给控制台,并且每个都依赖于依赖程序集的冲突版本,那么项目测试文件将如何成功执行?
  2. 每个测试文件(即dll)都有自己的进程吗?
  3. 每个测试文件(即dll)是否在单个进程中给出了自己的AppDomain?
  4. 每个测试文件执行的当前工作目录是什么?
  5. 测试是连续执行还是并行执行?
  6. 测试执行顺序是否确定?
  7. 不同的测试适配器对相关行为有多少控制?
  8. 没有.runsettings指定文件或测试适配器时的默认行为是什么?

相关背景资料:

(1)vstest.console.exe文档,/InIsolation指出它"在一个独立的进程中运行测试".

我将从上面推断出创建一个进程,其中传递给测试运行器的所有测试文件都将执行,但这可能不准确.

(2)vstest.console.exe可以在命令行上使用多个测试"文件",这些DLL可以引用不同目录中的不同项目.

(3)通过提供*.runsettings文件,可以使用测试适配器来执行测试.

.net execution isolation vstest vstest.console.exe

10
推荐指数
0
解决办法
927
查看次数