小编les*_*es2的帖子

什么是用于删除行的前N个字符的unix命令?

例如,我可能想:

tail -f logfile | grep org.springframework | <command to remove first N characters>
Run Code Online (Sandbox Code Playgroud)

我当时认为tr可能有能力这样做,但我不确定.

unix bash command truncate

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

如何为Java 6枚举实现values()?

在Java中,您可以按如下方式创建枚举:

public enum Letter {
    A, B, C, D, E, F, G;

    static {
       for(Letter letter : values()) {
          // do something with letter
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个问题涉及"values()"方法.具体来说,它是如何实现的?通常,我可以在Eclipse中使用F3或CTRL + Click跳转到Java类的源代码(即使对于String,Character,Integer甚至Enum这样的类).可以查看其他枚举方法的来源(例如,valueOf(String)).

"values()"每次调用时都会创建一个新数组吗?如果我将它分配给局部变量然后修改其中一个元素,会发生什么(显然这不会影响values()返回的值,这意味着每次都会分配一个新数组).

它的代码是原生的吗?或者JVM /编译器是否专门处理它,只有当它无法证明它不会被修改时才从values()返回一个新实例.

java enums

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

如何从shell调用.bashrc中定义的函数?

在我的.bashrc中,我有一个名为hello的函数:

function hello() {
   echo "Hello, $1!"
}
Run Code Online (Sandbox Code Playgroud)

我希望能够从shell调用hello(),如下所示:

$ hello Lloyd
Run Code Online (Sandbox Code Playgroud)

得到输出:

> Hello, Lloyd!
Run Code Online (Sandbox Code Playgroud)

有什么诀窍?

(当然,我想到的真正功能更复杂.)

编辑:这真的是由函数中的语法错误引起的,我想!:(

function coolness() {

    if[ [-z "$1"] -o [-z "$2"] ]; then
        echo "Usage: $0 [sub_package] [endpoint]";
        exit 1;
    fi
        echo "Hi!"
}
Run Code Online (Sandbox Code Playgroud)

bash shell function

55
推荐指数
5
解决办法
7万
查看次数

我可以关闭web.xml中的HttpSession吗?

我想完全消除HttpSession - 我可以在web.xml中这样做吗?我确信有容器特定的方法可以做到这一点(当我进行谷歌搜索时,搜索结果会出现这种情况).

PS这是个坏主意吗?在我真正需要它之前,我更喜欢完全禁用它们.

java session web.xml web-applications

55
推荐指数
3
解决办法
5万
查看次数

npm安装在docker的jenkins管道中失败

我正在关注Jenkins管道的教程,我可以在节点6.10 docker容器下找到一个"hello world".

但是,当我向ember initrepo 添加一个默认的EmberJS应用程序(使用)并尝试在管道中构建它时,它在运行npm install时失败(因为目录访问问题).Jenkins文件可以在这里看到:https://github.com/CloudTrap/pipeline-tutorial/blob/fix-build/Jenkinsfile

构建打印的错误消息(在本地安装并java -jar jenkins.war在Macbook上运行,不相关但仅包括在内)是:

npm ERR! Linux 4.9.12-moby
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.10
npm ERR! path /.npm
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir

npm ERR! Error: EACCES: permission denied, mkdir '/.npm'
npm ERR!     at Error (native)
npm ERR!  { Error: EACCES: permission denied, mkdir '/.npm'
npm ERR!     at Error (native)
npm ERR! …
Run Code Online (Sandbox Code Playgroud)

npm jenkins ember.js docker jenkins-pipeline

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

在Java Servlet应用程序中为HTTP 201响应设置Location标头的正确方法是什么

请考虑以下代码向客户端发送HTTP 201"创建"响应:

    String url = "/app/things?id=42"; // example
    response.setStatus(HttpServletResponse.SC_CREATED);
    response.setContentType("text/plain");
    response.setHeader("Location", url);
    response.getWriter().print(url);
Run Code Online (Sandbox Code Playgroud)

它通知客户端创建了一个新的"东西",并且可以在URL上找到它/app/things?id=42.问题是这个URL是相对的.这对于JSP来说是完美的,可以写成如下:

<img src="<c:url value="/things?id=42" />" />
Run Code Online (Sandbox Code Playgroud)

哪个会产生以下HTML:

<img src="/app/things?id=42" />
Run Code Online (Sandbox Code Playgroud)

这是我们想要的网络应用程序.

但我不相信这是我们想要的201响应位置标题.HTTP规范声明:

14.30位置

Location response-header字段用于将收件人重定向到Request-URI以外的位置,以完成请求或标识新资源.对于201(已创建)响应,Location是请求创建的新资源的位置.对于3xx响应,位置应该应该指示服务器自动重定向到资源的首选URI.字段值由单个绝对URI组成.

       Location = "Location" ":" absoluteURI
Run Code Online (Sandbox Code Playgroud)

一个例子是:

       Location: http://www.w3.org/pub/WWW/People.html
Run Code Online (Sandbox Code Playgroud)

我的问题是如何以适当的方式将servlet的相对URL转换为Location头的绝对URL.

我不相信使用:

request.getServerName() + ":" + request.getServerPort() + url;
Run Code Online (Sandbox Code Playgroud)

是正确的解决方案.应该有一个生成正确输出的标准方法(以便可以应用URL重写等).我不想创建一个hack.

java servlets http httpresponse http-headers

35
推荐指数
2
解决办法
5万
查看次数

DTD或XML模式.哪一个更好?

DTD和XML Schema的优点/缺点是什么(我甚至不确定后者的官方名称是什么!)?哪个更好?为什么我们需要两种方法来做同样的事情?

编辑:我在一篇正在阅读的文章中找到了这个,这促使我提出这个问题:

为什么选择W3C XML Schema语言?

W3C XML Schema Language不是唯一的模式语言.事实上,XML规范将文档类型定义(DTD)描述为表达模式的方式.此外,JAXB参考实现的预发布版本仅适用于DTD - 也就是说,不适用于使用XML Schema Language编写的模式.但是,XML Schema Language比DTD更丰富.例如,用XML Schema Language编写的模式可以描述在DTD中无法表达(或不能轻易表达)的结构关系和数据类型.有一些工具可用于将DTD转换为W3C XML模式语言,因此如果您使用的是早期版本的JAXB参考实现中使用的基于DTD的模式,则可以使用这些工具将模式转换为XML模式语言.http://java.sun.com/developer/technicalArticles/WebServices/jaxb/#binsch

我想我想举例说明为什么XML-Schema更好(如果确实如此).

xml xsd dtd

30
推荐指数
3
解决办法
3万
查看次数

如何通过grep管道输入到另一个实用程序?

我正在使用'tail -f'来跟踪日志文件,因为它已更新; 接下来,我将其输出传递给grep,以仅显示包含搜索词的行(在本例中为"org.springframework"); 最后我想把输出从grep传递到第三个命令'cut':

tail -f logfile | grep org.springframework | cut -c 25-
Run Code Online (Sandbox Code Playgroud)

如果可以从grep获取输入, cut命令将删除每行的前25个字符!(如果我从链中消除'grep',它会按预期工作.)

我正在使用cygwin和bash.

实际结果:当我添加第二个管道以连接到'cut'命令时,结果是它挂起,好像它在等待输入(如果你想知道).

bash grep cygwin cut pipe

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

你如何病毒扫描正在上传到你的java webapp的文件?

基本上,我想在将文件上传(在将它们写入磁盘之前)到Web应用程序时对病毒进行扫描.

特别是,我想与"McAfee VirusScan Enterprise"(最新版本)集成.

从设计和维护的角度来看,使用第三方产品扫描防火墙上的某些路径可能更好吗?这样,Web应用程序就不必关心病毒扫描.为了最大限度地减少开销,典型的病毒扫描防火墙允许您指定URL模式以及特定的POST数据模式.如果它是一个HTTPS站点(除非有某种方法),这当然是行不通的.

来自stackoverflow的这篇文章似乎表明McAfee的SDK不再可用,但是有开源替代品吗?

java antivirus web-applications mcafee antivirus-integration

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

你如何让hgsubversion工作?

hgsubversion的在线文档很糟糕,IMO(我不想这么说).我一直在按照快速入门中的说明操作.

我做了什么?

  1. 我安装了Mercurial:

    D:\ repos\experimental> hg --version Mercurial Distributed SCM(1.6版)

  2. 我安装了TortoiseHg以匹配Mercurial版本.

  3. 我下载了hgsubversion存储库:

    D:\ devapps> hg clone http://bitbucket.org/durin42/hgsubversion

  4. 我修改了我的.hgrc如下:

    [extensions] hgsubversion = D:\ devapps\hgsubversion\hgsubversion

    D:\ repos\experimental> hg help hgsubversion hgsubversion extension - 与Subversion存储库集成

    hgsubversion是Mercurial的扩展,它允许它充当Subversion客户端,提供快速,增量和双向同步.

  5. 为Python 2.5安装了PySVN.

  6. 我试图克隆SVN存储库:

    ...> hg clone http:// path/to/repository / repository-hg

我得到了以下结果:

...
abort: Subversion 1.5.0 or later required, but no bindings were found!
Run Code Online (Sandbox Code Playgroud)

WTF?我正在遵循的说明中没有任何内容告诉您如何安装它.任何帮助是极大的赞赏!!(我只想尽可能地在没有SVN的情况下工作 - 请帮助!).

svn mercurial hgsubversion

22
推荐指数
1
解决办法
5155
查看次数