Finatra Finatra是一款基于TwitterServer和Finagle的快速、可测试的Scala异步框架。Finatra is a fast, testable, Scala services built on TwitterServer and Finagle.Play Play是一款轻量级、无状态的WEB友好框架。使用Java和Scala可以很方便地创建web应用程序。Play is based on a lightweight, stateless, web-friendly architecture.Play Framework makes it easy to build web application w397090770 9年前 (2015-12-25) 12595℃ 0评论15喜欢
SBT默认的日志级别是Info,我们可以根据自己的需要去设置它的默认日志级别,比如我们在开发过程中,就可以打开Debug日志级别,这样可以看出SBT是如何工作的。SBT的日志级别在sbt.Level类里面定义:[code lang="scala"]object Level extends Enumeration{ val Debug = Value(1, "debug") val Info = Value(2, "info") val Warn = Value(3, "warn&q w397090770 9年前 (2015-12-24) 3464℃ 0评论8喜欢
和Java一样,我们也可以使用Scala来创建Web工程,这里使用的是Scalatra,它是一款轻量级的Scala web框架,和Ruby Sinatra功能类似。比较推荐的创建Scalatra工程是使用Giter8,他是一款很不错的用于创建SBT工程的工具。所以我们需要在电脑上面安装好Giter8。这里以Centos系统为例进行介绍。安装giter8 在安装giter8之前需要安装Conscrip w397090770 9年前 (2015-12-18) 5804℃ 0评论10喜欢
本博客前两篇文章介绍了如何在脚本中使用Scala(《在脚本中运行Scala》、《在脚本中使用Scala的高级特性》),我们可以在脚本里面使用Scala强大的语法,但细心的同学可能会发现每次运行脚本的时候会花上一大部分时间,然后才会有结果。我们来测试下面简单的Scala脚本:[code lang="shell"]#!/bin/shexec scala "$0" "$@" w397090770 9年前 (2015-12-17) 4751℃ 0评论8喜欢
活动内容2015年下半年华东地区scala爱好者聚会,这次活动有杭州九言科技(代表作是In App)提供场地。本次活动内容不局限scala也包含一些创业公司的技术架构地点:杭州西湖区万塘路8号黄龙时代广场A座1802时间:2015年12月26日 13:00 ~ 2015年12月26日 17:30限制: 限额35人费用:免费活动安排1) 《scala和storm下的流式计算 w397090770 9年前 (2015-12-16) 2409℃ 0评论6喜欢
继续介绍如何在脚本中运行Scala,在前面的文章中我们只是简单地介绍了如何在脚本中使用Scala,本文将进一步地介绍。 在脚本中使用Scala最大的好处就是可以在脚本中使用Scala的所有高级特性,比如我们可以在脚本中定义和使用Scala class,如下:[code lang="scala"]#!/bin/shexec scala -savecompiled "$0" "$@"!#case c w397090770 9年前 (2015-12-15) 2666℃ 0评论5喜欢
Scala又一强大的功能就是可以以脚本的形式运行。我们可以创建一个测试文件iteblog.sh,内容如下:[code lang="scala"]#!/bin/shexec scala "$0" "$@"!#println("Hello, Welcome to !")[/code]然后我们就可以下面之一的方式运行这个Scala脚本:[code lang="scala"][iteblog@www.iteblog.com iteblog]$ sh scala.sh Hello, Welcome to ![/code] w397090770 9年前 (2015-12-11) 5717℃ 0评论8喜欢
我们知道,编写Scala程序的时候可以使用下面两种方法之一:[code lang="scala"]object IteblogTest extends App { //ToDo}object IteblogTest{ def main(args: Array[String]): Unit = { //ToDo }}[/code] 上面的两种方法都可以运行程序,但是在Spark中,第一种方法有时可不会正确的运行(出现异常或者是数据不见了)。比如下面的代码运 w397090770 9年前 (2015-12-10) 5319℃ 0评论5喜欢
在Scala中一个很强大的功能就是模式匹配,本文并不打算介绍模式匹配的概念以及如何使用。本文的主要内容是讨论Scala模式匹配泛型类型擦除问题。先来看看泛型类型擦除是什么情况:scala> def test(a:Any) = a match { | case a :List[String] => println("iteblog is ok"); | case _ => |} 按照代码的意思应该是匹配L w397090770 9年前 (2015-10-28) 6468℃ 0评论11喜欢
你可能会在Scala中经常使用for循环已经,所以理解Scala编译器是如何解析for循环语句是非常重要的。我们记住以下四点规则即可: 1、对集合进行简单的for操作,Scala编译器会将它翻译成对集合进行foreach操作; 2、带有guard的for循环,编译器会将它翻译成一序列的withFilter操作,紧接着是foreach操作; 3、带有yield的for w397090770 9年前 (2015-10-20) 4019℃ 0评论6喜欢