小编Chr*_*s R的帖子

在Java中以编程方式创建W3C DOM的有效方法是什么?

虽然我知道如何使用DOM API构建一个长期,艰巨的DOM,但我想做一些比这更好的事情.是否有一种漂亮,整洁的方式来构建分层文档,例如,一个像Hibernate的Criteria API一样工作的API?这样我可以像这样链接一起调用,例如:

Document doc = createDocumentSomehow ();
doc.createElement ("root").createElements (
    doc.newElement ("subnode")
        .createElement ("sub-subnode")
            .setText("some element text")
            .addAttribute ("attr-name","attr-value"),
    doc.newElement ("other_subnode"));
Run Code Online (Sandbox Code Playgroud)

理想情况下,这会产生如下XML:

<root>
  <subnode>
    <sub-subnode attr-name = "attr-value">some element text</sub-subnode>
  <other_subnode />
</root>
Run Code Online (Sandbox Code Playgroud)

基本上,我想要的东西,Java本身不会比我生成的文档长四倍.它存在吗?

java xml dom

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

Python 中是否有与 netaddr/ipaddr 等效的 javascript?

我使用NetAddripaddr-py在 Python 中计算子网包含,但我希望开始使用客户端逻辑来确定包含。我可能可以弄清楚如何实现基于位掩码的基本逻辑,但我宁愿使用更通用且得到良好支持/优化的东西。

我想做的基本上是这样的:

function filter_by_containment(candidate_subnets, ipaddr_or_cidr) {
    accepted = [];
    for (i = 0; i < candidate_subnets.length; i++) {
        if (candidate_subnets[i].contains(ipaddr_or_cidr)) {
            accepted.append(candidate_subnets[i]);
        }
    }
    return accepted;
}
Run Code Online (Sandbox Code Playgroud)

(注意;我不是 Javascript 专家,所以这可能是垃圾语法。我还使用 JQuery 和其他一些东西,但为了最小化示例的规模,我使用了一个简单的、蹩脚的循环)

javascript python ip-address cidr

5
推荐指数
0
解决办法
573
查看次数

我该如何解释这个JVM错误?

我有一个Java应用程序,它使用一些本机代码,这是错误的.我想搞清楚在那里它的断层,但我不知道如何读hs_err_pid转储文件:

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x256cbc]
V  [libjvm.so+0x25df69]
V  [libjvm.so+0x25dbac]
V  [libjvm.so+0x25e8c8]
V  [libjvm.so+0x25e49f]
V  [libjvm.so+0x16fa3e]
j  br.com.cip.spb.single.SPBRequestApplicationController.processJob(Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+158
j  com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+108
j  com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ScheduledJob;)V+7
v  ~StubRoutines::call_stub
V  [libjvm.so+0x17af0c]
V  [libjvm.so+0x28b9d8]
V  [libjvm.so+0x17ad3f]
V  [libjvm.so+0x1a58a3]
V  [libjvm.so+0x18bc24]
C  [cgen+0xa6d6]
C  [cgen+0xae1e]  cgen_process_job+0x336
C  [cgen+0x10442]
C  [cgen+0x7714]
C  [cgen+0x38216]
C  [cgen+0x3a29d]
C  [cgen+0x37e3c]
C  [cgen+0x7558]
C  [libc.so.6+0x166e5]  __libc_start_main+0xe5
Run Code Online (Sandbox Code Playgroud)

基本上,指向的'j'帧是什么?是V+158指类中的字节码偏移量?我怎样才能追溯到这里的源线?

实际上,我喜欢这种垃圾桶的一般指南.那太棒了.

java debugging java-native-interface core hs-err

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

要将JTA集成到Java SE应用程序中,我需要做什么?

假设我想实现一个应用程序容器.不是完整的Java EE堆栈,但我需要提供对第三方代码的JDBC资源和事务的访问权限,这些代码将部署在我正在编写的应用程序中.

进一步假设我正在研究JBossTS的交易.我并不满足于此,但据我所知,它似乎最适合我需要做的事情.

如何集成对我的Java SE应用程序中提供连接资源和JTA事务的支持?

java jndi jta

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

如何在Mercurial中回滚单个更改?

我对我想要回滚的mercurial项目中的文件进行了更改,但是我希望保留一些后续发生的更改:

Revision 1: Original
Revision 2: A change I made in error
Revision 3: A change I want to keep
Run Code Online (Sandbox Code Playgroud)

我想仅回滚修订版2中的更改,留下1和3,并创建新版本4.最"Mercurial"方式是什么?

请注意,是的,我可以从修订版2中提取反向差异并将其作为补丁应用于我的工作副本,然后提交.我知道.但是我想找到一些直接支持该工具的方法.

mercurial

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

什么是'svn cat'的同等价值?

我想从指定版本的远程存储库打印单个文件的内容.我怎样才能做到这一点?在svn中,它是:

svn cat <path to remote file>
Run Code Online (Sandbox Code Playgroud)

更新

我想避免的主要是克隆整个存储库; 我正在使用的一些相当大,我只需要来自单个文件的项目元数据.

svn mercurial

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

如何从此表构建所有可能元组的列表?

假设我有一组列定义:

Col1: value11 value12 value13
Col2: value21 value22 
Col3: value31 value32 value33
...
Run Code Online (Sandbox Code Playgroud)

给定列的一些子集 - 2个或更多 - 我想找到这些列的所有可能值.假设我选择上面的第1列和第2列:

(value11 value21)
(value11 value22)
(value12 value21)
(value12 value22)
(value13 value21)
(value13 value22)
Run Code Online (Sandbox Code Playgroud)

如果我选择了2:3:

(value21 value31)
(value21 value32)
(value21 value33)
(value22 value31)
(value22 value32)
(value22 value33)
Run Code Online (Sandbox Code Playgroud)

如果我选择了全部三个:

(value11 value21 value31)
(value11 value21 value32)
...
Run Code Online (Sandbox Code Playgroud)

我在python中实现这个,我想要一个快速的算法来做到这一点.我的输入是一个元组列表:(columnName,columnValueList)

有什么建议?

python algorithm

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

跨语言编码标准?

我正在寻找有关编码约定的建议.我按照频率顺序使用的主要语言是C#,JavaScript和ActionScript.它们都是基于ECMA的语言,因此在大多数情况下,语法是可以互换的.我想要做的是标准化我编写代码的方式.

我四处寻找有关编码标准的文件,并找到了一些,包括微软,Adobe,Doug Crockford以及我拥有的各种书籍的作者.许多个别标准都是相同的.例如,不要使用大写来区分对象标识符.好的听起来不错.

但是,它们在某些方面有所不同,最明显的是在命名约定中.例如,在命名私有属性时使用下划线,或者在方法名称中使用驼峰大小写和Pascal大小写.

与ActionScript和JavaScript相互之间的C#建议之间的差异往往更大,这使我更难,因为它是更多的语言与更多的代码编写.在IDE中还存在自动格式化的问题(例如,在JavaScript与C#中的函数中放置开括号).

关于你如何解决这个问题的任何建议?我没有看到任何重大陷阱?我意识到自己可能很迂腐,而且我很幸运能够在一个我不必遵守别人标准的环境中工作.我希望能够提高生产力和更易读的代码.谢谢.

javascript c# actionscript coding-style

3
推荐指数
2
解决办法
521
查看次数

如何使mock-0.6返回一系列值?

我正在使用来自http://www.voidspace.org.uk/python/mock/mock.html的mock-0.6库来模拟测试框架,我希望有一个模拟方法返回一系列值,每次被召唤.

现在,这是我认为应该工作的:

def returnList(items):
  def sideEffect(*args, **kwargs):
    for item in items:
      yield item
    yield mock.DEFAULT
  return sideEffect

mock = Mock(side_effect=returnList(aListOfValues))
values = mock()
log.info("Got %s", values)
Run Code Online (Sandbox Code Playgroud)

日志输出是这样的:

subsys: INFO: Got <generator object func at 0x1021db500> 
Run Code Online (Sandbox Code Playgroud)

因此,副作用是返回生成器,而不是下一个值,这似乎是错误的.我在哪里弄错了?

python mocking

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

Python 2.6 GC似乎可以清理对象,但不会释放内存

我有一个用python 2.6编写的程序,它创建了大量的短期实例(这是一个典型的生产者 - 消费者问题).我注意到top和pmap报告的内存使用情况似乎在创建这些实例时会增加,并且永远不会再次下降.我担心我使用的一些python模块可能会泄漏内存,所以我仔细隔离了代码中的问题.然后我开始尽可能简短地再现它.我想出了这个:

class LeaksMemory(list):
    timesDelCalled = 0

    def __del__(self):
        LeaksMemory.timesDelCalled +=1


def leakSomeMemory():
    l = []
    for i in range(0,500000):
        ml = LeaksMemory()
        ml.append(float(i))
        ml.append(float(i*2))
        ml.append(float(i*3))
        l.append(ml)

import gc
import os


leakSomeMemory()

print("__del__ was called " + str(LeaksMemory.timesDelCalled) + " times")
print(str(gc.collect())  +" objects collected")
print("__del__ was called " + str(LeaksMemory.timesDelCalled) + " times")
print(str(os.getpid()) + " : check memory usage with pmap or top")
Run Code Online (Sandbox Code Playgroud)

如果你用'python2.6 -i memoryleak.py'这样运行它会停止,你可以使用pmap -x PID来检查内存使用情况.我添加了del方法,以便我可以验证GC是否正在发生.它不在我的实际程序中,似乎没有任何功能差异.每次调用leakSomeMemory()都会增加此程序消耗的内存量.我担心我会犯一些简单的错误,并且引用被意外保留,但无法识别它.

python memory memory-leaks

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