我正在尝试在Rubik的立方体Scala应用程序中实现MVC设计模式.
在Java中,我会通过ActionListener在控制器类中添加一个带有侦听器的按钮来实现此目的.在斯卡拉,我发现这非常困难.谁能给我一些如何做到这一点的例子?
我开始使用Play Framework,并拥有一个使用H2内存数据库在本地运行的玩具应用程序.我的application.conf文件看起来像这样:
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:my-app-db"
db.default.user=sa
db.default.password=""
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用他们提供的Postgres数据库将应用程序部署到Heroku时,部署失败:
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "sa"
2013-05-17T01:22:18.982766+00:00 app[web.1]: at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
2013-05-17T01:22:18.982827+00:00 app[web.1]: at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
2013-05-17T01:22:18.983634+00:00 app[web.1]: at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:112)
2013-05-17T01:22:18.982915+00:00 app[web.1]: at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
2013-05-17T01:22:18.982665+00:00 app[web.1]: at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:108)
2013-05-17T01:22:18.982981+00:00 app[web.1]: at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22)
2013-05-17T01:22:18.983376+00:00 app[web.1]: at java.sql.DriverManager.getConnection(DriverManager.java:200)
Run Code Online (Sandbox Code Playgroud)
我Procfile完全按照入门指南中的描述:
web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}
Run Code Online (Sandbox Code Playgroud) 在没有Sahi的Maven插件的情况下,从Hudson运行Sahi测试最简单的方法是什么?
我已经阅读了Google Soy/Closure 模板的文档,但找不到任何方法来检查地图是否为空;我只能查找给定键的地图值。有没有办法找出地图的大小?
我目前的解决方法是替换任何空地图,null然后null在模板中检查,例如:
{if $myMap}
<!-- Do something that requires a non-empty map -->
{/if}
Run Code Online (Sandbox Code Playgroud) 我有这个函数应该收到一个列表[x,y]
def input_origem():
origem = raw_input("Entre com o valor de x: ")
origem = eval(origem)
return origem
def input_saida():
destino = raw_input("Entre com o valor de y ")
destino = eval(destino)
return destino
def my func(origem, destino):
..
...
code
..
...
print myfunc(input_origem(), input_saida())
Run Code Online (Sandbox Code Playgroud)
这段代码效果很好,但我不知道如何模拟这个函数.
我试过这种方式:
class TEste(base.TestCase):
@base.TestCase.mock.patch('mypath.input_origem')
@base.TestCase.mock.patch('mypath.input_saida')
def test_movimento_cavalo(self, origem_mock, saida_mock):
origem_mock = self.mock.MagicMock()
saida_mock = self.mock.MagickMock()
myfunc(origem_mock, saida_mock)
myfunc.should.be.equal([1,1])
Run Code Online (Sandbox Code Playgroud)
但测试永远不会完成.当我取消时,我得到:
origem = raw_input("Entre com o valor de x:")KeyboardInterrupt
我正在使用NSIS为只有一个可安装组件的Java应用程序创建安装程序(带有"Modern"UI).在这种情况下向用户显示"组件"页面似乎很愚蠢.我怎么能压制那个页面?我尝试在我的脚本中将其评论如下:
...
!insertmacro MUI_PAGE_LICENSE "..\..\..\src\main\nsis\Readme.txt"
;!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
...
Run Code Online (Sandbox Code Playgroud)
但这导致了各种可怕的警告(尽管安装程序似乎确实有效):
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:4)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:5)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText.Info" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:7)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:8)
Run Code Online (Sandbox Code Playgroud)
我发现了一个关于跳过页面的NSIS wiki条目,但是它不能成为头部或尾部.
I can find out where Firefox is installed as follows; query this key to get the current version:
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox
CurrentVersion
Run Code Online (Sandbox Code Playgroud)
... then query this key to get the installed path (where "nnn" is the version number obtained above):
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\nnn\Main
Install Directory
Run Code Online (Sandbox Code Playgroud)
But I can't work out how to find where IE is installed. What key or keys will work on Windows XP, Windows Server 2003, and later?
想象一下具有多个发布版本的应用程序:V1.0,V1.1和V1.2.
现在想象一个或多个特定于版本的关联文件,例如用户手册,功能测试套件或一些技术文档.理想情况下,这些文件将与应用程序本身一起检入版本,以便查看和/或检查与特定版本相关的所有文件(例如,将功能测试作为连续构建的一部分运行).
问题是,即使代码不是,也可能需要更新这些文件中的任何一个.例如,我们可能会发现我们想要修复的V1.0用户手册中的错误,以便仍然使用该版本的客户受益.或者我们可能希望改进V1.2功能测试的覆盖范围,以便在我们的客户之前发现该版本中的错误.相应地更改了这些文件后,我们如何将它们提交到版本控制?我们不会发布该软件的新版本,只是发布它们的新版本文件.
FWIW,我们正在使用SVN.
Windows注册表项HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections包含一个名为DefaultConnectionSettings的二进制值,用于存储有关用户代理配置的所有类型的数据.这些数据的确切格式是什么?
到目前为止,我所能找到的只是这个论坛帖子中的内容,这在某些方面并不完整,似乎是错误的.
我是Slick和Scala的新手.首先看一下我的示例表,其中包含用于查询的case类映射和帮助器SuitsManager.现在SuitsManager玩的方法被Play调用!DBAction中的控制器(我正在使用play-slick 0.6.0.1).
package models
import play.api.db.slick._
import play.api.db.slick.Config.driver.simple._
import scala.collection.immutable.HashMap
import scala.slick.jdbc.JdbcBackend
case class Suit(id:Option[Long],
complainant: String,
defender: String,
litigation: Long,
litigationValue: BigDecimal,
status: Long)
class Suits(tag: Tag) extends Table[Suit](tag, "SUITS") {
def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
def complainant = column[String]("complainant")
def defender = column[String]("defender")
def litigation = column[Long]("litigation")
def litigationValue = column[BigDecimal]("litigationValue")
def status = column[Long]("status")
def * = (id.?, complainant, defender, litigation, litigationValue, status) <> (Suit.tupled, Suit.unapply)
}
object SuitsManager {
val suits …Run Code Online (Sandbox Code Playgroud)