Effective Scala






Effective Scala - Scala中文






逐渐深入地理解Ajax

Ajax的基本原理是:XMLHttpRequest对象(简称XHR对象),XHR为向服务器发送请求和解析服务器响应提供了流畅的接口。能够以异步方式从服务器获得更多信息。意味着用户不必刷新页面也能取得新数据,然后通过DOM将数据插入到页面中。

XMLHttpRequest对象方法如下:

about():停止当前的请求;

open(“method”,”URL”,[asyncFlag]) :

等常见的方法;

XHR的基本用法:

在使用XHR对象时,要调用的第一个方法是open()方法,它有三个参数,第一个参数是:需要发送请求的类型(get或者post),第二个参数是请求的url,第三个参数是请求的布尔值(true是异步,false是同步);

Scala 2.12路线图

Scala官方网站于6月30日发布了Scala 2.12路线图,新版本需要Java 8的支持。以下是该路线图的详细内容,英文原文请点击这里

Scala 的未来

Scala团队最近发表了一篇题为《Scala的下一步计划》的文章,这篇文章对Scala这门语言的未来进行了描述,并对Scala后续的三个主要版本的特性和目标进行了细化:改善语言和它的类库,从而让它变得更容易理解、更加健壮,并且性能更好。

Scala 2.12是下一个主要版本,《Scala 2.12将只支持Java 8》中已有所介绍。而再接下去的两个版本将以代号的方式命名,分别是Aida和Don Giovanni。2.12版的主要目标是与Java 8的互操作性,而Aida则专注于简化集合框架,Don Giovanni将会对语言进行改进,并会提升编译器的速度。Don Giovanni版还计划与项目Valhalla合作,因为这两个项目具有相似的愿景。

项目Valhalla是一个实验性的OpenJDK项目,该项目旨在开发那些同时需要更改语言语法和虚拟机级别支持的主要的Java新特性。其中Scala想要利用的两个Valhalla特性是实现泛型的新方式和值类型。

Scala 2.12 将只支持Java 8

根据近期Scala路线图所公布的信息来看,Scala从版本2.12开始,只能运行在Java 8及之后的版本上。InfoQ找到了Adriaan Moors(Typesafe的Scala技术主管)和Json Zaugg(Typesafe工程师),了解到更多关于这个改动的内容,以及Scala将如何利用Java 8的lambda表达式的细节。

Scala团队做出这个改动的最大驱动力是:

使用Java平台已经给Scala的成功和快速采用带来了帮助。我们热衷于和平台一起逐步发展,享受平台和平台生态系统带来的改进。对lambda表达式的原生支持使得Java 8的虚拟机成为了Scala更好的宿主。

迁移到Java 8对于我们来说是一个很自然的演进。例如,Scala 2.11已经有一个试验性的特性,这个特性是在Java 6上尽可能多地模仿Java 8提供的一些功能。

数据结构学习(1)--概论

在计算机发展的初期,人们使用计算机的主要目的是处理数值计算问题。使用计算机解决一个具体的问题时,一般需要经过下列几步:

1.从具体问题中抽象出一个适当的数学模型

2.设计或选择一个求解此数学模型的算法

3.编出程序进行调式/测试/直至得到最终的解答。

在随着非数值计算问题越来越重要。这类问题的涉及到的数据结构更加复杂,数据元素之间的相互关系一般无法用数学方程式加以描述。解决此类问题的关键不再是数学分析和计算方法,而是设计出合理的数据结构,才能有效的解决问题。

N.Wirth提出:算法+数据结构 = 程序,这里的数据结构是指数据的逻辑结构和存储结构,算法是数据运算的描述。

Which version of Java should Scala 2.11 target?

Java 6
19% (333 票)
Java 7
38% (656 票)
Java 8
43% (754 票)
投票统计: 1743

Building Scala from the Source Code

从源代码(the source code)构建Scala项目是一个非常简单的过程。Ant 工具
被用来控制整个过程。你可以使用任何支持Java的平台来构建Scala项目并
为Scala平台开发者作出贡献。你需要使用安装了Ant的电脑,如果你使用Ubuntu,需要安装"ant_optional"包。

构建Scala

至少1G物理内存的电脑。构建Scala只需要输入如下命令:

$ ant 

测试Scala

你通过运行下面的命令来运行Scala测试套件:

Scala Artifacts on Maven Central - Scala-tools retires

Up to a few weeks ago, all Scala projects required a little bit of extra configuration to point to a custom repository for Scala artifacts hosted at scala-tools.org. Today, life has got that much easier, Scala artifacts are now available directly from Maven Central and Scala-tools will be retired.

Lift 2.4 Released

Lift社区开发者发布了Scala web开发框架LiftLift 2.4 final的最终版,一个非常成熟由Scala开发的 Web框架,现在已经在像Guardian/foursquare和Open Study.已经增加了很多新的特性,同时,修复了大多已知道的漏洞.

Lift开发者和用户体会到由大套全新的改进的好处。他们友好的答复Lift使用者的反馈并使得开发者任务更加的容易。现仅仅提供一小部分:引入了对JSON的支持,Squery/Record 对Crudify的支持,更好的对使用MongoDB的reference records和二进制字段支持,BsonDSL支持(BSON转换成JsonDSL),引入了邮件函数功能,充实了CSS选择器 transformers 和 html5 compliant templates 使用 data-lift特性.