我在Intellij 15.0.2中有一个SBT项目,仅用于scala编程.
出于某种原因,项目在我的项目中不断创建以下文件夹:
我试图通过在项目结构中取消选中它们作为"来源"或"测试"然后删除文件夹来删除它们.但它们会立即由Intellij重新创建......
我似乎在与std :: io :: TcpStream挣扎.我实际上是尝试与另一个系统打开TCP连接,但下面的代码完全模拟了问题.
我有一个Tcp服务器,只需在打开时将"Hello World"写入TcpStream,然后循环以保持连接打开.
fn main() {
let listener = io::TcpListener::bind("127.0.0.1", 8080);
let mut acceptor = listener.listen();
for stream in acceptor.incoming() {
match stream {
Err(_) => { /* connection failed */ }
Ok(stream) => spawn(proc() {
handle(stream);
})
}
}
drop(acceptor);
}
fn handle(mut stream: io::TcpStream) {
stream.write(b"Hello Connection");
loop {}
}
Run Code Online (Sandbox Code Playgroud)
所有客户端都尝试从连接读取单个字节并打印它.
fn main() {
let mut socket = io::TcpStream::connect("127.0.0.1", 8080).unwrap();
loop {
match socket.read_byte() {
Ok(i) => print!("{}", i),
Err(e) => {
println!("Error: {}", …
Run Code Online (Sandbox Code Playgroud) 我经常使用Spark,如果编译器可以确保类型可序列化,它将节省我很多时间.
也许有一个类型?
def foo[T: IsSerializable](t: T) = {
// do stuff requiring T to be serializable
}
Run Code Online (Sandbox Code Playgroud)
限制T <:Serializable是不够的.它可能仍然在运行时失败.单元测试是一个很好的替代品,但你仍然可以忘记它们,特别是在与大团队合作时.
我认为如果没有密封类型,这在编译时可能是不可能的.
java.time
库是否提供了解析整个ISO-8601持续时间规范的综合方法?
持续时间的Alexa Slot Type引用列出了使用AMAZON.DURATION槽类型时要预期的一些示例字符串.所有字符串都在ISO-8601持续时间内,但P2YT3H10
无法通过java.time.Period
或解析java.time.Duration
.
Seq(
"PT10M",
"PT5H",
"P3D",
"PT45S",
"P8W",
"P7Y",
"PT5H10M",
"P2YT3H10"
).map { s =>
s -> Try {
try {
Period.parse(s)
} catch {
case ex: Throwable => Duration.parse(s)
}
}.map(x => x.toString -> x.getClass.getSimpleName)
}
.foreach(println)
Run Code Online (Sandbox Code Playgroud)
结果:
(PT10M,Success((PT10M,Duration)))
(PT5H,Success((PT5H,Duration)))
(P3D,Success((P3D,Period)))
(PT45S,Success((PT45S,Duration)))
(P8W,Success((P56D,Period)))
(P7Y,Success((P7Y,Period)))
(PT5H10M,Success((PT5H10M,Duration)))
(P2YT3H10,Failure(java.time.format.DateTimeParseException: Text cannot be parsed to a Duration))
Run Code Online (Sandbox Code Playgroud) 假设我们有一个隐含的类,如:
implicit class RichString(str: String) {
def sayHello(): String = s"Hello, ${str}!"
}
Run Code Online (Sandbox Code Playgroud)
我们可以使用sayHello方法,就好像它是在String类中定义的一样
"World".sayHello
Run Code Online (Sandbox Code Playgroud)
scala编译器是否将其优化为静态调用以避免构造RichString对象的开销?
我在Goole Cloud上有一个HTTP和HTTPS负载均衡器.是否可以将其设置为强制(重定向)所有HTTPS连接?
我正在尝试安装我从Comodo为我的域名获取的SSL证书,但我正在获取
SSLHandshakeException:没有共同的密码套件
我已经阅读了关于这个主题的多个问题,但是所提出的答案都没有帮助我.
Comodo提供了四个证书:
我在Dockerfile中设置服务器以将问题与我的本地开发环境隔离开来:
from google/debian:wheezy
# Server binary and certificates are copied in before this
RUN apt-get update && apt-get install -y openjdk-7-jre
ADD UnlimitedJCEPolicyJDK7.zip /
RUN unzip UnlimitedJCEPolicyJDK7.zip && cp UnlimitedJCEPolicy/*.jar /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/security/
RUN keytool -import -trustcacerts -alias root -file AddTrustExternalCARoot.crt -keystore /example.com.jks -storepass changeit -noprompt
RUN keytool -import -trustcacerts -alias int-1 -file COMODORSAAddTrustCA.crt -keystore /example.com.jks -storepass changeit -noprompt
RUN keytool -import -trustcacerts -alias int-2 -file COMODORSADomainValidationSecureServerCA.crt -keystore /example.com.jks -storepass changeit -noprompt
RUN keytool …
Run Code Online (Sandbox Code Playgroud) 我无法编译简单的specs2 hello world示例:
import org.junit.runner.RunWith
import org.specs2.Specification
import org.specs2.runner.JUnitRunner
import org.specs2.mutable._
@RunWith(classOf[JUnitRunner])
class SampleTest extends Specification {
"The 'Hello world' string" should {
"contain 11 characters" in {
"Hello world" must have size(11)
}
"start with 'Hello'" in {
"Hello world" must startWith("Hello")
}
"end with 'world'" in {
"Hello world" must endWith("world")
}
}
}
Run Code Online (Sandbox Code Playgroud)
得到错误:
:compileTestScala [ant:scalac]元素'/ home/~~~~/workspaces/~~~~/build/resources/main'不存在.
[ant:scalac] /home/~~~~/workspaces/~~~~/src/test/scala/com/~~~~/ingestion/SampleTest.scala:16:错误:值in不是
{
[ant:scalac]中的字符串[ant:scalac]"包含11个字符" 发现一个错误
:compileTestScala FAILED
我正在使用Gradle(因此是@RunWith注释).使用specs2版本'org.specs2:specs2_2.10:2.4.15'
apply plugin: 'java'
apply plugin: 'scala'
repositories {
mavenCentral()
maven {
url …
Run Code Online (Sandbox Code Playgroud) 我一直在io.js中试验ES6 Map,并意识到我不能做到以下几点:
var map = new Map()
map.set( {key:"value"}, "some string");
map.get( {key:"value"} ); // undefined. I want "some string"
Run Code Online (Sandbox Code Playgroud)
这是因为{key:"value"} === {key:"value"}为false.
我需要能够使用一个对象作为键,但不需要ACTUAL对象来查找值,就像java HashMap如何使用hashcode和equals一样.这可能吗?
我想了解在短时间内对实体进行大量更新并且客户端正在侦听该实体上的“值”更改的情况下,Firebase 和侦听客户端的行为如何。
假设我在 firebase 中有一个实体,其中包含一些简单的数据。
{
"entity": 1
}
Run Code Online (Sandbox Code Playgroud)
而那个“实体”的价值更新得非常快。类似于下面的代码,写入 1000 个整数。
//pseudo-code for making 1000 writes as quickly as possible
for(var i = 0; i < 1000; i++) {
ref.child('entity').set(i)
}
Run Code Online (Sandbox Code Playgroud)
忽略暂时性问题,在浏览器中使用“on”API 的侦听客户端是否会收到包含 0-999 的所有 1000 个通知,或者 Firebase 是否有适当的限制?