小编Pha*_*mal的帖子

Javascript相当于Python的zip函数

有没有相当于Python的zip函数的javascript?也就是说,给定多个相等长度的数组会创建一对数组.

例如,如果我有三个如下所示的数组:

var array1 = [1, 2, 3];
var array2 = ['a','b','c'];
var array3 = [4, 5, 6];
Run Code Online (Sandbox Code Playgroud)

输出数组应该是:

var output array:[[1,'a',4], [2,'b',5], [3,'c',6]]
Run Code Online (Sandbox Code Playgroud)

javascript python transpose functional-programming

191
推荐指数
8
解决办法
6万
查看次数

有没有办法阻止Eclipse(3.7)弄乱<xsd:documentation>标签的内容?

如果我使用属性视图在XML模式中编写多行文档,则会创建<xsd:documentation>包含它的标记.

每当我格式化文件(CTRL + SHIFT + F)时,除了第一行之外的所有行都是缩进的,有时由于这种缩进而被包装.

这种缩进和包装有效地破坏了从文件生成漂亮文档的所有努力.特别是如果我想记录一个允许值的表.

格式之前:

<xsd:documentation>1st line of comment
2nd line is indented and also wrapped as it exceeds the max line length setting.
3rd line is just indented.
</xsd:documentation>
Run Code Online (Sandbox Code Playgroud)

格式化后:

<xsd:documentation>1st line of comment
    2nd line is indented and also wrapped as it exceeds the max line 
    length setting.
    3rd line is just indented.
</xsd:documentation>
Run Code Online (Sandbox Code Playgroud)

Preferences - > XML - > XML files - > Editor中的"Format comments"选项对缩进没有帮助.在相同的首选项页面上增加"行宽"修复了换行,但我真的希望编辑器不要格式化我的文档元素的内容.

xml eclipse xsd

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

HttpClient抛出TruncatedChunkException访问大块的资源

[使用httpcore 4.1.4,httpclient 4.2.5,Oracle JDK 1.7.0_25]

我试图代表webapp的javascript(AJAX)代码"代理"与第三方Web服务的连接,并且它似乎在大型chunked响应上失败,通过发送多个RST并抛出一个错误部分地通过块org.apache.http.TruncatedChunkException.

所以我想知道:

  1. 为什么http客户端试图放弃连接?
  2. 它做了明智的事吗?(即服务器可能有故障)或者这里有什么车吗?

我的基本方法是将所有内容从servlet的请求对象复制到apache组件httpclient请求并执行.更具体地说,我:

  1. 创建一个apache commons httpclient DefaultHttpClient对象,
  2. 将所有请求标头复制到新的请求对象,
  3. host使用我要代理的主机/端口设置(/覆盖)新请求上的标头,
  4. 将所有HTTP参数复制到新请求,
  5. 将任何实体主体复制到新请求中,
  6. 执行请求,
  7. 将响应头复制到我的servlet的响应头,以及
  8. 将任何实体主体作为流复制到servlet的输出流.

引起我问题的是最后一个.它似乎在一半块中失败了,我得到以下堆栈跟踪:

org.apache.http.TruncatedChunkException: Truncated chunk ( expected size: 7752; actual size: 4077)
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:186)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:138)
at <mypackage>.<MyServlet>.service(<MyServlet>.java:XXX)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:724)
Run Code Online (Sandbox Code Playgroud)

我已经使用Wireshark窥探了它并获得了类似这样的过程:

source  dest    info
client …
Run Code Online (Sandbox Code Playgroud)

java apache http httpclient chunked

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