我正在为客户端库编写单元测试.我想测试连接无效端口和无效的IP.什么是一个好的IP地址使用,不会在某个地方路由?我不想对运行单元测试的机器所在的网络做出任何假设.LOCALHOST似乎是一个糟糕的选择,因为这是运行服务器组件的有效机器,我想分别测试无效端口.是否在IPv4规范中的某处保留了INVALID-IP?
我试图找出一种方法来删除elasticsearch索引中特定属性的所有条目,并删除该属性的所有类型映射.
我一直在查看以下两个doc页面:put mapping和delete mapping
从第二个链接:
"允许删除映射(类型)及其数据.REST端点是/ {index}/{type},带有DELETE方法."
我认为我需要的是/{index}/{type}/{property}什么?
我是否需要重新创建整个索引来完成此操作,即在类型之间移动和操作数据?
例如,在映射上调用GET:
curl -XGET 'http://.../some_index/some_type/_mapping'
Run Code Online (Sandbox Code Playgroud)
结果:
{
"some_type": {
"properties": {
"propVal1": {
"type": "double",
"index": "analyzed"
},
"propVal2": {
"type": "string",
"analyzer": "keyword"
},
"propVal3": {
"type": "string",
"analyzer": "keyword"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在此删除操作之后propVal3将返回:
curl -XGET 'http://.../some_index/some_type/_mapping'
Run Code Online (Sandbox Code Playgroud)
结果:
{
"some_type": {
"properties": {
"propVal1": {
"type": "double",
"index": "analyzed"
},
"propVal2": {
"type": "string",
"analyzer": "keyword"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
并且propVal3将通过索引删除所有数据.
作为这个问题的后续问题: 是否有一种简单的方法来挑选python函数(或以其他方式序列化其代码)?
我想从上面的帖子中看到这个子弹的一个例子:
"如果函数引用了你需要选择的全局变量(包括导入的模块,其他函数等),你也需要对它们进行序列化,或者在远程端重新创建它们.我的例子只是给它了远程进程的全局命名空间. "
我有一个简单的测试,我正在使用marshal将函数字节代码写入文件:
def g(self,blah):
print blah
def f(self):
for i in range(1,5):
print 'some function f'
g('some string used by g')
data = marshal.dumps(f.func_code)
file = open('/tmp/f2.txt', 'w')
file.write(data)
Run Code Online (Sandbox Code Playgroud)
然后我开始一个新的python实例:
file = open('/tmp/f2.txt', 'r')
code = marshal.loads(file.read())
func2 = types.FunctionType(code, globals(), "some_func_name");
func2('blah')
Run Code Online (Sandbox Code Playgroud)
这导致:
NameError: global name 'g' is not defined
Run Code Online (Sandbox Code Playgroud)
这与我所采用的不同方法无关.我尝试了基本相同的方法来发送g作为f但f仍然看不到g.如何进入全局命名空间,以便f在接收过程中可以使用它?
有人还建议将pyro作为如何执行此操作的示例.我已经尝试了解迪斯科项目中的相关代码.我拿了他们的dPickle类并尝试在独立应用程序中重新创建他们的disco/tests/test_pickle.py功能但没有成功.我的实验在使用转储调用执行函数编组时遇到了问题.无论如何,也许接下来就是热探索.
总之,我所遵循的基本功能是能够通过线路发送方法并将所有基本的"工作空间"方法与其一起发送(如g).
来自答案的更改示例:
工作函数编写者:
import marshal, types
def g(blah):
print blah
def f():
for i in range(1,5):
print 'some function f'
g('blah string used …Run Code Online (Sandbox Code Playgroud) Stackless python允许您序列化一个任务(酸洗),以便以后执行,不需要在同一台机器上:http: //www.stackless.com/wiki/Pickling
我的问题是stackless python是否提供任何类型的IPC,中间件,服务代理或DDS技术来在进程和/或机器之间移动这些pickle任务?我们真的需要在这里使用套接字吗?
他们有一个很好的渠道概念:http: //www.stackless.com/wiki/Pickling
如果渠道跨越机器工作,那么这将是非常棒的,您可以简单地在网络上向服务代理注册渠道.实质上,允许您将任务移动到位于不同计算机上的不同无堆栈python服务.
我正在寻找一个类似于ArrayList的java数据结构,当我只使用一个值参数进行添加或推送时,将自动为我返回一个索引.
例如:
ArrayList<String> elements = new ArrayList<String>();
String element = "foo";
String elementTwo = "bar";
int index1 = elements.add(element); //note this does not exist, i.e. returns bool in api
int index2 = elements.add(elementTwo);
System.out.println(elements.get(index1)); //would give "foo"
Run Code Online (Sandbox Code Playgroud)
我可以看到围绕ArrayList编写一个包装类来管理一个计数器,该计数器在每次添加操作时都会递增并调用:
ArrayList.add(int index, E element)
Run Code Online (Sandbox Code Playgroud)
你真的需要为ArrayList编写一个包装器吗?这似乎很简单,可以在某个地方开箱即用?
编辑:
我需要为此用例修复和唯一索引(键).提出了一张地图,我同意这一点.有没有人知道一个地图实现,它会在值插入上为您提供自动(唯一)生成的键?我只是想确定是否需要为此实现自己的包装器.
我希望能够从同一个JVM中的嵌入式ActiveMQ(5.4.2)代理中获取从java中搜索主题的消费者数量.JMX真的是唯一的选择吗?JMX似乎是一个糟糕的选择,因为它可能被选中禁用.这篇文章展示了如何使用JMX获取连接列表:ActiveMQ:通过JMX获取连接列表?
我更喜欢基于非JMX的解决方案,因为它可能被禁用.我猜JMX如果在禁用时仍然可以从java中使用它就没问题.我只是熟悉启用/禁用它以与jconsole一起使用.
我错过了API中的内容吗?
下面的帖子引导我评估使用 jasonpatch 进行 json 到 json 转换:
该项目可以在这里找到:
https://github.com/bruth/jsonpatch-js
我目前正在尝试更改数组中所有元素的名称,但没有看到这是怎么可能的。我目前的尝试是:
var transformations = [
{ op: 'move', from:'/hits/1/_id', path: '/hits/1/pizza'}
];
Run Code Online (Sandbox Code Playgroud)
这会换出第一个元素,但如何执行“*”卡类型操作?就像是:
var transformations = [
{ op: 'move', from:'/hits/*/_id', path: '/hits/*/pizza'}
];
Run Code Online (Sandbox Code Playgroud)
我可以看到可能为每个元素调用 N 次转换,但这似乎是一个黑客。
我目前正在与JEST合作:https: //github.com/searchbox-io/Jest
是否可以使用此API进行扫描和滚动?
http://www.elasticsearch.org/guide/reference/api/search/search-type/
我目前正在使用搜索命令:
Search search = new Search("{\"size\" : "+RESULT_SIZE+", \"query\":{\"match_all\":{}}}");
Run Code Online (Sandbox Code Playgroud)
但我担心大的结果集.如果您使用搜索命令,如何设置"search_type = scan&scroll = 10m&size = 50"参数?
使用以下控件:
注意我设置的值为: http ://www.w3.org/TR/html-markup/input.datetime-local.html
<input type="datetime-local" name="transaction_date" value="2011-05-31T10:07:41">
Run Code Online (Sandbox Code Playgroud)
注意下面的链接不会渲染秒?
http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_type_datetime-local
是否可以将其配置为不允许秒可编辑,即只是不显示控件中的秒数?
编辑
下面的图像使用chrome渲染?为什么我在这里获得秒数,但上面的w3school链接没有秒?如何让chrome无法渲染秒数?

我有一个有趣的场景,我在catch子句中设置HttpServletResponse错误."response.sendError(..)"也会抛出异常.在异常处理期间处理异常以保留原始异常详细信息的最佳方法是什么?
我有这样的事情:
try {
...
} catch(Exception e) {
try {
response.sendError(500);
} catch(IOException e2) {
//Can I do something like:
//'throw new ServletException(e,e2)' here?
}
}
Run Code Online (Sandbox Code Playgroud)
换句话说,将两个异常中的信息捆绑到下一个抛出的异常中的最佳方法是什么?在处理第二个异常时,我不想丢失第一个异常中的信息.
一般来说,多个try catch块看起来很可怕.理想情况下要避免那种混乱.总是可以在方法中捆绑嵌入式try/catch ...但仍然看起来很糟糕并且不能解决保留所有异常细节的问题.