小编Ale*_*var的帖子

斯卡拉.具有一个字段的案例类可以是值类吗?

Scala 2.10引入了值类.它们对于编写类型安全代码非常有用.此外还有一些限制,其中一些将由编译器检测,有些则需要在运行时进行分配.

我想使用case class语法创建值类,以允许创建 - 无需新语法和人性化toString.没有模式匹配,因为它需要分配.

所以问题是:将使用case class语法需要值类分配吗?

scala scala-2.10

30
推荐指数
2
解决办法
5738
查看次数

强制合并分支

有没有办法强制在分支B中合并分支A,在那里所有可能的冲突将被解决,有利于分支B?

换句话说,如何推动分支A中的最后一个分支B修订而没有虚假的冲突?

mercurial

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

使用Ebean和Play Framework 2的OptimisticLockException

我在Play Framework 2中使用Ebean,有时会出现类似的OptimisticLockException:

play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[OptimisticLockException: Data has changed. updated [0] rows sql[update manager set modification_time=?, session_id=?, expiration_date=? where id=? and rating=? and creation_time=? and modification_time=? and name=? and surname=? and login=? and password_hash=? and email=? and session_id=? and expiration_date=?] bind[null]]]
Run Code Online (Sandbox Code Playgroud)

当少数演员开始访问数据库时会发生这种情况

那么,Manager类是:

public class Manager extends Model {
@Getter @Setter
Long id;

@Getter @Setter
private String name;

@Getter @Setter
private String surname;

@Column(unique = true)
@Getter @Setter
private String login;

@Getter @Setter
private String passwordHash;

@Getter @Setter
private …
Run Code Online (Sandbox Code Playgroud)

ebean playframework-2.0

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

Express中间件,next和Promises

有一个非常简单的Express路由器与处理程序:

router.get('/users/:userId/roles/:roleId', function(req, res, next){
    const roleId = req.params.roleId;
    res.rest.resource = UserModel.findOne({ _id: req.params.userId}).exec().then(function(usr) {
        console.log(req.params.roleId); // => undefined
        console.log(roleId);            // => okay here
        const result = usr.roles.find( role => String(role._id) === String(roleId));
        return result;
    });
    next();
});
Run Code Online (Sandbox Code Playgroud)

因为它看到了req.params.roleId在诺言回归中的访问undefined.这仅适用于next()在promise外部调用的情况then.

我很好用asyncing和promises,并且理解next()将在handler之前调用then.但是发生了req.params.roleId什么?它变异的原因和位置?被调用的中间件是否next()相同但是变异了req

注意:res.rest.resource稍后调用的中间件用于构建正确的REST类响应.

javascript node.js express es6-promise

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

龙目岛与Play 2

Lombok与Play Framework 2的集成怎么样?我真的很喜欢Lombok它使我的代码更具可读性和更少的样板.Play Framework也很精彩.但是如果要混淆它们的话会有很大的麻烦.

主要原因是域类之前编译的play项目中的scala temlates .所以Lombok,它本身就是编译器的黑客,在那个时候不生成访问器.

问题是:如果有任何方法可以使其发挥作用?

我在Google 网上论坛中发现了一些讨论,但他们没有提供任何合理的解决方案.你有成功吗?

并且..为什么来自Play Framework项目的人不提供类似Lombok的解决方案?无论如何Play充满了代码生成魔法和阴影编译......所以,为什么不呢?

lombok playframework

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

如何用akka和sbt开发?

用sbt开发我几乎不使用~run命令,说我的代码改变了.这很舒服.

现在我要和akka玩一下.有什么方法可以恢复默认的sbt的行为,当ctrl + D停止应用程序,并且代码在运行中被捕获?

这是示例应用程序:

object Main extends App {
  println("Starting actors...")
  val system = ActorSystem("MySystem")
  val myActor = system.actorOf(Props[Actors.MyActor], name = "myActor")
  myActor ! "test"
  // system.shutdown()
}

object Actors {
  class MyActor extends Actor {
  val log = Logging(context.system, this)
  def receive = {
    case "test" => log.info("received test")
    case _      => log.info("received something else")
  }
}

}
Run Code Online (Sandbox Code Playgroud)

在这种情况下run,~run命令和命令也不会被ctrl + D打断,也不会重新加载代码.只有ctrl + C才能停止整个sbt.据我所知,Play框架有一些解决方案可以做到这一点,因为它看起来像是在~run模式下在ctrl + D上停止actor系统

scala sbt akka

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

如何管理不断增长的C++项目

我想知道如何管理不断增长的C++项目.现在,我正在使用Netbeans开发一个项目,这是生成makefile的肮脏工作.该项目已经变得太大了,我决定将其分成几个部分.这样做的最佳方式是什么?

我正在尝试使用Scons作为我的构建系统.我已经取得了一些成功,但是每次添加或删除文件时都应该编辑构建脚本.太沉闷了.

所以我需要你的建议.

PS顺便问一下,谷歌Chrome这样的大型项目如何做到这一点?是否每个人都使用某种IDE来构建仅为软件分发生成的脚本?

c++ netbeans scons

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

scons的.用Glob递归递归

我使用scons几天而且有点困惑.为什么没有内置工具从给定的根开始递归地构建源?让我解释一下:我有这样的来源性格:

src
    Core
       folder1
       folder2
           subfolder2_1
    Std
       folder1
Run Code Online (Sandbox Code Playgroud)

..等等.这棵树可能更深.

现在我用这样的结构构建它:

sources = Glob('./builds/Std/*/*.cpp')
sources = sources + Glob('./builds/Std/*.cpp')
sources = sources + Glob('./builds/Std/*/*/*.cpp')
sources = sources + Glob('./builds/Std/*/*/*/*.cpp')
Run Code Online (Sandbox Code Playgroud)

这看起来并不那么完美.当然,我可以编写一些python代码,但是有更合适的方法吗?

scons

5
推荐指数
2
解决办法
8883
查看次数

玩2 Css/JS minifiaction和concatenation

是否有一些内置工具或插件将我的所有页面脚本保存在一个文件中?我在播放邮件列表中找到了一些主题,但他们都没有回答这个问题.

此外,谷歌封闭编译器在某个地方很深,但看起来除了框架开发人员之外没有人真正知道如何让它工作.

无论如何,如果有一些工具至少可以在一个文件中将我的所有css连接在一起,那将是非常好的.

playframework-2.0

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

在React的onClick中传递未定义是否安全?

传递undefinedReact的onClick处理程序安全吗?

我只是试过了,一切都仍然有效,但是我在文档中找不到与此相关的任何内容。

例:

function MonthBar(props) {
  /* is it okay when props.onClick === undefined ? */
  return <span onClick={props.onClick}>{props.monthName}</span>;
}

MonthBar.propType = {
  onClick:  React.PropTypes.func, // optional                   
  monthName: React.PropTypes.string.isRequired
};
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

Avaje Ebean.ManyToMany延迟BeanSet

我正在编写小应用程序,使用Play Framework 2.0,它使用Ebean作为ORM.所以我需要User类和UserGroup类之间的多对多关系.这是一些代码:

@Entity
public class User extends Domain {

    @Id
    public Long id;
    public String name;

    @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    public Set<UserGroup> groups = new HashSet();
}



@Entity
public class UserGroup extends Domain {

    @Id
    public Long id;     
    public String name;

    @ManyToMany(mappedBy="groups")
    public Set<User> users = new HashSet();
}
Run Code Online (Sandbox Code Playgroud)

数据库方案生成器为具有中间表的代码生成良好的方案,并且所有工作都很好,直到我使用多对多.

所以我在一个请求中添加组:

user.groups.add(UserGroup.find.byId(groupId));
user.update();
Run Code Online (Sandbox Code Playgroud)

并尝试将它们输出到另一个System.out:

System.out.println(user.groups);
Run Code Online (Sandbox Code Playgroud)

这会返回:

BeanSet推迟

快速搜索显示BeanSet是来自Ebean的延迟加载容器.但似乎它没有以适当的方式工作或我错过了重要的事情.

关于我做错了什么,有什么想法吗?

many-to-many jpa playframework ebean playframework-2.0

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

斯卡拉.功能太多,课程太多了?

我是Scala的新手,但有一些Java背景.

在编写Scala代码时,以这种样式处理Option参数很有用:

val text = Option("Text")
val length = text.map(s => s.size)
Run Code Online (Sandbox Code Playgroud)

s => s.size据我所知,每一个都带来了新的Function1[A, B].如果我做了8次这样的转换,它将带来8个额外的类.绑定表单时,我非常重视这些片段,所以问题是:

我应该少用它,也许用if-notation代替它,或者类似泛滥对JVM不是很关键,或者Scala编译器可能会做某种魔术?

更新:一个更具体的例子是:

case class Form(name: Option[String], surname: Option[String])
val bindedForm = Form(Option("John"), Option("Smith"))
val person = new Person
bindedForm.name.foreach(a => person.setName(a))
bindedForm.surname.foreach(a => person.setSurname(a))
Run Code Online (Sandbox Code Playgroud)

它会产生两个不同的Function1[String, String]类吗?如果有数百次此类转换怎么办?

scala

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

H2数据库在playframework2中失败

我使用play 2.0.1开发小应用程序,并使用内部H2数据库找到非常有用的用于进行客户预览.数据库中只有几行,一个或两个用户.在我的笔记本电脑中编译应用程序并在测试服务器上部署tar是非常舒服的.但看起来H2不时下降.我在application.log中找到了这个:

!@ 6anj14ljo - 内部服务器错误,请求[POST/admin] - >

play.core.ActionInvoker $$ anonfun $ receive $ 1 $$ anon $ 1:执行异常[[PersistenceException:Query抛出SQLException:表"MANAGER"未找到.

我知道使用H2进行生产并不是一个好主意.但我不想每次都配置mysql.这种H2行为的原因是什么?

h2 playframework playframework-2.0

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