我可以使用锡兰创建Android应用程序吗?既然Ceylon可以运行任何JVM,据我所知,Ceylon实现创建Android应用程序应该非常简单.它是否像Scala那样App的大小变得相当大并且必须使用proguard或SBT-android插件?它有多可行?锡兰可以为此做好选择吗?如果是的话,有人可以指出我正确的方向吗?
我已经看到了Actor模型实现的基准测试.例如,Akka actor非常轻量级(每个actor 600个字节),并且可以创建数百万个.但是,我从未在消息传递吞吐量方面看到过基准测试.
例如,给定一些演员,每秒之间可以传递多少条消息?
有没有人有这样一个性能基准的链接(在消息传递吞吐量方面)?
Dart不像Scala那样支持真正的mixin组合.
library some_lib;
// mixin A
abstract class A {
String get a => 'A';
}
// mixin B
abstract class B extends Object with A {
String get b => a + 'B';
}
Run Code Online (Sandbox Code Playgroud)
客户使用情况
import 'some_lib.dart';
// client usage
class Client extends Object with B {
String get c => b + 'C';
}
void main(){
print(new Client().c); // should print ABC
}
Run Code Online (Sandbox Code Playgroud)
Dart分析器抱怨说"类'B'不能用作mixin,因为它扩展了Object以外的类"
我知道你会回复说以下工作正常:
class C extends Object with A, B {
String get c => …Run Code Online (Sandbox Code Playgroud) 动态语言正在兴起,其中有很多:例如Ruby,Groovy,Jython,Scala(静态,但具有动态语言的外观和感觉)等等.我的背景是Java SE和EE编程,我想要将我的知识扩展到这些动态语言之一,以便为将来做好更充分的准备.
但是我应该关注哪种动态语言学习?为什么?在不久的将来,哪些将成为首选语言?
我有一个小的Scala/Neo4j应用程序,通过"技术"和"interestIn"关系链接人和主题.它有一个REST/Json Api(使用Scalatra),当我想在List [Person]和List [Topic]中添加一个"asJson"方法时,我遇到了一个典型的类型擦除问题.我想为不同的内容类型实现不同的Json序列化行为,但当然这些类型会被删除.到目前为止,我能够提出的最好的是以下运行时技巧:
implicit def topicsOrPeopleAsJson[T](list: List[T]) = new {
def asJson: String = {
list match {
case head :: tail if (head.isInstanceOf[Topic]) => topicsToJson(list.asInstanceOf[List[Topic]])
case head :: tail if (head.isInstanceOf[Person]) => peopleToJson(list.asInstanceOf[List[Person]])
case _ => "[]"
}
}
private def peopleToJson(people: List[Person]) = {
...
}
private def topicsToJson(topics: List[Topic]) = {
...
}
}
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我想知道是否有更好的解决方案,也许包括类型类,一个我不太熟悉的主题(还).
我一直试图从http://www.scala-lang.org/downloads/distrib/files/*中获取.MSI或.ZIP ,但它非常慢并且实际上在一段时间后停止下载.我搜索过镜子,但是像Softpedia这样的地方只是链接回scala-lang.org.
我能够从Akka.io中获取scala-library.jar,但我认为这不足以使用该语言(或者我没有错误地将其实例化java -jar?).
想法?
我找不到使用最新JAVA并发例程的这种特定情况的示例.
我打算用来threads处理开放队列中的项目,这些项目可能包含0到数千个请求.我想限制所以在任何给定时间,不少于0并且不超过10个线程处理队列项.
是否有针对此特定类型案例的Java并发流程?
在Scala中读取和编写C风格字节结构的最佳方法是什么,如下所示:
struct account {
int id;
char[10] data1;
char[10] data2;
float dataFloat;
};
Run Code Online (Sandbox Code Playgroud)
Python中有解包函数,将字符串解释为压缩二进制数据.但我在Scala中找不到任何类比.
在Scala中进行这种映射的标准方法是什么?逐个读取字节非常不合适.我需要解析的协议从20世纪80年代开始,包含不同的字段(short,int,float),因此逐字节读取它将是非常低效的.
在 Spark 1.6.1 和 2.0 中使用 ParamGridBuilder 时出现 scala.MatchError
val paramGrid = new ParamGridBuilder()
.addGrid(lr.regParam, Array(0.1, 0.01))
.addGrid(lr.fitIntercept)
.addGrid(lr.elasticNetParam, Array(0.0, 0.5, 1.0))
.build()
Run Code Online (Sandbox Code Playgroud)
错误是
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 57.0 failed 1 times, most recent failure: Lost task 0.0 in stage 57.0 (TID 257, localhost):
scala.MatchError: [280000,1.0,[2400.0,9373.0,3.0,1.0,1.0,0.0,0.0,0.0]] (of class org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema)
Run Code Online (Sandbox Code Playgroud)
问题是在这种情况下我应该如何使用 ParamGridBuilder
scala ×5
actor ×1
actor-model ×1
android ×1
apache-spark ×1
benchmarking ×1
c ×1
ceylon ×1
concurrency ×1
dart ×1
groovy ×1
java ×1
jython ×1
mixins ×1
neo4j ×1
parsing ×1
performance ×1
r ×1
ruby ×1
scodec ×1
traits ×1