015.现场.快用Scala(4月)

#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的健壮。

*typesafety,编译器和IDE做智能检查和提示,提高代码质量和开发效率。

*play相比于servlet:无状态热替换,非阻塞全异步,线程与CPU核心数相关。

*play基于Actor,天然的伸缩性(scalability),性能高于Servlet容器。

*不科学粗糙测试(`siege-cN-r50`),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不显示`activatorui`,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

相关推荐