小编Joe*_*oel的帖子

从Java中的抽象类调用子类构造函数

public abstract class Parent {

    private Parent peer;

    public Parent() {
        peer = new ??????("to call overloaded constructor");
    }

    public Parent(String someString) {
    }

}

public class Child1 extends parent {

}

public class Child2 extends parent {

}
Run Code Online (Sandbox Code Playgroud)

当我构造一个Child1的实例时,我想要一个自动构造的"peer",它也是Child1类型,并存储在peer属性中.同样对于Child2,具有Child2类型的对等体.

问题是,在父类中分配对等属性.我无法通过调用构造一个新的Child类,new Child1()因为它对Child2不起作用.我怎样才能做到这一点?我可以使用哪个关键字来引用子类?有点像new self()

java

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

取消删除SVN工作副本

刚跟注:

svn rm someDirectory
Run Code Online (Sandbox Code Playgroud)

但是没有提交,我该如何取消删除目录?

svn

5
推荐指数
1
解决办法
2629
查看次数

并行加速异常的示例

什么是并行加速异常的例子?即.当在p处理器上运行时,导致加速大于p的任务.

parallel-processing

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

XSLT:如何在另一个模板中重用模板

如果我有一个模板,如下所示,用于创建一个按钮:

<xsl:template match="button" name="button">
  <a class="button" href="{@href}">
    <xsl:value-of select="@name"/>
  </a>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

我希望能够在另一个模板中使用该按钮,如下所示:

<xsl:template match="createForm">
  ...
  <button name="Create" href="/create"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

但是,这只会按原样输出按钮标记.我希望通过现有的按钮模板进行处理.怎么能实现这一目标?

-

感谢David M的回答.这是我现在用于按钮模板的内容:

<xsl:template match="button" name="button">
  <xsl:param name="name" select="@name"/>
  <xsl:param name="href" select="@href"/>
  <a class="button" href="{$href}">
    <xsl:value-of select="$name"/>
  </a>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

createForm模板现在看起来像这样:

<xsl:template match="createForm">
  ...
  <xsl:call-template name="button">
    <xsl:with-param name="name" select="'Create'"/>
  </xsl:call-template>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

xml xslt

5
推荐指数
1
解决办法
4271
查看次数

从文件添加动态响应标头

这就是我在 nginx.conf 中添加静态响应标头的方法:

location /some-path/ {
  add_header X-Some-Static-Header "some static value";
}
Run Code Online (Sandbox Code Playgroud)

有没有办法添加具有动态值的响应标头?该值应该从文件、环境变量或一些类似的外部位置提取。

我正在尝试添加一个“X-App-Version”标头,该标头将从文件中读取。当部署新版本的 Web 应用程序时,该文件将使用新版本号进行更新。最好,nginx 应立即开始提供新版本号,而无需重新启动/重新加载。

如何才能做到这一点?

nginx

5
推荐指数
1
解决办法
2378
查看次数

通过sed管道问题

我在通过sed管道时遇到了麻烦.一旦我将输出管道输出到sed,我就无法在其他地方输出sed的输出.

wget -r -nv http://127.0.0.1:3000/test.html
Run Code Online (Sandbox Code Playgroud)

输出:

2010-03-12 04:41:48 URL:http://127.0.0.1:3000/test.html [99/99] -> "127.0.0.1:3000/test.html" [1]
2010-03-12 04:41:48 URL:http://127.0.0.1:3000/robots.txt [83/83] -> "127.0.0.1:3000/robots.txt" [1]
2010-03-12 04:41:48 URL:http://127.0.0.1:3000/shop [22818/22818] -> "127.0.0.1:3000/shop.29" [1]
Run Code Online (Sandbox Code Playgroud)

我通过sed管道输出以获得一个干净的URL列表:

wget -r -nv http://127.0.0.1:3000/test.html 2>&1 | grep --line-buffered -v ERROR | sed 's/^.*URL:\([^ ]*\).*/\1/g'
Run Code Online (Sandbox Code Playgroud)

输出:

http://127.0.0.1:3000/test.html
http://127.0.0.1:3000/robots.txt
http://127.0.0.1:3000/shop
Run Code Online (Sandbox Code Playgroud)

我想将输出转储到文件,所以我这样做:

wget -r -nv http://127.0.0.1:3000/test.html 2>&1 | grep --line-buffered -v ERROR | sed 's/^.*URL:\([^ ]*\).*/\1/g' > /tmp/DUMP_FILE
Run Code Online (Sandbox Code Playgroud)

几秒钟后我中断了这个过程并检查了文件,但它是空的.

有趣的是,以下产生没有输出(与上面相同,但通过cat输出sed输出):

wget -r -nv http://127.0.0.1:3000/test.html 2>&1 | grep --line-buffered -v ERROR | sed 's/^.*URL:\([^ ]*\).*/\1/g' | …
Run Code Online (Sandbox Code Playgroud)

bash shell sed pipe

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

将Ruby/Rails应用程序移植到PHP 5

我有一个非常大的Ruby on Rails应用程序,我想移植到PHP 5.2或者PHP 5.3(如果5.3已经发布).

我一直在寻找一种自动转换简单类和ERB模板之类的简单方法.我希望在语言太不相似的情况下,我必须自己做更复杂的事情.

有谁能建议这样做的方法?还是一个可以自动化其中一些的脚本?

编辑:

这样做有一个商业案例.这是否是一个合理的商业案例是另一个我不想在这里讨论的问题.我们有一个类似于Rails的框架 - 真正的问题是从Ruby转换到PHP而不是Rails转换为PHP.我并不是真的在寻找能够神奇地完成所有工作的东西,只是一些简单的东西会给你带来惊天动地.即使它所做的一切都改变了:

def somemethod somearg
  some.ruby.code
end
Run Code Online (Sandbox Code Playgroud)

至:

public function somemethod($somearg) {
  // some.ruby.code
}
Run Code Online (Sandbox Code Playgroud)

并在内容中留下内容作为红宝石的PHP评论,这仍然会使工作更轻松.

理想情况下,会有一些东西可以做到这一点或类似的东西.否则我可能会自己使用写入工具.

php ruby

3
推荐指数
1
解决办法
3084
查看次数

字符串到原始字节数组

我有一个包含二进制数据(非文本数据)的字符串.

如何将其转换为原始字节数组?

c#

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

经典ASP"向下维护"页面

我正在对传统的经典ASP应用程序进行一些更改.我已在本地进行了更改,现在我想将更改的文件复制到服务器.同时,我需要下载Access数据库,向某些表添加一些字段,然后再次上传.出于这个原因,我需要能够阻止访问者在发生这种情况时修改数据库.

我的主要问题是,设置快速"向下维护"页面的最佳方法是什么,该页面将立即显示,无论访问者请求哪个页面.该应用程序已经建立,所以我宁愿回答不要求我重新修改应用程序的架构.

我的第二个问题(也许这应该是一个单独的问题):是否有更好的方法将字段添加到db表而不是将其复制,修改并再次粘贴?请原谅,如果这是一个愚蠢的问题 - 我是ASP的新手 - 也是Windows的新手.

我只有FTP访问远程服务器.

谢谢.

iis ms-access asp-classic

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

Valgrind:故意造成段错误

这是一个疯狂的黑客,但我试图故意在执行的特定点导致段错误,所以valgrind将给我一个堆栈跟踪.

如果有更好的方法,请告诉我,但我仍然很想知道如何故意导致段错误,以及为什么我的尝试不起作用.

这是我失败的尝试:

long* ptr = (long *)0xF0000000;
ptr = 10;
Run Code Online (Sandbox Code Playgroud)

我认为valgrind至少应该把它作为一个无效的写入,即使它不是一个分段违规.Valgrind对此一无所知.

有什么想法吗?

编辑

接受了答案,但我仍然有一些上升的选票,以获得一个更理智的方式来获得堆栈跟踪...

c valgrind segmentation-fault

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

帮助我使这个bash脚本漂亮,或者只是不那么可怕

我有一个名为print_code.sh的简单bash脚本,它采用文件名,并打印出带有行号的文件.

这里是:

FILE=$1
line=0;
numLines=`wc -l $FILE | sed 's/ .*$//'`
digits=`echo "l($numLines)/l(10)+1" | bc -l`
digits=`echo "0$digits" | sed 's/\..*$//'`
for i in `cat $FILE | sed 's/ /_=SPACE=_/g'`; do
  line=`echo $line + 1 | bc`;
  i=`echo $i | sed 's/_=SPACE=_/ /g'`;
  printf "%${digits}d | %s\n" $line "$i"
done
Run Code Online (Sandbox Code Playgroud)

这是一个虚构的语言愚蠢的源文件:

var x = 1
var y = 2
var z = 3
func dostuff {
  var a
  var b
  x = x + 1
  y = y …
Run Code Online (Sandbox Code Playgroud)

bash

0
推荐指数
1
解决办法
201
查看次数

使用delegates/LINQ在C#中转换嵌套类型

我怎么能转换List<List<string>>List<string[]>在C#中使用委托/ LINQ一个简洁的方式?

c# linq generics

0
推荐指数
1
解决办法
195
查看次数

标签 统计

bash ×2

c# ×2

asp-classic ×1

c ×1

generics ×1

iis ×1

java ×1

linq ×1

ms-access ×1

nginx ×1

parallel-processing ×1

php ×1

pipe ×1

ruby ×1

sed ×1

segmentation-fault ×1

shell ×1

svn ×1

valgrind ×1

xml ×1

xslt ×1