# 015.现场.快用Scala(4月)
不等不靠,有囧有料。终日乾乾,或跃在渊。
play是全栈式框架,借鉴了MVC和ROR,
有PHP/ROR的开发速度和JAVA的健壮。
天生异步,事件驱动,无状态热替换。
@史荣久 / 2015-04-29 / CC-BY-SA-3.0
## 观看视频
* [优酷视频(被转720P)](http://v.youku.com/v_show/id_XOTQ0MTc2MjIw.html)
* [腾讯视频(被转720P)](http://v.qq.com/page/z/e/t/z0153tmqaet.html)
* [百度网盘(原始1080P)](http://pan.baidu.com/share/link?shareid=3935315343&uk=1380913564&fid=16950578287256)
## 内容摘要
* play是全栈式框架,借鉴了MVC和ROR,有PHP/ROR的开发速度和JAVA的健壮。
* type safety,编译器和IDE做智能检查和提示,提高代码质量和开发效率。
* play相比于servlet:无状态热替换,非阻塞全异步,线程与CPU核心数相关。
* play基于Actor,天然的伸缩性(scalability),性能高于Servlet容器。
* 不科学粗糙测试(`siege -c N -r 50`),N: tomcat=500,play=1000。
* play和新技术结合紧密,支持长连接,Coffee,LESS,JSON,大数据等。
* actor-based是事件驱动,简单讲比object-based多了异步消息机制。
* actor始于1973年,业界案例是erlang,HA到9个9,全年31ms不可用。
* PS:2个不相干的设计模式:NIO的reactor,AIO的proactor模式。
* play的Session是一个token,使用cookie,不应该做cache。
* play有4个线程池。使用阻塞资源(JDBC/BIO/WS),需要使用Future。
* idea社区版,不支持play,开发scala正常,view模版不能高亮和提示。
* eclipse(scala-ide)进行测试(unit-test),调试(debug)。
* sublime装play2插件,语法标亮,适合阅读代码。
* sbt中的fork=true时,jvm-debug和热替换hotswapping不正常。
* sbt的evicted警告:版本统一(升或降级)或排除(`exclude(#,#)`)。
* 生成eclipse工程时,twirl产生的源码,没有加入src,是个bug。
* 代码讲解:电脑管理系统(bootstrap,jdbc,CRUD)。
* 代码演示:play提供filter来跨站请求伪造(CSRF)。
* 求助(一):Firfox不显示 `activator ui`,Chrome好用。
* 求助(二):ScalaIDE在Cario-Dock里不显示图标,unity好用。
## 参考资源
* [playframework官网](http://playframework.com/)
* [play哲学:历史和一些为什么](https://playframework.com/documentation/2.3.x/Philosophy)
* [作者说,为啥不要servlet](http://guillaumebort.tumblr.com/post/558830013/)
* [play手册:很清秀简洁](https://playframework.com/documentation/2.3.x/Home)
* [scala开发手册](https://playframework.com/documentation/2.3.x/ScalaHome)
* [IDE设置:eclipse设置](https://playframework.com/documentation/2.3.x/IDE)
* [会话管理:session和flash](https://playframework.com/documentation/2.3.x/ScalaSessionFlash)
* [模版引擎:twirl](https://playframework.com/documentation/2.3.x/ScalaTemplates)
* [跨站请求伪造 CSRF](https://playframework.com/documentation/2.3.x/ScalaCsrf)
* [ScalaIDE官方网址](http://scala-ide.org/)
* [Sublime插件:高亮和提示](https://packagecontrol.io/packages/Play%202.0)
* [fork时jvm-debug问题](http://stackoverflow.com/questions/28884993)
* [生成eclipse工程时src丢失](http://stackoverflow.com/questions/28104968)
* [电脑管理系统:bootstrap,jdbc](https://github.com/typesafehub/activator-computer-database-scala)
## 欢迎围观
if (you.accept(MoilionCircle.SPIRIT)) {
if(you.haveADL()){
MoilionCircle we = you.search(MoilionCircle.SLOGAN);
we.welcome(you);
}
if(you.share(this)){
We.thank(you);
We.mayFind7Moilion();
}
}
## 花絮后记
【2015-04-29】
十分悲催,视频录制,失败了三次,:(
周日(26),30分钟,某楼某号,卡拉OK哥音响钢钢好,大半夜开动。囧!
周一(27),20分钟,网络突然中断,程序一下生活不能自理了。囧!
周二(28),40分钟,手欠出个编译错误,5分钟没搞定,重录。囧!
尝试了大量的窗口缩放,以便看的更清,结果弄得自己眼花。
快捷键也做了修改,还有片头的启动命令。
----
题图:play的官网做的很清新和现代,官方文档也是。但是,好看就一定好用么?我们一起来见证。
原文:
http://www.moilioncircle.com/release/015.live.rush-scala-4m-play.html
分享到:
相关推荐
windows版本 scala-2.12.14.zip & Linux版本 scala-2.12.11.tgz 压缩包.rar
IntellJIDEA Scala插件:scala-intellij-bin-2016.3.9
scala-intellij-bin-2020.2.23.zip scala插件 FOR INTELLING IDEA 2020.2.23
Binding.scala 是一个用 Scala 语言编写的数据绑定框架,可以在 JVM 和 Scala.js 上运行。它可以用作 reactive web freamework。 它允许你使用原生 XHTML 语法去创建 reactive DOM 节点,这种 DOM 节点可以在数据源...
Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在Java虚拟机上,并兼容现有的Java程序。 Scala 源代码被编译成Java字节码,所以它可以运行于...
scala-intellij-bin-2019.1.9IDEA-scala插件,支持2019.1.X版IDEA。极难下载
本资源是scala-2.12.11.tgz 用于linux的安装包,spark2以上需要用scala2.12以上的版本,本软件安全无毒,放心使用。便于大家的使用,可以直接下载使用。
scala-intellij-bin-2021.3.6.zip
scala-intellij-bin-2020.3.14.zip
scala windows安装包,下载后直接一直点下一步即可安装成功
idea 开发 scala 、spark 的插件,兼容 idea2018.3.5 和 idea2018.3.6 ,亲测有效。
scala-intellij-bin-2020.2.3.zip
斯卡拉高性能编程20165.epub.7z(scala high performance programming)
scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!
scala 2.12.5 我就是想下载一个jar包而已阿 还需要c币
快学scala习题、答案、详细解答 快学scala第一章习题答案.doc 快学scala第二章习题答案.doc 快学scala第三章习题答案.doc ......
eclipse scala插件,第二部分
快学scala 完整清晰版 大数据spark 主要的编程语言 快学scala 完整清晰版 大数据spark 主要的编程语言
scala插件最大的一个jar包
Reactive.programming.with.scala.and.akka.pdf Reactive Programming with Scala and Akka