读这篇文章让我感到疑惑; 对于一种情况而言,夜间建筑是否比持续整合更好?对于持续整合,答案的共识似乎是相当不平衡的,是传福音还是当持续整合是一种选择时,是否真的没有理由使用夜间构建?
如何通过环境变量设置Java的最小和最大堆大小?
我知道在启动java时可以设置堆大小,但我希望在服务器上通过环境变量进行调整.
有没有人在生产环境中使用Postsharp AOP框架?有任何陷阱吗?为了做一些日志记录等,Postsharp可以和Log4Net一起使用吗?
任何有关使用Postsharp与Web Apps和/或Log4Net的教程都将受到高度赞赏.
提前致谢.
我正在使用依赖注入为我所测试的类之外的代码提供模拟.我发现自己一遍又一遍地编写了大量相同的代码,因为我需要模拟我想要测试的方法中使用的AuthProvider,ConfigurationManager等.该方法包含分支(if-then-else),因此我有多个测试来测试该方法的所有执行路径.我几次实例化每个模拟(每个测试方法一次),但我想知道这是否是错误的方法?此外,我提出了对模拟和预设响应的期望,显然主要是复制粘贴,因为在每个方法中调用AuthProvider.Authenticate()等调用
在每个方法中,我设置了一个模拟存储库,在每个方法的最后,我验证了模拟存储库.我是否应该有一些工厂来创建这些模拟并设置他们的期望和返回值,如果是这样的话?
为了实现模拟,我正在使用RhinoMocks.
我有这个问题,我希望有人知道答案.我有一个oracle存储过程,它接受客户ID并返回ref_cursor中的所有客户订单.过度简化它,这就是我所拥有的:
Orders
- orderId
- siteID
Customers
- siteID
- Name
GetOrder(siteID, outCursor) /* returns all orders for a customer */
Run Code Online (Sandbox Code Playgroud)
现在,我需要编写另一个采用客户名称并执行LIKE查询以获取所有custId的过程,然后我需要重用GetOrder方法来返回找到的custIds的所有订单,如下所示:
PROCEDURE GetOrderbyCustName(
p_name IN VARCHAR2,
curReturn OUT sys_refcursor
)
IS
siteid number;
BEGIN
FOR rec in SELECT site_id FROM customers WHERE name LIKE p_name
LOOP
-- This will replace curReturn in each iteration
-- how do I append instead?
GetOrder(rec.site_id,
curReturn
);
END LOOP;
END GetOrderbyCustName;
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何在每次迭代中将GetOrder的返回附加到curReturn?正如它现在所写的那样,它会在循环的每个循环中覆盖它.谢谢!!
这是一个新手问题:
require 'tasks/rails'
Run Code Online (Sandbox Code Playgroud)
我在每个rails项目的根路径中看到了Rakefile中的这一行.我想这行用于要求vendor/rails/railties/lib/tasks/rails.rb来加载所有rake任务:
$VERBOSE = nil
# Load Rails rakefile extensions
Dir["#{File.dirname(__FILE__)}/*.rake"].each { |ext| load ext }
# Load any custom rakefile extensions
Dir["#{RAILS_ROOT}/lib/tasks/**/*.rake"].sort.each { |ext| load ext }
Dir["#{RAILS_ROOT}/vendor/plugins/*/**/tasks/**/*.rake"].sort.each { |ext| load ext }
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么只为require方法指定了'tasks/rails',而不是文件的完整路径?
提前致谢.
这是一个标准方案:
if(string.IsNullOrEmpty(Configuration.AppSettings["foobar"]))
throw new SomeStandardException("Application not configured correctly, bozo.");
Run Code Online (Sandbox Code Playgroud)
问题是,我不完全确定应该是哪个例外SomeStandardException.
我仔细阅读了3.5框架,发现了两个可能的候选人:ConfigurationException和ConfigurationErrorsException.
System.Configuration.ConfigurationException
发生配置系统错误时引发的异常.
备注
该ConfigurationException如果应用程序试图读取或写入数据到配置文件,但不成功则抛出异常.可能的原因可能包括配置文件中格式错误的XML,文件权限问题以及值无效的配置属性.注意:
ConfigurationException维护该对象是为了向后兼容.该ConfigurationErrorsException对象替换配置系统.
这个例外实际上听起来非常适合我所需要的,但它已被标记为过时,所以,ixnay on atthay.
这让我们彻底迷惑ConfigurationErrorsException:
System.Configuration.ConfigurationErrorsException
当前值不是EnableSessionState值之一.
如您所见,其文档完全没用.(在本地和在线帮助中都是如此.)对课程本身的检查表明,对于我想要的东西来说,这是一种极端的过度杀伤力.
简而言之,我需要一个标准异常,当应用程序配置设置丢失或包含无效值时应抛出该异常.你认为框架有一个例外,它允许应用程序使用它.(它显然没有,但它被标记为已过时,并且被替换的东西多范围较大.)
你们有什么解决方案,如果有的话,我们将不得不将其吸收并为此推出自己的例外情况?
有些人问我是否可以提供默认值,然后继续.在某些情况下,是的,在这些情况下,不会抛出异常.但是,对于某些设置,这将不适用.例如:数据库服务器名称和凭据,身份验证服务器以及安装的第三方应用程序的路径.
还值得注意的是,我主要处理的应用程序是以批处理模式运行的控制台应用程序,我希望它抛出一个由main方法捕获的异常,并在没有正确配置的情况下正确记录.(这是我继承的遗留代码,目前只是假设一切都很好.)
我正在使用AjaxControlToolkit 3.0.20299.9中的ValidatorCalloutExtender.验证发生在已设置resizable = 0的浏览器窗口中.弹出框大部分位于可视窗口之外 - 向右移动.
它已使用AjaxControlToolkit版本1.0.10618.0正确定位.它实际上漂浮在文本框上,弹出窗口右侧位于可视窗口的右侧,边距约为5px.由于我们已经升级了AjaxControlToolkit的版本,因此它的呈现方式似乎不同.有谁知道我需要做什么才能让popout正确定位?我一直在玩.ajax__validatorcallout_*css类,但我改变的一切似乎真的搞砸了显示器.
我有一个appender,我只想要显示的消息的前X个字符(例如,我们会说5个).
我正在使用PatternLayout但我无法获取正确截断消息的消息.
例如,如果我的日志消息是
快速的棕色狐狸
我只是想看看:
q
当我在模式中使用它
%0.5米
我明白了
n狐狸
因为那些是最后5个字符.
我看过PattenLayout javadoc,但找不到任何东西.我知道这有点奇怪,不想看到整个消息,但对于这个特定的appender它是有道理的.我将整个消息记录在另一个appender中.如果可能的话,我想避免编写自定义类.