我是Ruby和Mac OSX的新手,虽然我对Unix命令有相当多的经验.我刚刚通过MacPorts命令安装了Ruby 1.9(port install ruby19).然后我需要从root做一个查找,以确定它的去向,结果是:/opt/local/var/macports/software/ruby19/1.9.1-p376_0/opt/local/bin/ruby1. 9.
当前版本的Ruby(1.8.6)通过/ usr/bin/ruby运行,它是/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby的符号链接,其中Current是一个符号链接到名为1.8的目录.
我想将Ruby 1.9作为我的默认设置(以及像irb这样的相关工具),虽然我可以设法做到这一点,但我想知道是否有传统方式.我应该将MacPorts路径复制或链接到/System/Library/Frameworks/Ruby.framework/Versions/1.9然后将Current指向1.9吗?(我还要重命名或复制可执行文件:ruby1.9到ruby,irb1.9到irb等等)或者我应该吹掉/ usr/bin/ruby链接(和/ usr/bin/irb,等)并创建指向MacPorts版本的新的?
我们需要从Seam操作中记录客户端的IP地址.目前,我们正在使用以下代码:
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest)context.getRequest();
this.remoteAddress = request.getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)
但是,这似乎总是返回我们网络的内部地址,而不是客户端的IP地址.根据我的研究,似乎在网络中使用反向代理可能会让事情变得混乱,但我们可以通过重新配置我们的Web服务器来修复它.有没有其他人有这个问题,你是怎么解决的?
我们正在使用JBoss 5.1应用服务器和Apache Web服务器.谢谢!
我是Ruby的新手,我在使用inject方法时遇到了一个奇怪的问题.
当我做:
(1..10).inject(0) {|count,x| count + 1}
Run Code Online (Sandbox Code Playgroud)
结果是10,正如预期的那样.但是,当我这样做
(1..10).inject(0) {|count,x| count + 1 if (x%2 == 0)}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
NoMethodError: undefined method `+' for nil:NilClass
from (irb):43
from (irb):43:in `inject'
from (irb):43:in `each'
from (irb):43:in `inject'
from (irb):43
Run Code Online (Sandbox Code Playgroud)
我真的不明白为什么(大概)计数在第二个例子中是零,但不是第一个.在任何情况下,我如何使用注入计算从1到10的均衡?
我在桌子的一排摆放了三个"面板".一个比其他两个更高,我希望所有三个面板都匹配最高的一个.我尝试使用高度:100%来设置div的样式,但是即使在包含tds的情况下,短面板仍然很短.
我的HTML是由JSF生成的,所以我对其表单的控制有限,但我可以修改样式.我在下面制作了生成代码的简化版本.IE8和Firefox也出现同样的问题.但是,IE8将短面板垂直对齐到td的顶部,而Firefox则将它们放在中间.
<html>
<head>
<title>Test Table</title>
<style TYPE="text/css">
td {border: 1px solid red; padding: 1px;}
.panel {border: 1px solid blue; padding: 1px;height:100%}
.panel-header{background-color: green; color: white;}
.panel-body {border: 1px solid green; padding: 1px; height:100%;}
</style>
</head>
<body>
<h1>Test Table</h1>
<table width="100%">
<tbody>
<tr>
<td>
<div class="panel" style="height:200px;">
<div class="panel-header">
Header One
</div>
<div class="panel-body">
Body One
</div>
</div>
</td>
<td>
<div class="panel" style="height:100%;">
<div class="panel-header">
Header Two
</div>
<div class="panel-body">
Body Two
</div>
</div>
</td>
<td>
<div class="panel">
<div class="panel-header"> …Run Code Online (Sandbox Code Playgroud) 在尝试来自Euler Project的问题41时,我遇到了似乎是Array.permutation的Ruby 1.9实现中的一个错误.这是隔离的问题代码:
n = 4
slice = '987654321'.chars.to_a[-n..-1]
puts "slice = #{slice.join}"
slice.permutation(n) {|perm| puts perm.join}
slice2 = slice.dup
puts "slice2 = #{slice2.join}"
slice2.permutation(n) {|perm| puts perm.join}
slice3 = []
(0...n).each {|i| slice3[i] = slice[i]}
puts "slice3 = #{slice3.join}"
slice3.permutation(n) {|perm| puts perm.join}
Run Code Online (Sandbox Code Playgroud)
我对slice和slice2的输出是:
slice = 4321
9876
9867
9786
9768
9687
...
Run Code Online (Sandbox Code Playgroud)
但是,slice3出现正确,数字1到4被置换.此外,n = 4是第一个出现此问题的值.当我设置n = 3时,我得到预期的输出.这是一个错误,还是我错误的编码?快速谷歌搜索没有发现任何东西.
我的任务是编写和测试几个小的PL/SQL脚本.这超出了我的核心竞争力,但我可以通过足够的试验和错误来做到这一点.使此过程复杂化的一件事是SQ LDeveloper的错误报告.它使用行号和列号输出问题的简短描述,但行号与错误实际位置无关.也就是说,我可能在我的脚本的第52行使用=而不是:=进行赋值,但是"脚本输出"窗口中的错误说明了第37行的问题.这是一个典型的问题吗?有没有办法将报告的行号转换为实际的行号?
我正在使用SQL Developer 1.5.5.
我正在尝试提出一个搜索/替换表达式,它将从带有时间戳字段的 Oracle 样式插入转换为另一个数据库的插入语句。
基本上,我想转换字符串,如:
to_timestamp('13-SEP-09 12.00.00.000000000 PM','DD-MON-RR HH.MI.SS.FF AM')
Run Code Online (Sandbox Code Playgroud)
只是:
'13-SEP-09 12.00.00.000000000 PM'
Run Code Online (Sandbox Code Playgroud)
我在 IDEA 的搜索/替换框中尝试了几个表达式,但我仍然不太明白。这个:
to_timestamp(.[^,]*,.[^)]*)
Run Code Online (Sandbox Code Playgroud)
替换为 $1 最终匹配我想要的字符串,除了右括号之外,然后只删除第一部分。我最终得到:
('13-SEP-09 12.00.00.000000000 PM','DD-MON-RR HH.MI.SS.FF AM')
Run Code Online (Sandbox Code Playgroud)
我真的不明白这里发生了什么。
我正在使用kubectl cp将jar文件从本地文件系统复制到minikube环境中POD的主目录中。但是,我可以确认复制成功的唯一方法是发出新的kubectl cp命令,将文件复制回temp目录并比较校验和。有没有办法直接查看复制的文件?
这似乎是一个愚蠢的问题,但我们正在尝试从SCDF shell应用程序定义数据流,但我们遇到引用问题.假设我们想要定义一个带有SpEL表达式的过滤器,只过滤掉JSON输入中没有John Doe名称的任何内容.SpEL将是:
payload.name != 'John Doe'
Run Code Online (Sandbox Code Playgroud)
要么
payload.name ne 'John Doe'
Run Code Online (Sandbox Code Playgroud)
流定义将是:
stream create --name testflow --definition "http | filter --expression=<expression> | log"
Run Code Online (Sandbox Code Playgroud)
我不能用单引号括起<expression>,因为表达式本身包含单引号,我不能使用双引号,因为整个流定义使用那些.我不能只留下引号,因为shell的解析器会被空格和!混淆.从shell应用程序中定义这个流是不可能的?可以从浏览器应用程序执行,但其他数据流defs在那里有解析问题.