我有一个以特定方式构建和部署的工件(而不是jar文件).在部署过程中,构建了war文件.
如何配置pom以便将工件也部署为jar文件到其他位置?
为了使这更容易理解,我将提出完全相同的问题,就好像它是关于一个论坛(实际的应用程序根本不涉及论坛,但我认为这样的并行更容易让我们大多数人掌握,实际的应用程序是关于大多数程序员不会理解的非常具体的东西(它是一个针对硬核图形设计师的应用程序)).
假设有一个线程表存储有关每个论坛线程的信息,以及一个存储每个用户的线程评级的线程表(1-5).为了提高效率,我决定在线程表中缓存评级平均值和投票数,触发器听起来更像是一个好主意(我曾经在实际应用程序代码中做过这样的事情,但我认为触发器值得一试,尽管调试危险).
如您所知,MS SQL Server不支持每行执行一次触发器,它必须是每个语句.所以我尝试用这种方式定义它:
CREATE TRIGGER thread_rating ON threadrating
AFTER INSERT
AS
UPDATE thread
SET
thread.rating = (thread.rating * thread.voters + SUM(inserted.rating))/(thread.voters + COUNT(inserted.rating)),
thread.voters = thread.voters + COUNT(inserted.rating)
FROM thread
INNER JOIN inserted ON(inserted.threadid = thread.threadid)
GROUP BY inserted.threadid
Run Code Online (Sandbox Code Playgroud)
但我收到"GROUP BY"子句的错误(我预期).问题是,我该如何做到这一点?
对不起,如果问题很愚蠢,但这是我第一次尝试使用触发器.
附加信息:线程表将包含threadid(int,主键),rating(float),votes(int)以及对当前问题无关的其他一些字段.该threadrating表只包含threadid(外键),userid(users表主键的外键)和rating(tinyint在1和5之间).
错误消息"关键字'GROUP'附近的语法不正确."
我想实现一个简单的内存LRU缓存系统,我正在考虑一个基于IDictionary实现的解决方案,它可以处理散列LRU机制.来自java,我有经验LinkedHashMap,可以满足我的需要:我找不到任何类似的.NET解决方案.
有人开发过它或有没有人有这样的经历?
给定一个以请求当前时间的最高优先级运行的C进程,返回的时间是否根据代码返回用户进程空间所花费的时间进行调整?你拿到它时过时了吗?作为一种测量,在循环中获取已知数量的汇编指令的执行时间,并询问它之前和之后的时间可以给出误差的近似值.我知道这一定是科学应用中的一个问题吗?我不打算在不久的将来随时编写涉及任何超级碰撞器的软件.我已经阅读了一些关于这个主题的文章,但它们并没有表明是否进行任何修正以使得给你的时间略早于系统读入的时间.我是否应该在其他事情上失眠?
我在java中编写了一个凝聚聚类算法,并且在删除操作时遇到了问题.当簇的数量达到初始数量的一半时,它似乎总是失败.
在下面的示例代码中,clusters是一个Collection<Collection<Integer>>.
while(clusters.size() > K){
// determine smallest distance between clusters
Collection<Integer> minclust1 = null;
Collection<Integer> minclust2 = null;
double mindist = Double.POSITIVE_INFINITY;
for(Collection<Integer> cluster1 : clusters){
for(Collection<Integer> cluster2 : clusters){
if( cluster1 != cluster2 && getDistance(cluster1, cluster2) < mindist){
minclust1 = cluster1;
minclust2 = cluster2;
mindist = getDistance(cluster1, cluster2);
}
}
}
// merge the two clusters
minclust1.addAll(minclust2);
clusters.remove(minclust2);
}
Run Code Online (Sandbox Code Playgroud)
经过几次循环后,clusters.remove(minclust2)最终返回false,但我不明白为什么.
我通过首先创建10个集群来测试此代码,每个集群都有一个1到10的整数.距离是0到1之间的随机数.这是添加一些println语句后的输出.在簇数之后,我打印出实际的簇,合并操作以及clusters.remove(minclust2)的结果.
Clustering: 10 clusters
[[3], [1], [10], [5], [9], [7], [2], [4], …Run Code Online (Sandbox Code Playgroud) 我有以下内容:
'.anchor('','Home').'
Run Code Online (Sandbox Code Playgroud)
我想为它添加以下CSS类:
class="top_parent"
Run Code Online (Sandbox Code Playgroud)
这样,当它在浏览器中呈现时,代码将类似于以下内容:
<a href="#" class="top_parent">Home</a>
Run Code Online (Sandbox Code Playgroud)
在此先感谢,非常感谢任何帮助.
-
汤姆
考虑以下Haskell程序.我试图以"流式"编程,其中函数在流上运行(这里简单地作为列表实现).像normalStreamFunc这样的东西适用于懒惰列表.我可以将无限列表传递给normalStreamFunc并有效地获取另一个无限列表,但是将函数映射到每个值.像effectivefulStreamFunc这样的东西不能很好地工作.IO操作意味着我需要先评估整个列表,然后才能提取单个值.例如,程序的输出是这样的:
a
b
c
d
"[\"a\",\"b\"]"
Run Code Online (Sandbox Code Playgroud)
但我想要的是一种编写effectfulStreamFunc的方法,以便程序生成:
a
b
"[\"a\",\"b\"]"
Run Code Online (Sandbox Code Playgroud)
留下剩下的行动没有评估.我可以想象一个使用unsafePerformIO的解决方案,但是假设我把它从表中拿走了.这是程序:
import IO
normalStreamFunc :: [String] -> [String]
normalStreamFunc (x:xs) = reverse(x) : normalStreamFunc xs
effectfulStreamFunc :: [String] -> IO [String]
effectfulStreamFunc [] = return []
effectfulStreamFunc (x:xs) = do
putStrLn x
rest <- effectfulStreamFunc xs
return (reverse(x):rest)
main :: IO ()
main = do
let fns = ["a", "b", "c", "d"]
es <- effectfulStreamFunc fns
print $ show $ take 2 es
Run Code Online (Sandbox Code Playgroud)
更新:
谢谢大家的有益和深思熟虑的反馈.我之前没有见过sequence操作员,这对了解有帮助.我曾想过一种(不那么优雅)传递IO(字符串)值而不是字符串的方法,但对于编程风格的用途有限,因为我希望其他流函数对字符串本身起作用,而不是可以产生字符串的动作.但是,基于对其他回答的思考,我想我明白为什么这一般无法解决.在我提出的简单案例中,我真正想要的是sequence运算符,因为我认为流顺序意味着对操作的排序.事实上,不一定暗示这种排序.当我考虑以两个流作为输入的流函数时(例如,成对添加两个流),这对我来说变得更加清晰.如果两个"传入"流都执行IO,那么这些IO动作的顺序是不确定的(当然,除非我们通过在IO monad中对它进行排序来定义它).问题解决了,谢谢大家!
这可能是一个简单的问题,但是我的第一次尝试完全失败了.我想取一个原始long的数组并将其转换为一个列表,我尝试这样做:
long[] input = someAPI.getSomeLongs();
List<Long> inputAsList = Arrays.asList(input); //Total failure to even compile!
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
我正在尝试构建一个正则表达式,它将检测Windows不接受的任何字符作为文件名的一部分(这些对于其他操作系统是否相同?我不知道,说实话).
这些符号是:
\ / : * ? " |
无论如何,这就是我所拥有的: [\\/:*?\"<>|]
来自http://gskinner.com/RegExr/的测试人员表明这是有效的.对于字符串Allo*ha,*符号亮起,表示已找到它.Allo**ha但是,我应该进入,只有第一个*会亮起来.所以我想我需要修改这个正则表达式以找到所提到的字符的所有外观,但我不确定.
你看,在Java中,我很幸运能够拥有String.replaceAll函数(String regex,String replacement).描述说:
将给定替换的给定正则表达式匹配的此字符串的每个子字符串替换.
换句话说,即使正则表达式只找到第一个然后停止搜索,这个函数仍然会找到它们.
例如: String.replaceAll("[\\/:*?\"<>|]","")
但是,我不觉得我可以冒这个险.那么有谁知道如何扩展它?
我试图从我的elisp函数中获得动态提示.我想要一些像replace-regexp这样的东西,它会显示你输入的最后一个正则表达式.我尝试过(交互式(concat"sab""bab")))但不起作用!
我也尝试了像格式的消息(交互式"s%s"last-used-regexp)
这不起作用!有人知道怎么做吗?
谢谢!