小编pha*_*ers的帖子

请解释杂音哈希?

我刚发现杂音哈希,似乎是最快的已知和相当抗冲突.我试图在完整的源代码中挖掘更多关于算法或实现的内容,但我很难理解它.有人可以在这里解释所使用的算法,或者在完整的源代码中实现它,最好是在C中.我从作者网站上读到了C源代码但是不知道,比如:什么是seed,h,k,m?这是什么意思 :

k *= m; 
k ^= k >> r; 
k *= m; 

h *= m; 
h ^= k;

data += 4;
len -= 4;
Run Code Online (Sandbox Code Playgroud)

???

参考:http://murmurhash.googlepages.com/

抱歉我的英语和我的愚蠢.干杯

algorithm hashtable collision

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

REST POST提供ID时该怎么办?

我正在开发一个JAX-RS API,其中包括带有字段“ id”和“ name”的简单“ Person”表,其中“ id”绑定到mysql数据库中的自动编号。一个典型的用例是发布一个新人。

JSON消息的POST {"name":"Bob"}可能会返回,例如{"id":101,"name":"Bob"}

如果调用方请求对包含标识符的对象进行POST,该怎么办?看来我的选择是:

  • 拒绝该请求为无效
  • 从请求中删除ID,然后继续处理
  • 将POST视为UPSERT(在更新失败时,删除ID并插入)
  • 尝试使用提供的ID创建新记录

从安全的角度来看,最后一个选项似乎很狡猾。如果我使用的是mysql,则恶意用户可能会在一个请求中将我的自动编号提高到最大值。

如何在REST API中处理在POST请求中包含ID的问题?

rest jax-rs autonumber

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

为什么模式匹配在 scala 中没问题,但在 Java 中使用 instanceof 却是糟糕代码的标志

我不明白模式匹配的一个方面。

在模式匹配的文档中,他们显示了一个示例,例如:

https://docs.scala-lang.org/tour/pattern-matching.html

abstract class Notification

case class Email(sender: String, title: String, body: String) extends Notification

case class SMS(caller: String, message: String) extends Notification

case class VoiceRecording(contactName: String, link: String) extends Notification

def showNotification(notification: Notification): String = {
  notification match {
    case Email(sender, title, _) =>
      s"You got an email from $sender with title: $title"
    case SMS(number, message) =>
      s"You got an SMS from $number! Message: $message"
    case VoiceRecording(name, link) =>
      s"You received a Voice Recording from $name! Click the …
Run Code Online (Sandbox Code Playgroud)

java scala

5
推荐指数
1
解决办法
1060
查看次数

Cordova:启动短信应用程序并确认已发送短信

我期待科尔多瓦作为一个问题的可能解决方案,并想在编码之前询问它是否可行.我似乎无法通过谷歌搜索找到任何确凿的文件.

我想启动短信应用程序并确定用户是否实际发送了短信,或者只是取消了短信.

我可以用科尔多瓦做到吗?


[更新]我不能保证在用户的设备上安装任何应用程序.我只是服务一个网页,想知道我是否可以启动短信应用程序,并确定用户是否发送了短信与科尔多瓦.

cordova

3
推荐指数
1
解决办法
601
查看次数

混淆它!为什么这个简单的测试用例不起作用?

@Test
public void testCamelCase() {
    String orig="want_to_be_a_camel";
    String camel=orig.replaceAll("_([a-z])", "$1".toUpperCase());
    System.out.println(camel);
    assertEquals("wantToBeACamel", camel);
}
Run Code Online (Sandbox Code Playgroud)

显示"wanttobeacamel"后失败.为什么没有大写字符?

java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

========= Post Mortem:

使用简单的replaceAll是一个死胡同.我只是为了教我的孩子编写代码来做这件事......但是对于Jayamohan来说,这是另一种方法.

public String toCamelCase(String str) {
    if (str==null || str.length()==0) {
        return str;
    }
    char[] ar=str.toCharArray();
    int backref=0;
    ar[0]=Character.toLowerCase(ar[0]);
    for (int i=0; i<ar.length; i++) {
        if (ar[i]=='_') {
            ar[i-backref++]=Character.toUpperCase(ar[i+++1]);
        } else {
            ar[i-backref]=ar[i];
        }
    }
    return new String(ar).substring(0,ar.length-backref);
}
Run Code Online (Sandbox Code Playgroud)

java

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

标签 统计

java ×2

algorithm ×1

autonumber ×1

collision ×1

cordova ×1

hashtable ×1

jax-rs ×1

rest ×1

scala ×1