例如,我可能想:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Run Code Online (Sandbox Code Playgroud)
我当时认为tr可能有能力这样做,但我不确定.
在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()返回一个新实例.
在我的.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) 我想完全消除HttpSession - 我可以在web.xml中这样做吗?我确信有容器特定的方法可以做到这一点(当我进行谷歌搜索时,搜索结果会出现这种情况).
PS这是个坏主意吗?在我真正需要它之前,我更喜欢完全禁用它们.
我正在关注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) 请考虑以下代码向客户端发送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组成.
Run Code Online (Sandbox Code Playgroud)Location = "Location" ":" absoluteURI一个例子是:
Run Code Online (Sandbox Code Playgroud)Location: http://www.w3.org/pub/WWW/People.html
我的问题是如何以适当的方式将servlet的相对URL转换为Location头的绝对URL.
我不相信使用:
request.getServerName() + ":" + request.getServerPort() + url;
Run Code Online (Sandbox Code Playgroud)
是正确的解决方案.应该有一个生成正确输出的标准方法(以便可以应用URL重写等).我不想创建一个hack.
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更好(如果确实如此).
我正在使用'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'命令时,结果是它挂起,好像它在等待输入(如果你想知道).
基本上,我想在将文件上传(在将它们写入磁盘之前)到Web应用程序时对病毒进行扫描.
特别是,我想与"McAfee VirusScan Enterprise"(最新版本)集成.
从设计和维护的角度来看,使用第三方产品扫描防火墙上的某些路径可能更好吗?这样,Web应用程序就不必关心病毒扫描.为了最大限度地减少开销,典型的病毒扫描防火墙允许您指定URL模式以及特定的POST数据模式.如果它是一个HTTPS站点(除非有某种方法),这当然是行不通的.
来自stackoverflow的这篇文章似乎表明McAfee的SDK不再可用,但是有开源替代品吗?
java antivirus web-applications mcafee antivirus-integration
hgsubversion的在线文档很糟糕,IMO(我不想这么说).我一直在按照快速入门中的说明操作.
我做了什么?
我安装了Mercurial:
D:\ repos\experimental> hg --version Mercurial Distributed SCM(1.6版)
我安装了TortoiseHg以匹配Mercurial版本.
我下载了hgsubversion存储库:
D:\ devapps> hg clone http://bitbucket.org/durin42/hgsubversion
我修改了我的.hgrc如下:
[extensions] hgsubversion = D:\ devapps\hgsubversion\hgsubversion
D:\ repos\experimental> hg help hgsubversion hgsubversion extension - 与Subversion存储库集成
hgsubversion是Mercurial的扩展,它允许它充当Subversion客户端,提供快速,增量和双向同步.
我为Python 2.5安装了PySVN.
我试图克隆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的情况下工作 - 请帮助!).
java ×4
bash ×3
antivirus ×1
command ×1
cut ×1
cygwin ×1
docker ×1
dtd ×1
ember.js ×1
enums ×1
function ×1
grep ×1
hgsubversion ×1
http ×1
http-headers ×1
httpresponse ×1
jenkins ×1
mcafee ×1
mercurial ×1
npm ×1
pipe ×1
servlets ×1
session ×1
shell ×1
svn ×1
truncate ×1
unix ×1
web.xml ×1
xml ×1
xsd ×1