小编snd*_*yuk的帖子

如何使用Java 8创建无限流

有没有一种简单的方法可以使用没有外部库的创建无限流?

例如在Scala中:

Iterator.iterate(0)(_ + 2)
Run Code Online (Sandbox Code Playgroud)

java java-8

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

选项getOrElse类型不匹配错误

为什么此代码会在Scala 2.9.2中引发类型不匹配错误?我期望getOrElse返回类型,String但实际上它返回java.io.Serializable:

scala> implicit def StringToOption(s:String) = Option(s)
StringToOption: (s: String)Option[String]

scala> "a".getOrElse("")
res0: String = a

scala> var opt:Option[String] = "a".getOrElse("")
<console>:8: error: type mismatch;
 found   : java.io.Serializable
 required: Option[String]
       var opt:Option[String] = "a".getOrElse("")
                                             ^
Run Code Online (Sandbox Code Playgroud)

还行吧:

scala> implicit def StringToOption(s:String): Option[String] = Option(s)
StringToOption: (s: String)Option[String]

scala> var b:Option[String] = "a".getOrElse("") toString
b: Option[String] = Some(a)
Run Code Online (Sandbox Code Playgroud)

scala type-mismatch implicit-conversion

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

使用承载令牌进行身份验证(≠授权)

使用该请求的请求Authorization: bearer [token]可用于身份验证吗?

要么

我们应该使用另一种方法来验证客户端并发出令牌,然后将令牌用作OAuth2的持票令牌吗?为什么流行的Web服务(例如Github,AWS,Google ..)使用其他方法(如AWS所做的:) Authorization: AWS4-HMAC-SHA256 Credential=...来验证客户端.问题的关键是:在以下流程中是否存在任何可贬值或违反标准的情况.

我想使用以下流程:

the client:这就像Twitter客户端.
the server:这就像Twitter API.

  1. 客户端生成令牌(加密的用户ID,密码等).
  2. 客户端向服务器请求资源Authorization: bearer [token].
  3. 服务器解密令牌并验证客户端.
  4. 服务器响应资源.

我阅读了以下RFC,但我没有找到任何理由,为什么我不应该或应该使用上面的流程.

https://tools.ietf.org/html/rfc7235
https://tools.ietf.org/html/rfc6750

谢谢

authentication api http web bearer-token

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

结构子类型反射

我们可以val s: String从函数外部获得使用反射的类型f吗?

val f = (r: {val s: String}) => {
}
Run Code Online (Sandbox Code Playgroud)

reflection scala structural-typing

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