`
trydofor
  • 浏览: 151420 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

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的健壮。
  * 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 
0
1
分享到:
评论

相关推荐

    advent-of-code-2020-scala:用Scala编写的Code 2020到来

    4. **类型推断**:Scala的类型系统允许开发者在很多情况下省略类型声明,编译器会自动推断出正确的类型,这在编写AoC挑战的快速原型时尤其方便。 5. **并行计算**:Scala的`Future`和`Akka`框架支持并行和分布式...

    javaApi_sparkhiveAPI_hbaseAPI.zip

    本压缩包"javaApi_sparkhiveAPI_hbaseAPI.zip"包含了2019年8月至10月期间针对这些技术的Java版API实现,以及与Spark相关的Hive和HBase API。以下是关于这些技术的详细知识: 1. **Java API for Hive**: - **Hive*...

    kotlin-in-chinese.pdf

    20. 工具和互用性:Kotlin提供了与Java、Scala等其他语言的互用性支持,并可与Maven、Gradle等构建工具集成。 21. FAQ:文档中还包含了常见问题解答和与Java及Scala的对比。 在与Android的交互方面,2017年5月17日...

    java6.0源码-mbo-spark:火花探索

    月。 当时, Spark的当前开发版本是0.9.0。 本教程涵盖了 Ubuntu 12.04 上的 Spark 设置: 安装所有 Spark 先决条件 Spark构建和安装 Spark基本配置 独立集群设置(一台机器上的一个主和 4 个从) 在独立集群上运行...

    深度学习框架对比

    建立日期2015年4月26日。 - **链接**:[Apache MXNet](https://github.com/apache/incubator-mxnet) #### 七、DeepLearning4J:Java和Scala的深度学习库 - **简介**:DeepLearning4J是用Java和Scala编写的开源...

    大数据神话Spark1.1.1最新稳定版

    4. **Spark Streaming**:Spark Streaming提供了对实时数据流处理的支持,它将数据流分解为小批量的DStreams(Discretized Streams),然后用Spark的批处理API来处理这些小批量数据,实现高效的流处理。 5. **MLlib...

    book-of-vaadin 8

    该框架提供了一套即用型的用户界面组件,并允许开发者自行创建新的组件。其核心优势在于使用便捷性、可重用性、可扩展性以及满足大型企业应用需求。 Vaadin Framework 8的官方文档是学习该技术的必备资料。这份文档...

    playframework:Gradle Play支持

    Play Framework 是一个开源的Web应用框架,主要使用Java和Scala语言开发,它的设计目标是让开发者可以快速地构建高效、可测试和可扩展的Web应用。Gradle Play插件则是为了方便开发者使用Gradle构建Play Framework...

Global site tag (gtag.js) - Google Analytics