我正在寻找一种有效的方法来获取整个SVN存储库或给定资源路径的唯一提交作者列表.我没有能够专门为此找到一个SVN命令(并且不要指望一个),但我希望有一个更好的方法,我到目前为止在终端(在OS X上)尝试过:
svn log --quiet | grep "^r" | awk '{print $3}'
svn log --quiet --xml | grep author | sed -E "s:</?author>::g"
Run Code Online (Sandbox Code Playgroud)
这些中的任何一个都会为每行提供一个作者姓名,但它们都需要过滤掉相当多的额外信息.它们也不处理相同作者名称的重复,因此对于很少作者的许多提交,有大量冗余流过网络.通常我只想看到唯一的作者用户名.(实际上,有时候推断每个作者的提交次数可能很方便,但即使在这些情况下,如果聚合数据的发送也会更好.)
我通常使用仅限客户端访问,因此svnadmin命令不太有用,但如果有必要,我可能会在必要时或者更高效的情况下特别关注存储库管理员.我正在使用的存储库有成千上万的提交和许多活跃的用户,我不想给任何人带来不便.
给定一个字符串列表,我想按字母顺序对其进行排序并删除重复项.我知道我可以这样做:
from sets import Set
[...]
myHash = Set(myList)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何按字母顺序从散列中检索列表成员.
我没有和哈希结婚,所以任何方法都可以实现.此外,性能不是问题,因此我更倾向于使用代码清楚地表达一个快速但更不透明的解决方案.
如何找到唯一的行并从文件中删除所有重复项?我的输入文件是
1
1
2
3
5
5
7
7
Run Code Online (Sandbox Code Playgroud)
我希望结果如下:
2
3
Run Code Online (Sandbox Code Playgroud)
sort file | uniq不会做这个工作.将显示所有值1次
我们来看一个简单的"帐户注册"示例,这里是流程:
当然,我们可以通过读取MVC控制器中的ReadModel来验证UserName的唯一性,以提高性能和用户体验.但是,我们仍然需要在RegisterCommand中再次验证唯一性,显然,我们不应该在命令中访问ReadModel.
如果我们不使用Event Sourcing,我们可以查询域模型,这样就没问题了.但是如果我们使用Event Sourcing,我们无法查询域模型,那么我们如何验证RegisterCommand中的UserName唯一性?
注意: User类具有Id属性,UserName不是User类的键属性.在使用事件源时,我们只能通过Id获取域对象.
顺便说一句:在要求中,如果已经输入了UserName,则网站应向访问者显示错误消息"抱歉,用户名XXX不可用".显示一条消息是不可接受的,例如"我们正在创建您的帐户,请稍后,我们会通过电子邮件将注册结果发送给您"给访问者.
有任何想法吗?非常感谢!
[UPDATE]
一个更复杂的例子:
需求:
下订单时,系统应该检查客户的订购历史,如果他是一个有价值的客户(如果客户在去年每月至少订购10个订单,他是有价值的),我们会在订单上减价10%.
执行:
我们创建PlaceOrderCommand,在命令中,我们需要查询订购历史记录以查看客户端是否有价值.但是我们怎么能这样做呢?我们不应该在命令中访问ReadModel!正如Mikael 所说,我们可以在帐户注册示例中使用补偿命令,但如果我们在此订购示例中也使用补偿命令,那么它将太复杂,并且代码可能难以维护.
我在R中有以下数据框:
> str(df)
'data.frame': 545227 obs. of 15 variables:
$ ykod : int 93 93 93 93 93 93 93 93 93 93 ...
$ yad : Factor w/ 42 levels "BAKUGAN","BARBIE",..: 30 30 30 30 30 30 30 30 30 30 ...
$ per : Factor w/ 3 levels "2 AYLIK","3 AYLIK",..: 3 3 3 3 3 3 3 3 3 3 ...
$ donem: int 201101 201101 201101 201101 201101 201101 201101 201101 201101 201101 ...
$ sayi …Run Code Online (Sandbox Code Playgroud) 我有一个大于100列的数据框,我会通过只比较两列来找到唯一的行.我希望这是一个简单的,但我无法与它unique或duplicated我自己合作.
在下面,我想只使用id和id2唯一:
data.frame(id=c(1,1,3),id2=c(1,1,4),somevalue=c("x","y","z"))
id id2 somevalue
1 1 x
1 1 y
3 4 z
Run Code Online (Sandbox Code Playgroud)
我想获得:
id id2 somevalue
1 1 x
3 4 z
Run Code Online (Sandbox Code Playgroud)
要么:
id id2 somevalue
1 1 y
3 4 z
Run Code Online (Sandbox Code Playgroud)
(我没有偏好保留哪些唯一行)
如何从表中的列获取唯一值?例如,我有这个Products表:
ID NAME CATEGORY
1 name1 1st_cat
2 name2 2nd_cat
3 name3 1st_cat
Run Code Online (Sandbox Code Playgroud)
在这里,我想只获得2个值 - 1st_cat和2nd_cat:
<%Products.each do |p|%>
<%=p.category%>
<%end%>
Run Code Online (Sandbox Code Playgroud) 我是R的新手,我有以下疑问:
我试图在R中生成一个有多行(数据系列)的图.这些行中的每一行都是一个类别,我希望它具有独特的颜色.
目前我的代码是以这种方式设置的:
首先,我正在创建一个空图:
plot(1,type='n',xlim=c(1,10),ylim=c(0,max_y),xlab='ID', ylab='Frequency')
Run Code Online (Sandbox Code Playgroud)
然后对于我的每个类别,我使用"for"循环在这个空图中绘制线条,如下所示:
for (category in categories){
lines(data.frame.for.this.category, type='o', col=sample(rainbow(10)), lwd=2)
}
Run Code Online (Sandbox Code Playgroud)
这里有8个类别,因此该图中有8个线.正如您所看到的,我尝试从rainbows()函数中采样颜色以生成每行的颜色.
但是,当生成绘图时,我发现有多条线具有相同的颜色.例如,这8行中的3行具有绿色.
如何使这8条线中的每一条都具有独特的颜色?
另外,我如何在情节的传说中反映这种独特性?我试图查找legend()函数,但不清楚我应该使用哪个参数来反映每个类别的这种独特颜色?
任何帮助或建议将不胜感激.
我记得曾经在规范中读过id属性和name属性共享相同的命名空间并且必须是唯一的.从此以后,我总是试图在我的应用程序中满足这个要求,即使给予相同id和name相同的元素也要害怕.
但是最近我开始使用ASP.NET MVC 3,它(像PHP一样)可以name在几个输入控件上使用相同的属性,在服务器端形成一组值.我试图查找规范中的相关部分 - 但未能找到它.也许我误解了一些东西,或者读错了文档?
怎么回事呢?我想生成尽可能有效的HTML(在不同的应用程序中都是4.01和5).我可以毫无畏惧地使用这个技巧吗 或者我会违反某些内容并且应该更好地坚持独特的价值观?
考虑my_list包含的Python列表['foo', 'foo', 'bar'].
什么是最Python的方式uniquify和排序列表?
(想cat my_list | sort | uniq)
这就是我目前的工作方式,虽然它有效但我确信有更好的方法可以做到这一点.
my_list = []
...
my_list.append("foo")
my_list.append("foo")
my_list.append("bar")
...
my_list = set(my_list)
my_list = list(my_list)
my_list.sort()
Run Code Online (Sandbox Code Playgroud)