小编Joh*_*ins的帖子

为什么大写字母不能用于定义值的模式匹配?

为什么我可以使用小写字母作为名称:

val (a, bC) = (1, 2)

(1, 2) match {
  case (a, bC) => ???
}
Run Code Online (Sandbox Code Playgroud)

并且不能使用大写字母:

/* compile errors: not found: value A, BC  */
val (A, BC) = (1, 2)

/* compile errors: not found: value A, BC  */
(1, 2) match {
  case (A, BC) => ???
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 scala-2.11.17

scala pattern-matching

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

从Spring框架迁移到Play框架(Scala)

我一直在我的项目中使用Spring框架(3.x),使用以下功能:

  • 安全性:Spring安全性API
  • 持久性:Hibernate(自动生成/更新数据库方案)
  • 全文检索:Hibernate Search(基于Apache Lucene)
  • IOC:Spring依赖注入

我想将以前的一些项目迁移到Play框架.最近我开始学习Scala语言以及Play framework 2.x. 我想使用与以前相同的功能.对于数据库,我将使用Slick库.

你能告诉我什么用于安全和全文搜索?

java spring scala playframework-2.0

5
推荐指数
1
解决办法
3636
查看次数

Slick 是否支持元组的“inSet”或“in”方法?

我正在使用 Slick 2.1.0 和 PostgreSQL 9.x。

如何使用 Slick 提升查询制作此 SQL(对 postgresql 正确):

select * from someObjects 
            where (key, value) in (('k1', 'value1'), ('k2', 'value2'));
Run Code Online (Sandbox Code Playgroud)

此代码不起作用(无法解析符号“in”):

someObjects.filter { o => 
    (o.key, o.value) in (("k1", "value1"), ("k2", "value2")) 
}
Run Code Online (Sandbox Code Playgroud)

scala slick slick-2.0

5
推荐指数
1
解决办法
1413
查看次数

Protobuf:如何使用现有案例类

项目中已经使用了一些案例类。这些类也用于光滑映射。这些类扩展了一些额外的特征。

我不想从*.proto描述中生成所有这些类。

有机会扩展它们protobuf吗?或者我应该为它们使用包装器。这些包装器将在其中进行描述*.proto并从中生成。

scala protocol-buffers protobuf-java

5
推荐指数
1
解决办法
1051
查看次数

为什么通过添加索引来增加成本?

我正在使用postgresql 9.4.6.

有以下实体:

CREATE TABLE user (id CHARACTER VARYING NOT NULL PRIMARY KEY);

CREATE TABLE group (id CHARACTER VARYING NOT NULL PRIMARY KEY);

CREATE TABLE group_member (
       id CHARACTER VARYING NOT NULL PRIMARY KEY,
       gid CHARACTER VARYING REFERENCES group(id),
       uid CHARACTER VARYING REFERENCES user(id));
Run Code Online (Sandbox Code Playgroud)

我分析了那个查询:

explain analyze select x2."gid" from "group_member" x2 where x2."uid" = 'a1';
Run Code Online (Sandbox Code Playgroud)

我有几个结果.在每个结果之前,我刷新了操作系统缓存并重新启动了postgres:

# /etc/init.d/postgresql stop
# sync
# echo 3 > /proc/sys/vm/drop_caches
# /etc/init.d/postgresql start
Run Code Online (Sandbox Code Playgroud)

分析结果如下:

1)成本= 4.17..11.28带索引:

create index "group_member_gid_idx" on "group_member" …
Run Code Online (Sandbox Code Playgroud)

sql postgresql indexing

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