在Play Framework 2.3中,一个动作可以产生一个成功的未来调用的结果,如下所示:
def index = Action.async {
val futureInt = scala.concurrent.Future { intensiveComputation() }
futureInt.map(i => Ok("Got result: " + i))
}
Run Code Online (Sandbox Code Playgroud)
但是,一个行动如何处理未来失败的呼吁,即通过呼叫failure()
而不是通过呼叫完成的未来success()
?
例如,一个动作怎么能产生一个InternalServerError
结果,并且在未来的失败中可以抛出消息?
onComplete
并且onFailure
回调似乎不适合动作的流程(它需要从成功的未来或失败的结果返回结果).
Vows有一个run()方法,它在节点下运行测试,而不使用该vows
命令.
在https://github.com/cloudhead/vows/blob/master/lib/vows/suite.js,我们可以看到此方法采用了一个选项参数,该参数允许指定默认值以外的报告者:
this.run = function (options, callback) {
var that = this, start;
options = options || {};
for (var k in options) { this.options[k] = options[k] }
this.matcher = this.options.matcher || this.matcher;
this.reporter = this.options.reporter || this.reporter;
Run Code Online (Sandbox Code Playgroud)
应该在选项对象中传递什么值以选择不同的报告者,例如spec
记者?
AngularJS项目的正确名称是什么?它的主页使用"AngularJS",在其他地方它被称为"Angular"(大写字母A),在很多地方它拼写为"angular"(小写形式).
例如,在Getting Started中:" 角度编译器是完全可扩展的,这意味着使用angular可以在HTML之上构建自己的声明性语言!"
我特别想知道小写形式是否是"官方"形式,因为它似乎是文档中使用最多的形式.
在编译项目时使用sbt-buildinfo创建BuildInfo.scala
文件的Play Framework 2.2项目中,如何build.sbt
配置以便Play Framework不会监视BuildInfo.scala
文件以进行更改,如果该文件发生更改,则不会重新启动服务器?
例如,如果会话开始于:
$ sbt ~run
Run Code Online (Sandbox Code Playgroud)
并且服务器在开发模式下启动,然后在另一个终端窗口sbt
中启动另一个会话(运行另一个子项目,或者只运行其他sbt
任务),第二个sbt
会话将更新BuildInfo.scala
文件,第一个sbt
会话将检测到这个并重新加载玩项目.
所以问题是如何BuildInfo.scala
从监控中排除(但仍然编译它并将其包含在分发包中).
显然watchSources
配置选项可能有所帮助,但在阅读文档后,我无法弄清楚如何使用它来排除文件.
ASP.NET MVC 4 Beta模板生成的页面是否可以安全地防止跨站点请求伪造?
具体来说,"控制器具有读/写操作和视图,使用EntityFramework"生成的"编辑"视图和控制器操作是否受CSRF保护?
检查编辑表单生成的HTML代码,我看不到隐藏字段或其他方式来实现防伪标记.
我错过了什么或默认示例不安全吗?
在ASP.NET MVC 4 Beta中,我有一个具有此属性的实体:
[DisplayFormat(DataFormatString = "{0:o}", ApplyFormatInEditMode = true)]
public virtual DateTime SavedAt { get; set; }
Run Code Online (Sandbox Code Playgroud)
在视图中,使用"具有读/写操作和视图的控制器,使用EntityFramework"模板生成,我有这个代码为它创建一个编辑器:
<div class="editor-label">
@Html.LabelFor(model => model.SavedAt)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SavedAt)
@Html.ValidationMessageFor(model => model.SavedAt)
</div>
Run Code Online (Sandbox Code Playgroud)
哪个产生这个输出:
<div class="editor-label">
<label for="SavedAt">SavedAt</label>
</div>
<div class="editor-field">
<input class="text-box single-line" data-val="true" data-val-date="The field SavedAt must be a date." data-val-required="The SavedAt field is required." id="SavedAt" name="SavedAt" type="text" value="2012-03-31T22:45:18.2244059" />
<span class="field-validation-valid" data-valmsg-for="SavedAt" data-valmsg-replace="true"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
请注意,日期格式为"2012-03-31T22:45:18.2244059".
如果我用这个替换视图代码片段:
@Html.HiddenFor(model => model.SavedAt)
Run Code Online (Sandbox Code Playgroud)
生成此代码:
<input data-val="true" data-val-date="The field SavedAt must …
Run Code Online (Sandbox Code Playgroud) 我一直在尝试为SPARK 0.9实现接收器.我使用Jnetpcap库捕获了数据包,需要将它传递给Scala中的spark.用"def receive()"方法编写数据包的捕获部分是否足够?
编辑:以下是此链接中使用Jnetpcap库捕获数据包的代码:
import java.util.Date
import java.lang.StringBuilder
import org.jnetpcap.Pcap
import org.jnetpcap.packet.PcapPacket
import org.jnetpcap.packet.PcapPacketHandler
object PacketCapture1 {
def main(args: Array[String]){
val snaplen = 64 * 1024 // Capture all packets, no trucation
val flags = Pcap.MODE_PROMISCUOUS // capture all packets
val timeout = 10 * 1000
//val errbuf = new StringBuilder()
val jsb = new java.lang.StringBuilder()
val errbuf = new StringBuilder(jsb);
val pcap = Pcap.openLive("eth0", snaplen, flags, timeout, errbuf)
if (pcap == null) {
println("Error : " …
Run Code Online (Sandbox Code Playgroud)