什么构成了良好的CI构建过程?
我们使用CI,但是如果您依赖于应该部署的多个服务而其他应用程序也可能依赖于这些目标,那么即使是实际的CI目标也要部署到生产中.
一个好的CI构建过程是否足够好,当它从那里自动化QA和手动?
我有一个基于MVC的站点,它使用存储库/服务模式进行数据访问.编写的服务用于大多数应用程序(控制台,winform和Web).目前,控制器直接与服务通信.这限制了应用适当缓存的能力.
我看到我的选项如下:
我可以看到每个人的利弊.使用Repository/Service进行缓存的最佳做法是什么?
我有一个这样的Java bean:
class Person {
int age;
String name;
}
Run Code Online (Sandbox Code Playgroud)
我想在JSP中迭代这些bean的集合,在HTML表格行中显示每个人,在表格的最后一行我想显示所有年龄段的总数.
生成表行的代码如下所示:
<c:forEach var="person" items="${personList}">
<tr><td>${person.name}<td><td>${person.age}</td></tr>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
但是,我很难找到一种方法来计算最终行中显示的年龄总计,而不需要求助于scriptlet代码,任何建议?
我需要从数据库中检索记录,将其显示在网页上(我正在使用ASP.NET),但是将记录中的ID(主键)存储在某处,以便稍后我可以使用该ID返回数据库(也许要做更新).
我知道可能有几种方法可以做到这一点,例如将ID存储在ViewState或隐藏字段中,但最好的方法是什么?我可以选择这种方法的原因是什么?
我有一个包含纬度和经度值的CSV文件,例如:
"25°36'55.57", "E", "45°39'12.52", "N"
任何人都有一个快速而简单的C#代码将其转换为double值?
谢谢
当您管道两个进程并在管道的"输出"处终止该进程时,第一个进程用于接收"Broken Pipe"信号,该信号通常也会终止它.比如跑步
$> do_something_intensive | less
Run Code Online (Sandbox Code Playgroud)
然后退出较少用于立即返回到SuSE8或以前版本的响应shell.当我今天尝试时,do_something_intensive显然仍在运行,直到我手动杀死它.似乎某些事情发生了变化(glib?shell?),这使得程序忽略了"破碎的管道"......
你们中的任何人都有这方面的暗示吗?如何恢复以前的行为?为什么它已被改变(或为什么它总是存在多个语义)?
编辑:进一步测试(使用strace的)揭示了"SIGPIPE" 被生成,但该程序不被中断.一个简单的
#include <stdio.h>
int main()
{
while(1) printf("dumb test\n");
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
将继续无止境
--- SIGPIPE (Broken pipe) @ 0 (0) ---
write(1, "dumb test\ndumb test\ndumb test\ndu"..., 1024) = -1 EPIPE (Broken pipe)
Run Code Online (Sandbox Code Playgroud)
当少被杀害.我可以肯定在我的程序中编写一个信号处理程序并确保它终止,但我更需要一些环境变量或shell选项来强制程序在SIGPIPE上终止
再次编辑:它似乎是一个特定于tcsh的问题(bash正确处理它)和终端依赖(Eterm 0.9.4)
我的vs调试器有一个奇怪的问题.在vs调试器下运行我的程序时,调试器不会中断未处理的异常.而是将控制权返回给VS,就像程序正常退出一样.如果我查看输出选项卡,就会在线程终止之前列出第一次机会执行.
我了解如何使用"调试"菜单中的"例外"框.我检查了未处理的异常.如果我检查正在发生的特定执行的第一次机会异常,调试器将停止.
但是,我的理解是,调试器也应该停止任何"Unhandled-Exceptions".它不是为我这样做的.
以下是"输出"选项卡的最后几行:
A first chance exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll
The thread 0x60c has exited with code 0 (0x0).
The program '[3588] ALMSSecurityManager.vshost.exe: Managed' has exited with code -532459699 (0xe0434f4d).
Run Code Online (Sandbox Code Playgroud)
我不明白为什么异常会在未处理时被标记为"第一次机会"异常.
我相信0xe0434f4d退出代码是一个通用的COM错误.
有任何想法吗?
地铁.
任何人都有任何关于从哪里开始想要尝试某种源代码控制以及新的ASP.NET之旅的建议?SVN,VSS,CVS ......我甚至不知道从哪里开始!
多年来,我最重要的工具之一是增量复制实用程序,它比较两个目录的内容,并显示哪些文件更新/更旧/添加/删除.每天我发现自己在我的两台台式机和服务器之间复制源代码文件夹,这样的实用程序对于避免用旧文件覆盖新文件以及仅通过复制更改的文件来节省时间至关重要.此外,该实用程序允许我在源文件夹中查看我不一定要复制的新文件(如临时文件),而我可以删除它们.
像任何订阅NIH思维方式的人一样,我编写了自己的实用程序来比较两个文件夹的内容,让我标记要复制,删除,区分或忽略的文件.我有很多版本的这个实用程序可以回到DOS,OS/2和Win32.
我每天都使用这个实用程序,它让我想知道:其他人使用什么?当然有类似的程序可以做到这一点...我的实用程序没有差异屏幕,偶尔看到两个更改文件之间的区别是很好的.
你用什么来比较和逐步复制文件夹?