我想对一组项目(大小可能大于100,000)进行排序或排序,其中集合中的项目没有内在(可比较)值,而我所拥有的是用户提供的任何两个项目之间的比较.一种主观的方式.
例如:考虑的元素的集合[a, b, c, d]
用户和比较b > a
,a > d
,d > c
.这个集合的正确顺序是[b, a, d, c]
.
这个例子很简单,但可能会有更复杂的情况:
c > b
.在这种情况下会导致与上面的排序冲突.b > a
,d > c
.在这种情况下,排序是模糊的.它可能是[b, a, d, c]
或[d, c, b, a]
.在这种情况下,任何订购都是可以接如果可能的话,以某种方式考虑相同比较的多个实例并且给予具有更高发生率的那些更多权重将是很好的.但是没有这种条件的解决方案仍然可以接受.
Zuckerberg的FaceMash应用程序使用了这种算法的类似应用,他根据比较对人进行了排名(如果我理解正确的话),但是我无法找到该算法实际上是什么.
是否存在可以解决上述问题的算法?如果是这样的话,我不想花钱努力想出一个.如果没有特定的算法,是否有某些类型的算法或技术可以指向我?
我正在尝试定义一个切入点表达式来匹配包含用特定注释注释的参数的方法,无论参数位于什么位置.在我的情况下,我正在寻找@Constraint
注释.例如:
匹配方法:
public void method1(@Constraint Car car)
public void method2(String id, @Constraint Plane plane)
public void method3(Wheel wheel, @Constraint List<Train> trains, @Constraint Plane plane)
public void method4(Motor motor, @Constraint Set<Train> trains, Bicycle bike, Wheel wheel)
public void method5(Wing wing, Motorcycle moto, @Constraint Truck truck, Bicycle bike, Wheel wheel)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了以下表达式,没有运气:
@Before("execution(public * *.*(..)) and @args(com.example.Constraint)") // there can be only one parameter
@Before("execution(public * *.*(..)) and @args(..,com.example.Constraint)") // parameter must be in last position
@Before("execution(public * *.*(..)) and @args(com.example.Constraint,..)") …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个通用trait,它有一个返回类本身实例的方法.例如:
trait SomeGenericTrait[T]{
def withData(newData : Seq[T]) : this.type
}
case class SomeImpl(data : Seq[Int]) extends SomeGenericTrait[Int] {
override def withData(newData : Seq[Int]) : SomeImpl = copy(data = newData)
}
error: overriding method withData in trait SomeGenericTrait of type(newData: Seq[Int])SomeImpl.this.type; method withData has incompatible type
Run Code Online (Sandbox Code Playgroud)
没有显式返回类型:
case class SomeImpl(data : Seq[Int]) extends SomeGenericTrait[Int] {
override def withData(newData : Seq[Int]) = copy(data = newData)
}
error: type mismatch;
found : SomeImpl
required: SomeImpl.this.type
Run Code Online (Sandbox Code Playgroud)
这会导致编译失败,因为已实现的返回值withData
是SomeImpl
基于特征的方法声明的预期返回类型SomeImpl.this.type
.
有谁知道我需要如何更改特征方法声明的返回类型,以便这可以工作?我有一个更通用的用例是 …
我正在努力防止基于Java,基于Spring的Web应用程序中的跨站点脚本(XSS).我已经实现了一个类似于这个例子的servlet过滤器http://greatwebguy.com/programming/java/simple-cross-site-scripting-xss-servlet-filter/,它清理了应用程序的所有输入.作为额外的安全措施,我还想清理所有JSP中应用程序的所有输出.我做了一些研究,看看如何做到这一点,并找到了两个补充选项.
其中之一是使用Spring的defaultHtmlEscape
属性.这很容易实现(web.xml中的几行),当你的输出通过spring的标签之一(即:消息或表单标签)时,它非常有用.我发现的另一个选择是不直接使用EL表达式${...}
,而是使用<c:out value="${...}" />
第二种方法非常有效,但是由于我正在处理的应用程序的大小(200多个JSP文件).用c:out
标签替换EL表达式的所有不当使用是一项非常麻烦的任务.此外,确保所有开发人员都遵守使用c:out
标签的惯例(更不用说,代码将更难以理解)将来将成为一项繁琐的任务.
有没有其他方法可以逃避需要更少代码修改的EL表达式的输出?
我正在尝试使用salesforce REST API执行SOQL查询,该API将返回2,749个结果.但是,对于给定的请求,似乎可以返回2,000个结果的限制.
有没有办法在不使用OFFSET关键字的情况下查询剩余的749结果?(我的生产环境目前不支持它).
我查看了这个并找到了一个queryMore函数,但我找不到通过REST API调用它的方法.
我试图遍历给定div中的所有元素,并将结果(我稍后将使用的C#代码)输出到屏幕进行测试.
所以,如果我有像这样的HTML:
<div id="testDiv">
<test>
<a>aVal</a>
<c>
<cc>ccVal</cc>
</c>
</test>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试生成此字符串值:
HtmlElement.CreateNode("test").AddNode(CreateNode("a").addText("aVal")).AddNode(CreateNode("c").AddNode(CreateNode("cc").addText("ccVal"))
Run Code Online (Sandbox Code Playgroud)
现在我把这个jquery放到了位置,但我不确定如何深入到其他节点:
var x = "HtmlElement.";
$('div#testDiv').children().each(function () {
var nodeNameStr = this.nodeName.toLowerCase();
var nodeText = $(this).text();
x += "CreateNode(nodeNameStr).addText(nodeText)"
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试定义一组"LazyChains",用于在将来的时间处理传入的消息.我希望LazyChains的API与Scala集合API(即:Seq,Stream等)无法区分.这将允许我在消息到达之前以声明方式定义过滤/转换/操作.这可能是一个众所周知的模式,我不知道它的名字,所以这使我很难找到任何结果.
这是我想要完成的一个例子:
val chainA = LazyChain()
.filter(_ > 1)
.map(x => x * 2)
.foreach(println _)
val chainB = LazyChain()
.filter(_ > 5)
.flatMap(x => Seq(x, x))
.foreach(println _)
chainA.apply(2) // should print "4"
chainA.apply(1) // should print nothing
chainB.apply(10) // should print "10" - twice
Run Code Online (Sandbox Code Playgroud)
Scala集合API中是否已存在此模式?如果没有,我该如何实现这个类LazyChain
?
这是我目前的尝试.我似乎无法弄清楚如何使类型工作:
case class LazyChain[I, O](val filter : Option[I => Boolean],
val transform : I => O,
val action : Option[O => Unit]) {
def filter(otherFilter : I => Boolean): LazyChain[I, O] …
Run Code Online (Sandbox Code Playgroud) 我正在使用 Salesforce REST API 创建案例。我将 SuppliedEmail 字段以及所有其他必要字段分配给创建案例的用户的电子邮件。案例已在 salesforce 中正确创建,但未触发为其设置的自动响应规则。我已验证该规则正在运行且处于活动状态,满足该规则的所有条件,因此这不是规则不匹配的问题。
问题是,在通过 API 创建案例后,salesforce 不会评估/触发自动响应规则。通过 SOAP API,您可以使用 EmailHeader 进行设置,但我找不到通过 REST API 进行设置的方法。
需要明确的是,我正在向 URI 发出 POST 请求/sobjects/Case
,并将案例本身的 JSON 值作为请求正文。
有没有办法EmailHeader.triggerAutoResponseEmail
使用 REST API 将字段设置为 true,也许通过请求正文中的一些附加字段?
我有一个代表标签集合的资源:
/users/{username}/tags
Run Code Online (Sandbox Code Playgroud)
API客户端应该能够在单个HTTP请求中向此集合添加一组标记.我想过如何做到这一点,并首先考虑使用PUT或POST方法.但是我认为这意味着客户端正在"设置"或"替换"该集合中的标签.将"多个"标签"添加"到该集合中最合适的HTTP方法(或者可能是不同的机制)是什么?
{HTTP METHOD} /users/{username}/tags
Run Code Online (Sandbox Code Playgroud)
请求机构:
["short", "crazy", "funny"]
Run Code Online (Sandbox Code Playgroud) 在 Mongo 中,如何仅使用update
操作将字段转换为仅包含原始值的数组?
给定一个文件:
{
"field": "x"
}
Run Code Online (Sandbox Code Playgroud)
然后进行一项或多项更新操作:
db.items.update(...)
Run Code Online (Sandbox Code Playgroud)
应该导致:
{
"field": ["x"]
}
Run Code Online (Sandbox Code Playgroud) 使用Spring Data(1.1.0.M1)有一种方法可以确定删除了多少文档?
目前我remove()
在MongoTemplate
类上使用该方法,但它不返回任何有关该操作的信息.
如果没有通过MongoTemplate
,是否有不同的方法来删除文件,并找出删除了多少文件?
我有以下代码来为我的页面设置字体样式,但不知何故@ font-face在mozilla中工作但在IE中没有.有谁知道这里发生了什么,我该如何解决这个问题?
@font-face {
font-family: 'TrashHand';
src: url('../fonts/TrashHand.ttf');
}
@font-face {
font-family: 'BebasNeue';
src: url('../fonts/BebasNeue.otf');
}
.tab_g
{
background:url(../images/ss_tab_0.png) no-repeat;
width:176px;
height:42px;
font: 25px 'TrashHand',Arial, Helvetica, sans-serif;
font-weight:50;
text-transform:uppercase;
color:#ffffff;
padding-top:10px;
text-align:center;
margin-bottom:-15px;
}
Run Code Online (Sandbox Code Playgroud) java ×3
rest ×3
mongodb ×2
salesforce ×2
scala ×2
spring ×2
algorithm ×1
aop ×1
api ×1
aspectj ×1
comparison ×1
css ×1
email ×1
generics ×1
http-method ×1
javascript ×1
jquery ×1
jsp ×1
jstl ×1
pagination ×1
pointcut ×1
ranking ×1
security ×1
sorting ×1
spring-data ×1
xss ×1