小编tok*_*rev的帖子

Play Framework - 使用TCP负载平衡时检索客户端的IP

使用案例:Amazon ELB背后的Play应用程序,配置为TCP负载平衡.

Amazon ELB通过代理协议1提供客户端的连接信息.

如何在Play中检索此信息?

playframework playframework-2.0

13
推荐指数
1
解决办法
1119
查看次数

preStart hook:向actor本身发送的消息

假设我重写了preStart钩子并发送消息给self:

Class SomeActor extends Actor {

  override def preStart(): Unit = {
    self ! SomeMessage
  }

  ...

}
Run Code Online (Sandbox Code Playgroud)

我能指望这SomeMessage将成为队列中的第一条消息吗?

scala akka

9
推荐指数
1
解决办法
3371
查看次数

在ember中实现tabpanel的最佳方法?

我是新手,并试图构建一个Ember驱动的Web应用程序.我已经阅读了各种各样的内容并研究了几个例子.基本概念很清楚,但现在我仍然试图实现一个tabpanel.我的方法如下:

视图

Configurator.TabPanelView = Ember.View.extend({
    classNames: ['tabPanel'],
    templateName: 'tabPanel'
});
Run Code Online (Sandbox Code Playgroud)

模板

<script type="text/x-handlebars" data-template-name='tabPanel'>
  <div class='tabHead'>
      <ul>
          {{#each tabViews}}
          <li {{action "{{this.actionName}}" target="{{this.value}}"}} >{{this.title}}</li>
          {{/each}}
      </ul>
      <div class="tab-content">{{outlet}}</div>
  </div>
</script>
Run Code Online (Sandbox Code Playgroud)

在App中的用法

var tab= Configurator.TabPanelView.create({

            classNames: ['assortment'],
            tabViews: [{ title: 'First', value:'Foo', actionName: 'firstTab' },{title: 'Second', value:'Foo', actionName: 'secondTab' }],

            firstTab: Ember.View.extend({
                templateName: 'first'
            }),
            secondTab: Ember.View.extend({
                templateName: 'second'
            })
        });
        tab.appendTo("body");
Run Code Online (Sandbox Code Playgroud)

TabTemplate正确呈现,但如果我尝试单击li元素,则会抛出错误

未捕获错误:断言失败:目标<(Ember.View的子类):ember217>没有操作{{this.actionName}}

我也很好奇我是否应该使用路由器来实现标签.但据我所知,路由器在应用程序级别上运行,并且旨在用于单个UI组合.

tabs ember.js

7
推荐指数
1
解决办法
5420
查看次数

SELECT COUNT(*) - 如果没有匹配的行,则返回0以及分组的字段

我有以下查询:

SELECT employee,department,count(*) AS sum FROM items 
WHERE ((employee = 1 AND department = 2) OR 
      (employee = 3 AND department = 4) OR 
      (employee = 5 AND department = 6) OR 
      ([more conditions with the same structure]))
      AND available = true
GROUP BY employee, department;
Run Code Online (Sandbox Code Playgroud)

如果"employee-department"对没有项目,则查询不返回任何内容.我希望它返回零代替:

 employee | department | sum 
 ---------+------------+--------
 1        |          2 |      0
 3        |          4 |     12  
 5        |          6 |   1234   
Run Code Online (Sandbox Code Playgroud)

EDIT1

看起来这是不可能的,正如Matthew PK 在他对类似问题的回答中所解释的那样.我错误地假设Postgres可以以某种方式从WHERE子句中提取缺失值.

EDIT2

有一些技能是可能的.:)感谢Erwin Brandstetter!

sql postgresql count aggregate-functions left-join

6
推荐指数
1
解决办法
4485
查看次数

模式匹配中的小写变量

这段代码工作正常:

val StringManifest = manifest[String]
val IntManifest = manifest[Int]

def check[T: Manifest] = manifest[T] match {
    case StringManifest => "string"
    case IntManifest => "int"
    case _ => "something else"
}
Run Code Online (Sandbox Code Playgroud)

但是如果我们小写变量的第一个字母:

val stringManifest = manifest[String]
val intManifest = manifest[Int]

def check[T: Manifest] = manifest[T] match {
    case stringManifest => "string"
    case intManifest => "int"
    case _ => "something else"
}
Run Code Online (Sandbox Code Playgroud)

我们将得到"无法访问的代码"错误.

这种行为的原因是什么?

scala

4
推荐指数
1
解决办法
651
查看次数

Iterables的映射 - 在给定键下为迭代添加值的通用方法

我可以为Vectors编写以下内容:

def add[K,V](map: Map[K,Vector[V]], key: K, values: Vector[V]): Map[K,Vector[V]] = {
  map + (key -> (map.getOrElse(key, Vector.empty) ++ values))
}
Run Code Online (Sandbox Code Playgroud)

用法:

scala> add(Map(1 -> Vector(1,2,3)), 1, Vector(4,5,6))
res1: Map[Int,Vector[Int]] = Map(1 -> Vector(1, 2, 3, 4, 5, 6))
Run Code Online (Sandbox Code Playgroud)

集的代码几乎相同:

def add[K,V](map: Map[K,Set[V]], key: K, values: Set[V]): Map[K,Set[V]] = {
  map + (key -> (map.getOrElse(key, Set.empty) ++ values))
}
Run Code Online (Sandbox Code Playgroud)

如何制作适用于所有Iterables的单一功能?我试着像这样写:

def add[K,V](map: Map[K,Iterable[V]], key: K, values: Iterable[V]): Map[K,Iterable[V]] = {
  map + (key -> (map.getOrElse(key, Iterable.empty) ++ values))
}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我丢失了类型信息:

scala> …
Run Code Online (Sandbox Code Playgroud)

scala

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