我现在的团队已经为所有Java开发标准化了NetBeans,我们使用NetBeans生成的ANT文件作为我们的官方构建过程.
但文件总是错误的.
团队的各个成员正在使用不同版本的NetBeans,显然,它们都会生成略有不同的"build-impl.xml"文件.因此,在IDE启动时,NetBeans将重新生成它认为不正确或过时的这些文件中的任何一个.
但随后(因为这些文件被检入源代码控制,作为我们的官方构建脚本),构建文件通常与存储库不同步.如果我从我的机器上检查自动生成的更改,那么我的团队中的其他一些傻瓜将不得不覆盖他自己的构建脚本的本地副本,导致NetBeans抱怨文件已过时且需要再生.
大多数情况下,这是一个烦恼.每次开发人员签入时,自动生成的构建脚本中的虚假差异都会增加大量噪音.或者IDE经常抱怨外部修改的构建脚本.你不能赢.
但我也有一种持续的唠叨感,即没有人拥有完全正确的构建脚本,我们在整个构建过程中引入了不确定性.
据我所知,这个问题有两种可能的解决方案:
1)标准化特定的NetBeans版本.在我们作为一个团队做出决定之前,不要让人们升级.并且不要让人们在旧版本上徘徊.如果团队中的每个人都使用相同的NB版本,那么这些问题(可能)就会消失.
2)不要将"build-impl.xml"脚本检查到源代码管理中.它由IDE自动生成,因此是"build.xml"和"project.xml"文件的工件.不应将生成的文件(如".class"文件)检入源代码管理,而应在构建过程中重新生成.弄清楚NetBeans使用什么机制来生成"build-impl.xml"文件,并在我们的构建服务器上执行相同的机制.这是否意味着我们的构建服务器必须依赖NetBeans GUI?我希望不是.
你们有什么感想?解决这个问题的正确方法是什么?
我有以下代码片段:
public static List<string> sqlData = new List<string>();
//
// lots of code here
//
if (/* check here to see if the sqlData[whatever] index exists */)
{
sqlData.Insert(count2, sqlformatted);
}
else
{
sqlData.Insert(count2, sqlformatted + sqlData[count2]);
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何在尝试插入包含自身的东西之前检查sqlData上的索引以查看它是否存在.
我有一个弹出用户屏幕的表单TopMost=true,但是它会窃取焦点.如何才能让它在第一次出现时没有窃取焦点?
我需要在php heredoc变量中包含页面,但它不起作用请帮助我.
$content = <<<EOF
include 'links.php';
EOF;
Run Code Online (Sandbox Code Playgroud) 以下程序不输出所需数据(在VC2008编译器上)
#include <stdio.h>
#include <string.h>
int main(void)
{
int i;
int dest[10] = {1};
int src [] = {2, 3, 4, 5, 6};
memcpy(dest, src, 5);
for (i=0; i<10; i++) printf("%i\n", dest[i]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
而使用char数组代替,每件事都很好!这里的问题在哪里?
我有很多网页需要每分钟自动刷新一次.使用META REFRESH或一些javascript轻松完成.(是的,整个页面需要刷新 - 很多内容都在变化).
但是,它需要尽可能健壮.如果Web服务器暂时关闭或网络打嗝,它将无法刷新,然后会出现404错误等,并永久停留在错误页面上.
我能想出的唯一选择是将整个页面托管在IFRAME中,并在父页面上放置一些脚本以刷新框架页面.框架应该是不可见的,因此任何窗口大小调整都需要调整IFRAME的大小.
有更简单,更优雅的解决方案吗?(由于时间限制,转到Flash/AIR/Silverlight也不是一个选项).
任何人都有一些建议,以加快网页加载网页视图?
在我的情况下,我使用jQuery的getScript在需要时加载javascript.
谢谢,萨娜.
我正在开发一个C#.NET 2.0应用程序,我需要扫描附加的HID.如何才能做到这一点?因为它是HID,Windows不会为其分配COM端口.我只需要以编程方式确定设备是否已连接.谢谢.
附加信息
当我将USB设备连接到计算机时,设备管理器中的人机接口设备下会显示两个条目.单击其属性会在各自的"详细信息"选项卡中生成此信息:
HID兼容设备 设备实例ID:HID\VID_1795&PID_6004\7&2694D932&0&0000
USB人机接口设备 设备实例ID:USB\VID_1795&PID_6004\B973000000EB0D00
我有一个长时间运行的查询,返回一个大数据集。该查询是从 Web 服务调用的,结果会转换为 CSV 文件供最终用户使用。以前的版本需要 10 多分钟才能运行,并且只有在查询完成后才会将结果返回给最终用户。
我将查询重写为在大多数情况下在一分钟左右运行的位置,并重写了它的访问方式,以便结果在从数据库服务器进入 asp.net Web 服务时将流式传输到客户端。我使用 SQL Server 的本地实例以及远程实例对此进行了测试,没有出现任何问题。
现在,在生产部署的关键时刻,我们的生产 SQL Server 机器似乎在查询完成执行之前不会将任何结果发送回 Web 服务。此外,我发现另一台机器与工作的远程服务器(克隆)相同,也没有流式传输结果。
所有计算机上的 SQL Server 2008 版本都是相同的。生产计算机安装的 Windows Server 版本略有不同(6.0 与 6.1)。生产服务器有 4 个核心,RAM 是其他服务器的几倍。其他服务器是单核、1GB 内存。
有什么设置会导致这种情况吗?或者我可以设置任何设置来阻止 SQL Server 缓冲结果吗?
尽管我知道这根本不会真正影响整体运行时间,但它会极大地改变最终用户的看法。
太长;博士;我需要在查询运行时将查询结果流式传输给最终用户。它适用于某些数据库机器,但不适用于其他数据库机器。所有计算机都运行相同版本的 SQL Server。
我在 C# 中所做的事情的要点:
var reader = cmd.ExecuteReader();
Response.Write(getHeader());
while(reader.Read())
{
Response.Write(getCSVForRow(reader));
if(shouldFlush()) Response.Flush()
}
Run Code Online (Sandbox Code Playgroud)
根据以下回复进行澄清
有 4 个数据库服务器,Local、Prod、QA1、QA2。它们都运行 SQL Server 2008。它们都加载了相同的数据库(或多或少,非产品上有 1 天的延迟)。
Web 服务托管在我的计算机上(尽管我也测试过远程托管)。
测试之间唯一的变化是 web.config 中的连接字符串。
QA2 正在运行(流式传输),它是 QA1(VM)的克隆。QA1 和 QA2 之间的唯一区别是 QA2 上添加的数据库与此查询根本无关。
QA1 不起作用。 …
c# ×4
ado.net ×1
android ×1
ant ×1
c ×1
device ×1
entity-model ×1
javascript ×1
list ×1
memcpy ×1
netbeans ×1
page-refresh ×1
php ×1
refresh ×1
resultset ×1
sql-server ×1
streaming ×1
svn ×1
topmost ×1
winforms ×1