问题列表 - 第11048页

Ant:将相同的文件集复制到多个位置

我需要一个Ant脚本,将一个文件夹复制到其他几个地方.作为一个优秀的顺从程序员,我不想重复自己.有没有办法采取这样的文件集:

<copy todir="${target}/path/to/target/1">
    <fileset dir="${src}">
        <exclude name='**/*svn' />
    </fileset>
</copy>
Run Code Online (Sandbox Code Playgroud)

并将其存储fileset在变量中以便可以重复使用?

ant

30
推荐指数
2
解决办法
2万
查看次数

149
推荐指数
10
解决办法
30万
查看次数

没有主键的事务复制(唯一索引)

我刚刚遇到一些令人不安的事情,我试图从一个设计不受我们控制的数据库中实现事务复制.这种复制是为了执行报告而不会对系统造成太大的负担.在尝试复制时,只有一些表发生了.

由于调查表没有主键,因此没有选择复制调查表,我认为如果我使用ODBC和ms访问而不是在管理工作室中,它甚至不会显示为主键.查询也不是非常慢.

我尝试插入一个重复的记录,它没有说出一个唯一的索引(不是主键).似乎是使用唯一索引实现的表与主键相对.为什么我不知道我会尖叫.

无论如何都要执行事务复制或替代方案,它需要是实时的(最后一两分钟).主db服务器目前是sql 2000 sp3a和报告服务器2005.

我目前唯一想到的尝试就是将复制设置为另一种类型的数据库.我相信复制说oracle是可能的,这会强制使用像我假设访问正在使用因此显示主键的ODBC驱动程序.我不知道这是否准确无误.

sql-server primary-key transactional-replication

4
推荐指数
1
解决办法
2万
查看次数

如何更新项目中的所有C/C++标识符名称

经常遇到建议不要在C/C++标识符中使用前导和双下划线后,我决定一劳永逸地修复所有源代码.我现在需要做的是转换_IdentifierIdentifier_.

我应该使用专门的工具来完成这项正常表达式的任务吗?在后一种情况下,匹配C/C++标识符的模式是什么?

c c++ regex refactoring

5
推荐指数
3
解决办法
852
查看次数

打印宏的名称和值

我有一个C程序,可以使用#defines 启用或禁用许多优化.当我运行我的程序时,我想知道在编译时定义了哪些宏.

所以我试着编写一个宏函数来打印宏的实际值.像这样的东西:

SHOW_DEFINE(X){\
  if( IS_DEFINED(X) )\
      printf("%s is defined and as the value %d\n", #X, (int)X);\
  else\
      printf("%s is not defined\n", #X);\
}
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何使它工作,我怀疑这是不可能的,有没有人知道如何做到这一点?

(请注意,即使未定义宏,也必须编译!)

c c-preprocessor

11
推荐指数
1
解决办法
4万
查看次数

P2P网络游戏/应用程序:类似"battle.net"的匹配服务器的不错选择

我正在制作一个网络游戏(1v1),在游戏中它的p2p - 不需要游戏服务器.

但是,为了让玩家能够"找到对方"而不需要在另一个媒体中进行协调并输入IP地址(类似于网络游戏的调制解调器时代),我需要一个协调/匹配服务器.

我不能使用常规的网络托管,因为:

  • 客户端将以UDP进行通信.
  • 因此,我需要进行UDP打孔才能通过NAT
  • 这将要求服务器以UDP通话并知道客户端的IP和端口
  • afaik与常规的网络托管(PHP/etc)我只能得到客户端的IP地址,只能通过TCP(HTTP)进行通信.

我目前正在考虑的选项:

  • 使用我的程序可以接受UDP连接的托管解决方案.(任何建议?)

  • UDPonNAT似乎这样做但使用GTalk并要求每个客户端都有一个GTalk帐户(这可能使它成为一个不合适的解决方案)

有任何想法吗?谢谢 :)

hosting networking p2p udp

6
推荐指数
1
解决办法
1686
查看次数

Scala中的链式比较

Python支持"链式比较"的优雅语法,例如:

0 <= n < 256
Run Code Online (Sandbox Code Playgroud)

含义,

0 <= n and n < 256
Run Code Online (Sandbox Code Playgroud)

从语法上知道它是一种相当灵活的语言,是否可以在Scala中模拟这个功能?

scala

12
推荐指数
2
解决办法
1033
查看次数

Java中的线程安全队列和"master/worker"程序的模式/原则

我有一个问题,我认为是经典的主/工模式,我正在寻求实施方面的建议.以下是我目前正在考虑的问题:

有一种全球性的"队列",它是一个"保持工作"的中心位置.据推测,这个队列将由一种"主"对象管理.线程将被生成以找到要做的工作,当他们找到要做的工作时,他们会告诉主要事物(无论是什么)"将其添加到要完成的工作队列".

主人,也许是间隔,将产生实际执行工作的其他线程.一旦线程完成其工作,我希望它通知主服务器工作已完成.然后,主服务器可以从队列中删除此工作.

我以前在Java中完成了大量的线程编程,但它们都先于JDK 1.5,因此我不熟悉处理这种情况的相应新API.我知道JDK7将有fork-join,这对我来说可能是一个解决方案,但我无法在这个项目中使用早期访问产品.

我认为问题是:

1)如何让"线程完成工作"与主人沟通,告诉他们他们的工作已经完成,主人现在可以从队列中删除工作

2)如何有效地保证工作只安排一次.例如,假设这个队列有一百万个项目,它想告诉一个工人"去做这100件事".什么是最有效的方法来保证当它为下一个工人安排工作时,它会得到"接下来的100件事"而不是"我已经安排的100件事"?

3)为队列选择适当的数据结构.我在这里的想法是,"寻找工作要做的线程"可能会发现不止一次做同样的工作,并且他们会向主人发送一条消息,说"这里的工作",并且主人会意识到工作已经已经安排好,因此应该忽略该消息.我想确保选择正确的数据结构,以便这种计算尽可能便宜.

传统上,我会在数据库中以有限状态机方式完成此任务,从开始到完成工作"任务".但是,在这个问题中,我不想使用数据库,因为队列的数量和波动性很大.另外,我想尽量保持它的重量轻.如果可以避免,我不想使用任何应用服务器.

很有可能我所描述的这个问题是一个众所周知的名称和一套公认的解决方案的常见问题,但我,我的低级非CS学位,不知道这叫什么(即请温柔).

感谢任何和所有指针.

java algorithm queue multithreading data-structures

11
推荐指数
1
解决办法
6528
查看次数

使用Excel OleDb获取工作表名称IN SHEET ORDER

我正在使用OleDb从包含许多工作表的excel工作簿中读取.

我需要阅读工作表名称,但我需要按照电子表格中定义的顺序进行操作; 所以如果我有一个看起来像这样的文件;

|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
Run Code Online (Sandbox Code Playgroud)

然后我需要得到字典

1="GERMANY", 
2="UK", 
3="IRELAND"
Run Code Online (Sandbox Code Playgroud)

我尝试过使用OleDbConnection.GetOleDbSchemaTable(),这给了我名单,但按字母顺序对它们进行排序.字母排序意味着我不知道特定名称对应于哪个表格编号.所以我得到了;

GERMANY, IRELAND, UK
Run Code Online (Sandbox Code Playgroud)

这改变了UK和的顺序IRELAND.

我需要对它进行排序的原因是我必须让用户按名称或索引选择一系列数据; 他们可以要求"从德国到爱尔兰的所有数据"或"从表1到表3的数据".

任何想法将不胜感激.

如果我可以使用办公室互操作课程,这将是直截了当的.不幸的是,我不能,因为互操作类在非交互式环境(如Windows服务和ASP.NET站点)中不能可靠地工作,所以我需要使用OLEDB.

c# oledb excel server-side

101
推荐指数
6
解决办法
19万
查看次数

LINQ to SQL - 数据库生成一个已在使用的密钥

我有一个简单的问题,即读取Excel文件(使用互操作)并使用从中提取的一些数据填充MSSQL数据库文件.到目前为止这很好.我有一个Shops表,其中包含以下字段:

  • ID:int,自动生成,自动同步:插入
  • 名称:字符串
  • 结算:字符串
  • 县:字符串
  • 地址:字符串

我阅读了excel文件,然后创建了一个新的Shops对象并设置了Name,Settlement,County和Address属性,并使用新的Shops对象调用Shops.InsertOnSubmit().

在此之后我必须重置数据库(至少是表),我发现最简单的方法是调用DeleteDatabase()方法,然后再次调用CreateDatabase().问题是,在第一次重置后,当我再次尝试填充表时,我得到异常:数据库生成了一个已经在使用的密钥.

另外,从那时起,我无法使用该数据库文件,因为DatabaseExists()返回FALSE,但是当我调用CreateDatabase()方法时,它抛出一个异常,数据库已经存在(尽管数据文件没有不存在).

我究竟做错了什么?非常感谢你提前!

c# sql-server linq-to-sql

6
推荐指数
1
解决办法
3116
查看次数