小编Tom*_*vic的帖子

如何删除非null约束?

假设有一个表创建如下:

create table testTable ( colA int not null )
Run Code Online (Sandbox Code Playgroud)

你会如何删除not null约束?我正在寻找一些类似的东西

ALTER TABLE testTable ALTER COLUMN colA DROP NOT NULL;
Run Code Online (Sandbox Code Playgroud)

如果我使用PostgreSQL,它会是什么样子.令我惊讶的是,据我所知,MySQL文档,Google和是的,甚至Stackoverflow(尽管存在数十个或数百个与NULL相关的问题)似乎并未导致单个简单的SQL语句这将完成这项工作.

mysql null constraints

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

如何在Cakephp中完全禁用缓存?

所以我在Cakephp应用程序中打开了缓存闸门,现在我要关闭它们......

我已经完成了我所能做的一切:删除tmp文件夹中的所有文件(但不删除文件夹),在我的应用程序的core.php文件中打开'Cache.disable',尝试从某些控制器中清除缓存使用clearCache()和Cache :: clear()(但我怀疑这不起作用,因为它没有加载控制器 - 由于缓存).

我已经非常有效地停止了我的开发过程,因为缓存不会关闭.任何人都有一些我可以尝试的想法吗?我开始认为它可能在浏览器内或者我的托管服务中,但它可能只是Cakephp搞砸了我.

php caching cakephp

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

是否有推荐的方法在MVP中使用GWT使用Observer模式?

我正在考虑使用GWT根据MVP模式实现用户界面,但对如何继续进行疑问.

这些是(我的一些)目标:

  • 主持人对UI技术一无所知(即不使用com.google.*)
  • 该视图对演示者一无所知(不确定我是否希望它与模型无关)
  • 模型对视图或演示者一无所知(......显然)

我会在视图和演示者之间放置一个接口,并使用Observer模式将两者分离:视图生成事件并通知演示者.

令我困惑的是GWT中不支持java.util.Observer和java.util.Observable.这表明我所做的并不是建议的方式,就GWT而言,这引出了我的问题:使用GWT实施MVP的推荐方法是什么,特别是考虑到上述目标?你会怎么做?

java gwt design-patterns observer-pattern

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

是否可以创建java RAM磁盘以与java.io.*API一起使用?

我正在使用第三方库,它基本上创建了一个输出目录,其中包含不同类型的文件和子目录.我希望能够编写单元测试来确认输出是否正确.

我希望能够将lib与RAM磁盘一起使用,这样磁带库就不会以任何方式触及实际的磁盘板.我们的想法是让测试运行和清理非常快(丢弃RAM磁盘?).

我可以使用的两个最突出的选项是Commons VFSJSR 203.前者对我没用,因为我希望使用java.io.*API而不是Commons VFS类透明地工作.后者没有削减它因为我必须使用JDK 6(它应该是JDK 7的一部分)而且我不知道它是否能与java.io.*无缝地工作(我不会打赌吧.

还有其他解决方案,但我不能使用它们的原因与我不能使用Commons VFS相同.由于所涉及的库的复杂性,模拟是不可能的.

在我的linux机器上,我可以轻松地创建一个RAM驱动器并使用java.io.*API,就像我对磁盘上的文件一样.问题是,我希望它是跨平台的,更具体地说,是让磁盘设置成为测试程序的一部分,而不是外部的东西.

那么,有没有办法在Java中注册一个可以与标准java.io.*API一起使用的RAM驱动器?

java unit-testing ramdisk

10
推荐指数
2
解决办法
6457
查看次数

为什么哈德森"mvn clean install"构建比命令行上的3-6倍长?

我们在CI服务器(哈德森)上看到相对较长的构建时间,并且它们开始妨碍我们.我知道哈德森所做的不仅仅是调用maven而且我很乐意为它提供10-20%的工作时间,但是数量级减速似乎太多了.

任何人都知道为什么会这样,以及如何解决问题?我将首先说出不是原因:

  • 虚拟机hudson正在运行:在命令行上,它与我的开发PC大致相同的时间
  • 其他并发任务:我确保没有任何东西从构建任务中转移资源

maven目标实际上是干净和安装,没有任何花哨和资源密集,如javadoc,checkstyle等.查看hudson构建任务控制台输出,当"从[我们的Nexus artefact存储库]中检索以前的构建号"时,似乎有延迟,但我不知道一个简单的方法来衡量这一步的表现,发布一个人工制品似乎太简单了,无法证明速度的总差异.

(问题也在这个帖子中描述)

更新:

我们已将Hudson/Jenkins升级到最新版本,并且已经能够使用计时插件.精简版:

  • 好消息:我们现在知道nexus导致了这个问题
  • 坏消息:我们仍然不知道为什么

更多细节

在我们的一个真正的maven项目(maven构建时间:3分钟,哈德森构建时间:9分钟)我们可以看到哈德森也在3分钟内执行构建,但是然后花费6分钟将人工制品上传到nexus.

使用nexus的web UI执行另一个人工制品的手动上传,我能够确认以下内容:

  • 实际的人工制品上传是在很短的时间内完成的(即几秒钟内完成)
  • 在这几秒钟后,人工制品显示为 <nexusworkdir>/nexus/storage/test/test2/test2/1.0.0/test2-1.0.0.rpm

真正的益智者是为什么nexus需要一分钟来创建这个文件: <nexusworkdir>/nexus/proxy/attributes/test/test2/test2/1.0.0/test2-1.0.0.rpm

据我所知,它只是计算一个MD5和SHA1签名并记录一般的人工制品信息,但75MB文件的md5sum和sha1sum需要<1s才能运行...

最后,它似乎不是某种网络超时,因为延迟似乎与人工制品大小大致成正比.

知道nexus在收到人工制品后所做的事情.

更新2:

将nexus日志级别设置为debug,nexus会在上传人工制品时记录以下内容:

...

2011-04-05 14:38:53 DEBUG [jpsc28za2RtYQ==] -
Run Code Online (Sandbox Code Playgroud)

osnpslfDefau~ - 复制缓冲区大小为4096的流

2011-04-05 14:39:55 DEBUG [ython-2.5.2.jar] - org.mortbay.log   
Run Code Online (Sandbox Code Playgroud)

- RESPONSE /nexus/content/groups/public/org/python/jython/2.5.2/jython-2.5.2.jar 200

2011-04-05 14:40:07 DEBUG [-2.5.2.jar.sha1] - org.mortbay.log   
Run Code Online (Sandbox Code Playgroud)

- 请求/nexus/content/groups/public/org/python/jython/2.5.2/jython-2.5.2.jar.sha1 on

...

2011-04-05 14:40:12 DEBUG [-2.5.2.jar.sha1] - org.mortbay.log   
Run Code Online (Sandbox Code Playgroud)

- RESPONSE /nexus/content/groups/public/org/python/jython/2.5.2/jython-2.5.2.jar.sha1 200

2011-04-05 14:43:45 DEBUG [ndex.properties] - org.mortbay.log   
Run Code Online (Sandbox Code Playgroud)

- 请求org.mortbay.jetty.HttpConnection@141a720上的/nexus/content/groups/public/.index/nexus-maven-repository-index.properties

... …
Run Code Online (Sandbox Code Playgroud)

performance maven-2 hudson nexus jenkins

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

Postgresql 数据库创建本地化问题

作为该命令的输出

createdb -E UTF8 --lc-collate=hr_HR.UTF8 --lc-ctype=hr_HR.UTF8 tempdb
Run Code Online (Sandbox Code Playgroud)

我明白了

createdb: database creation failed: ERROR:  invalid locale name hr_HR.UTF8
Run Code Online (Sandbox Code Playgroud)

我是 postgresql 的菜鸟,所以任何帮助将不胜感激!从上面的命令可以看出,我需要创建支持克罗地亚语的数据库。我的操作系统是:

Linux tiho-desktop 2.6.31-20-generic #58-Ubuntu SMP 
Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

并且只是为了发展。我计划将此数据库移至 CentOS 或类似的系统以进行生产。我正在使用 postgresql 8.4。

提前致谢,蒂霍

postgresql ubuntu localization

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

如何将事物的组合映射到关系数据库?

我有一个表,其记录代表某些对象。为了简单起见,我假设该表只有一列,这就是唯一的ObjectId. 现在我需要一种方法来存储该表中的对象组合。组合必须是唯一的,但可以是任意长度。例如,如果我ObjectId

1,2,3,4
Run Code Online (Sandbox Code Playgroud)

我想存储以下组合:

{1,2}, {1,3,4}, {2,4}, {1,2,3,4}
Run Code Online (Sandbox Code Playgroud)

订购不是必需的。我当前的实现是有一个将sCombinations映射到s 的表。因此每个组合都会收到一个唯一的 ID:ObjectIdCombinationId

ObjectId | CombinationId
------------------------
1        | 1
2        | 1
1        | 2
3        | 2
4        | 2
Run Code Online (Sandbox Code Playgroud)

这是上面示例的前两个组合的映射。问题是,查找特定组合的查询CombinationId似乎非常复杂。该表的两个主要使用场景是迭代所有组合,以及检索特定组合。该表将被创建一次并且永远不会更新。我通过 JDBC 使用SQLite。是否有更简单的方法或最佳实践来实现这种映射?

sql orm combinations

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

如何衡量每个开发人员的 Java 代码单元测试覆盖率?

场景:一个团队使用某种 SCM 处理 Java/Maven/JUnit 项目。我们希望增加测试覆盖率,这意味着所有开发人员都应该更密集地测试代码。使用诸如 SonarQube 之类的工具来衡量整体测试覆盖率的改进非常容易,但是您需要针对每个开发人员执行此操作,以便能够识别异常值:测试覆盖率最高的工程师和覆盖率最差的工程师。

您如何回答“开发人员 X 在上个月修改的代码的测试覆盖率是多少”这个问题?是否有一种替代的、近似的测量方法可以更容易地遵循?

java junit code-coverage maven sonarqube

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

过程中表值参数中的标识列,如何定义DataTable

是否可以将类型为"[int] IDENTITY(1,1)"的列的"table"类型的参数传递给过程,并使用作为输入参数传递的DataTable对象执行此存储过程?

我收到以下错误:"INSERT到表变量上不允许的标识列.表值参数\"@ xxxxx \"的数据不符合参数的表类型."

我能找到的唯一相关注释是"如果在表值参数中为标识列提供值,则必须为会话发出SET IDENTITY_INSERT语句."

似乎即使没有在表参数中设置PK,它也会在某个时刻自动设置.这种情况发生在哪里,如何避免?

ado.net sql-server-2008 table-valued-parameters

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