最近我经常听到"你永远不应该使用通配符导入"这样的陈述.所以我想向社区询问这个问题.是否真的永远不会在Java生产代码中使用通配符导入,无论如何?这条规则有例外吗?我对您的个人经历和意见感兴趣.您是否在生产代码中使用它们并将其推荐给其他人?你如何使用它们 - 你能推荐最好的方法吗?
从Scala的角度来看它也很有趣.Scala也是如此吗?或者Scala中的通配符导入应仅用于演示幻灯片和SO答案?
例如,如果您要查看scalaz页面,他们建议使用通配符导入,例如:
import scalaz._
import Scalaz._
Run Code Online (Sandbox Code Playgroud)
我认为考虑通常使用通配符导入的隐式转换也很重要.
我想将Highcharts库包含在一个开源项目scala-notebook中,我不确定是否允许根据Highcharts许可证.
scala-notebook是一个web-repl(read-eval-print-loop)或web-console(类似于IPython).可以创建新的笔记本并在那里编写将在服务器端执行的代码,结果将在页面上呈现(在输出部分中).我想让用户能够在代码中定义图表数据,然后使用Highcharts库将其呈现为图表.它是在Modified BSD License(也称为New或Revised BSD)下发布的.
所以我的问题是:
我的项目是开源的,所以我可以想象,有人会下载它并将其内部部署在他/她的公司.我还想确保允许这个用例(根据许可证).
我想设置一个查询,该查询具有针对同一参数发送的多个枚举.
test_query(enum:FIRST,SECOND){
stuffs
}
Run Code Online (Sandbox Code Playgroud)
看来这在graphql-JS中是不可能的,但我不确定.
在Sphere.io上,我知道可以Product使用自定义属性将自定义数据附加到对象.
是否有可能Customer与Order对象做类似的事情?只是无类型的键值字符串对对我的场景来说没问题(现在,无论如何.稍后我可能需要附加JSON文档).
如果是,是否也可以根据自定义数据过滤对象?
我正在使用Sphere Java SDK.
我目前正在尝试为Tomcat工作者设置Amazon Load Balancer,但我遇到了一个问题.
我正在使用粘性会话,并且cookie JSESSIONID可用于大多数请求.但有些请求在URL中有会话信息,如下所示:
http://myserver.com/contextPath/someAction;jsessionid=BA6853C23F795BD5EEDAEA996E601BB8
并且它不起作用(并且请求被转发给错误的工作者).
AWS Load Balancer是否支持jsessionidURL?如果不是,可能你知道一些解决方法吗?
使用Apache + mod_proxy_balancer,我可以像这样定义它:
ProxyPassMatch /.* balancer://mycluster stickysession=JSESSIONID|jsessionid
Run Code Online (Sandbox Code Playgroud) 请考虑以下代码段.+ =不是java.lang.String的成员,所以我猜有某种隐式转换正在进行中.如何查找作用于String的此类预定义隐式转换的列表?
scala> var x = "asdf"
x: java.lang.String = asdf
scala> x += x
scala> x
res2: java.lang.String = asdfasdf
Run Code Online (Sandbox Code Playgroud) 我在Play 2.0(Scala)中寻找i18n的例子.
我正在尝试使用Scala 2.10反射来查找方法参数的派生类型.例如,考虑这个程序:
import reflect.runtime.universe._
object ReflectionTest {
def checkType[A : TypeTag](item: A) {
println("typeOf[A]: " + typeOf[A])
}
def main(args: Array[String]) {
val a = Array(1, "Hello")
for (item <- a) checkType(item)
}
}
Run Code Online (Sandbox Code Playgroud)
这里a有类型Array [Any]所以每个被发送的项目checkType都有Any类型.结果,checkType产出
typeOf[A]: Any
typeOf[A]: Any
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,因为TypeTag是由编译器在调用时生成的(其中所有知道类型的都是它Any).但是,我想要确定每个项目的实际类型.我想输出一些东西
Int
String
Run Code Online (Sandbox Code Playgroud)
我在这里查看了文档
http://docs.scala-lang.org/overviews/reflection/overview.html
但是样本似乎并没有涵盖这种情况,我发现环境,宇宙和镜子的讨论难以渗透.似乎我想要做的事情应该相当简单,但也许我正在接近它完全错误.
我正在使用Finch,Circe和Sangria为API构建GraphQL端点.将variables通过在GraphQL查询来基本上是任意的JSON对象(假设没有嵌套).例如,在我的测试代码中String,这是两个例子:
val variables = List(
"{\n \"foo\": 123\n}",
"{\n \"foo\": \"bar\"\n}"
)
Run Code Online (Sandbox Code Playgroud)
Sangria API期望这些类型Map[String, Any].
我已经尝试了很多方法但到目前为止Decoder还没能在Circe 写一个.任何帮助赞赏.
我试图理解twitter gizzard示例rowz,我无法弄清楚scala中这个小片段的作用:
package com.twitter.rowz
import com.twitter.gizzard.nameserver.{Forwarding, NameServer}
import com.twitter.gizzard.shards.ShardException
class ForwardingManager(nameServer: NameServer[Shard]) extends (Long => Shard) {
def apply(id: Long) = nameServer.findCurrentForwarding(0, id)
}
Run Code Online (Sandbox Code Playgroud)
课程到底是什么?
我通过 Scala 在 Scala 上使用 GraphQL Sangria。我也正在使用apollo-codegen.
我想定义一次架构,因此我通过以下方式将架构从后端导出到前端:
schema.renderPretty
Run Code Online (Sandbox Code Playgroud)
问题在于桑格利亚汽酒的renderPretty打印模式格式schemaAst。但apollo-codegen需要json格式。
如何制作sangriajson格式的渲染模式?或者也许可以轻松转换schemaAst为jsonvia SBT?
我一直在努力理解斯卡拉的演员,但我还是没有得到它......
以下代码:
def main(args: Array[String]){
while(true){
println("inside main")
MyActor ! "go"
}
}
object MyActor extends Actor{
def act(){
loop{
react{
case _ => println("inside actor")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是印刷inside main,但不是inside actor......为什么?而且,接收和反应之间的区别是什么?
scala ×8
graphql ×3
java ×2
sangria ×2
actor ×1
circe ×1
finch ×1
graphql-js ×1
highcharts ×1
import ×1
jsessionid ×1
licensing ×1
open-source ×1
reflection ×1
sphere.io ×1
tomcat ×1
wildcard ×1