小编sta*_*rty的帖子

何时使用Actors vs Futures?

我目前正在玩Play!具有以下体系结构的项目:

控制器 - >服务(演员) - >模型(常规案例类)

对于每个请求,我们将发出对服务层的调用,如下所示:

Service ? DoSomething(request, context)
Run Code Online (Sandbox Code Playgroud)

我们在应用程序初始化期间创建的akka​​路由器后面有一定数量的这些服务参与者,并且可以按需扩展.

在服务中,我们主要进行适度的数据操作或数据库调用:

receive = {
    case DoSomething(x, y) => {
           ...
           Model.doSometing(...)
           sender ! result
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道我们是否应该使用演员来提供我们的服务,或者仅仅使用期货.

  1. 我们没有任何需要在服务参与者中修改的内部状态,无论消息进入函数并吐出结果.这不是演员模特的大力量吗?

  2. 我们正在做很多任务,这些任务似乎与演员模型相差甚远

  3. 我们没有进行繁重的计算和远程处理没有意义,因为大多数工作是针对数据库和对一个远程actor进行往返操作来进行一些db调用是不必要的

  4. 我们确实使用reactivemongo,因此每个db调用都是非阻塞的.我们可以打很多电话

在我看来,删除akka并使用Futures让我们的生活变得更轻松,而且我们并没有真正失去任何东西.

akka playframework-2.2

32
推荐指数
2
解决办法
1万
查看次数

关闭Intellij自动添加到VCS/Git

我不小心打开了自动添加新文件到Git并点击了"记住我的决定,不要再问"(或者实际上没有选项),现在我无法更改首选项|>版本控制中的选择确认,这些选项是灰色的.有没有办法再次禁用它?

version-control intellij-idea

19
推荐指数
2
解决办法
4871
查看次数

如何在Android webview中完全禁用所有输入的软键盘

我正在使用phonegap为Android开发一个Web应用程序,因为我将在HTML中拥有自己的键盘,我需要禁用android的系统键盘,防止它在用户点击任何文本输入字段时出现.我不想使用只读输入字段,或者onblur()因为我想将光标放在文本字段中,所以用户可以在输入输入时移动光标位置.

所以,我要彻底禁用默认的Android键盘,我尝试添加android:windowSoftInputMode="stateAlwaysHidden"manifest.xml但这不起作用.

我也尝试使用这里的javascript界面,但Android 2.3.x上有一个javascript-java桥崩溃问题.(链接问题).所以我现在还没有一个好的解决方案.请帮忙.

提前感谢您的帮助.

javascript android android-webview android-websettings cordova

11
推荐指数
1
解决办法
5978
查看次数

使用Homebrew启动/停止MongoDB

我正在使用mac osx 10.10.5

在执行这些步骤之前和之后已经多次询问过这个问题,我注意到了奇怪的行为.

这些是我采取的步骤

brew tap gapple/services
brew install mongodb
Run Code Online (Sandbox Code Playgroud)

这将安装产品,现在brew services list我可以看到mongodb处于停止状态.

当我尝试启动该过程时,brew services start mongodb我收到错误

错误:无法读取plist mongodb!

好.我用Google搜索了一个解决方案

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/3.0.6/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
Run Code Online (Sandbox Code Playgroud)

现在,一旦复制文件,当我这样做时brew services list... mongo进程自动运行.

现在当我这样做时brew services stop mongodb

Error: Service `mongodb` not running, wanna start it? Try `brew services start mongodb`
Run Code Online (Sandbox Code Playgroud)

现在这很奇怪,因为只是在最后一步它说它的运行.现在当我这样做

mongodb services list它说服务已停止.(所以上面的停止命令确实有效.即使它引发了错误).

现在,如果我这样做

brew services start mongodb
Run Code Online (Sandbox Code Playgroud)

它给出错误错误:无法读取plist mongodb!

现在,如果我再次复制该文件

cp /usr/local/Cellar/mongodb/3.0.6/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
Run Code Online (Sandbox Code Playgroud)

该服务自动开始运行.

我觉得整件事真的很奇怪.我想要的是一个干净的方式来开始停止mongo数据库服务.虽然这个网站(和其他地方)有许多线程......但它们不起作用或只是有奇怪的行为.

macos homebrew mongodb

8
推荐指数
4
解决办法
2万
查看次数

完成编辑后如何检查UITextField文本是否为空

我目前有一个带有默认文本的UITextField,并在编辑开始时设置为清除.我正在努力使它如果字段为空或编辑完成时为零,则文本值将再次成为默认文本.我无法检测编辑完成或键盘被解除的时间.谁能告诉我我想要使用哪种检测方法以及如何实现它?非常感谢!


编辑


A placeholder不能用在我的情况下

iphone cocoa-touch objective-c uitextfield ios

3
推荐指数
2
解决办法
1万
查看次数

jQuery UI对话框不会重新打开

我有两个jQuery UI对话框(彼此无关但都表现出这种行为),它们在第一次打开和关闭时表现得非常完美.一旦他们第一次关闭,虽然他们不会重新开放.下面是其中一个的代码,另一个具有相同的结构.我不是在任何地方调用'destroy()'或'remove()'所以我不确定为什么这些不能正常工作.这是我的代码:

$(".qr_link").click(function(){
  openQr(this);
});

function openQr(that){
  var title = $(that).parent().parent().children("p.resume-name").text();
  var qr = $(that).parent().parent().children(".qr_image");

  $(qr).dialog({
    title: title,
    width: 'auto',
    height: 'auto',
    modal: true
  });
}
Run Code Online (Sandbox Code Playgroud)

我的加价:

<div class="resume">
  <p class="resume-name"><%= link_to(offer.name, public_url(offer.public_id, :host => ApplicationSetting.short_domain, :params => {:rid => @recruiter_id})) %></p>
  <p id="resume_links">- 
    <%= link_to("QR", "#", :class => "qr_link") %>
    <%= link_to("X", "#", :class => "remove_link") %>
    <%= link_to("Preview", "#", :class => "preview_link") %>
  </p>
  <%= qr_image(public_url(offer.public_id, :host => ApplicationSetting.short_domain, :params => {:rid => @recruiter_id}), "200x200", "hide qr_image")%>
  <p …
Run Code Online (Sandbox Code Playgroud)

jquery-ui modal-dialog

3
推荐指数
1
解决办法
3018
查看次数

用我的本地替换远程主分支

我一直在做一个项目,事情变得草率.我要做reset一个稳定的提交,但是当我试着push告诉"当前的分支是在它的远程对手后面"(显然).Git让我执行的唯一选择是git pull.当我尝试的时候,我又回到了新的,草率的提交,这些提交不起作用,我不想要.

我做了一个不同的分支调用stable并运行reset --hard到稳定提交,然后尝试以下方法:

$ git checkout stable
  # =>  Switched to branch 'stable'

$ git merge -s ours master
  # =>  Already up-to-date.

$ git checkout master
  # =>  Switched to branch 'master'
  # =>  Your branch is behind 'origin/master' by 9 commits, and can be fast-forwarded (use "git pull" to update your local branch)

$ git merge stable
  # => Already up-to-date.
Run Code Online (Sandbox Code Playgroud)

运行这些命令后,我的master分支仍然处于我想要摆脱的状态.

我想stable成为新人, …

git github

3
推荐指数
1
解决办法
1877
查看次数

如何在Scala中将Option [String]转换为List [String]

如何转换Option[String]List[String]

Option[String]看起来像这样:Some("value1,value2")

我试过这个,但没有成功

def convertOptionToList(a: Option[String]): List[String] = {

    return a.map(x => x.split(",").toList)

  }
Run Code Online (Sandbox Code Playgroud)

最后我想要这样的东西:List("val1","val2","val3");

scala

3
推荐指数
1
解决办法
4523
查看次数