小编xen*_*ide的帖子

如何使用 git 从另一个分支打印文件?

我知道有git cat-file,但需要一个sha

我想做的是类似的事情git cat-file mybranch -- path/to/myfile.txt,可以完成同样的事情

git checkout mybranch && cat path/to/myfile.txt
Run Code Online (Sandbox Code Playgroud)

但它实际上不会检查分支。我怎样才能做到这一点?

git sh

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

Moose模块有错误,需要帮助查找原因

我正在尝试重构我对Dist :: Zilla :: Plugin :: Catalyst的测试更干,尝试使用Moose来完成任务,但我遇到了问题,而且对于我的生活,我不能弄清楚它们是什么,其中一些似乎是订单初始化问题.

注意:代码可能不是最好的,建议欢迎

t/01-PluginCatalystNew.t .......无法在/home/xenoterracide/projects/Dist-Zilla-Plugin-Catalyst/.build/8kE7QQR_FL/t/lib上的未定义值上调用方法"subdir" /DZPCshared.pm第26行.

这是驼鹿模块,

use strict;
use warnings;
package DZPCshared;
use Path::Class;
use Moose;
use namespace::autoclean;

has 'appname' => (
    is       => 'ro',
    required => 1,
);

has 'tempdir' => (
    is       => 'ro',
    required => 1,
);

has 'directories' => (
    isa      => 'ArrayRef[Str]',
    traits   => ['Array'],
    is       => 'ro',
    required => 1,
    lazy     => 1,
    default  => sub {
        my $self = shift;
        my $mr   = dir( $self->tempdir …
Run Code Online (Sandbox Code Playgroud)

perl refactoring reference moose

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

为什么这会返回Path :: Class :: Dir而不是文件?

所以我最初使用File的是类型验证失败,所以我将其切换为Dir.然而最后的路径是一个文件,所以我不确定我做错了什么.

use strict;
use warnings;
use namespace::autoclean;

# VERSION

use Moose::Role;

use MooseX::Types::Moose qw( Str );
use MooseX::Types::Path::Class qw( File Dir );
use File::ShareDir::PathClass;

has cybs_wsdl => (
    required  => 0,
    lazy      => 1,
    is        => 'ro',
    isa       => Dir,
    builder   => '_build_cybs_wsdl',
);

sub _build_cybs_wsdl {
        my $self = shift;


        my $wsdl = 'CyberSourceTransaction_1.62.wsdl';

        my $file
            = File::ShareDir::PathClass->dist_file(
                'Business-CyberSource',
                 $wsdl
            );

        return $file;
}
Run Code Online (Sandbox Code Playgroud)

注意:最终路径是这样的: /home/ccushing/Business-CyberSource/.build/rzuQn5s899/blib/lib/auto/share/dist/Business-CyberSource/CyberSourceTransaction_1.62.wsdl

perl

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

自动提示CLI脚本

我正在尝试将输入自动化到命令行C程序(我无法控制),它需要参数,运行一些处理器密集型代码(读取需要一分钟),然后提示填写表格信息.一旦它们可用,我不确定输入提示的最佳方式是什么.是否有任何CPAN库使这更容易?我该怎么办呢?澄清我试图将此程序包装为库.有点像Git :: Wrapper Wraps git.

perl

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

舞者的utf8而不是剧本

这是我之前关于显示unicode字符串差异的问题的后续内容.事实证明,字符串看起来是相同的,但是在其中一个字符串中,UTF8标志处于打开状态.

SV = PVMG(0x4cca750) at 0x4b3fc90
 REFCNT = 1
 FLAGS = (PADMY,POK,pPOK,UTF8)
 IV = 0
 NV = 0
 PV = 0x1eda410 "flurbe"\0 [UTF8 "flurbe"]
 CUR = 6
 LEN = 16
Run Code Online (Sandbox Code Playgroud)

VS

SV = PV(0xf28090) at 0xf4b6a0
 REFCNT = 1
 FLAGS = (PADMY,POK,pPOK)
 PV = 0xf37b90 "flurbe"\0
 CUR = 6
 LEN = 16
Run Code Online (Sandbox Code Playgroud)

当我加密字符串时,这似乎会产生sha512哈希值之间的差异.据我所知,舞者是第一个产生utf8的结果,我的另一个脚本只是一个命令行,没有使用舞者,我怎么能强迫它以同样的方式行事呢?

unicode perl dancer

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

是否直接访问@_避免使用大型标量的内存副本?

因此,在最近尝试修补bug时,一位黑客同事告诉我,由于传递给子例程(方法)的字符串的值可能非常大,因此通过它访问它将$_[1]避免内存复制.但是,我认为传递给子程序的任何值都被复制到@_了第一位?所以在下面的例子中是两次复制的内存?或者我错过了传递给方法时所制作的副本?

sub foo {
    my $self = shift

    $_[0]    # access $str in @_ directly
    my ( $str ) = @_; # makes another copy of @_
}

sub bar {
    my $self = shift;
    my $str = 'something very large'; 

    $self->foo( $str ); #copies $str to the @_ of foo
}
Run Code Online (Sandbox Code Playgroud)

这就是为什么我建议作者允许通过标量引用,这将传递给方法本身时避免副本(除了引用本身).重申:是否将值传递给子例程意味着将值复制到@_

perl

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

如何测试验证注释?

如何测试基于注释的验证?我知道它只适用于知道如何识别注释的东西,并且默认情况下测试框架(JUnit、TestNG)似乎无法识别这些。

public class Foo {

    @NotNull
    @Size(min = 2, max = 110)
    private String description;

    public method describe ( String desc ) {
       this.description = desc;
    }
}
Run Code Online (Sandbox Code Playgroud)

更新Foo.new.describe( ' ' ):例如,如果我这样做或,我将如何确保当我尝试设置描述时,它会抛出错误(如果由识别注释的事物使用)Foo.new.describe( null )

java unit-testing jpa

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

为什么流不能识别我的类型?

public class ActivityInventoryMem<Activity> extends TreeSet<Activity> implements ActivityInventory<Activity> {

  @Override
  public ToDo toDo( LocalDate date ) {
    Stream<Activity> s = this.parallelStream();

    s.filter( a ->  a.completed() );
    return new ToDo();
  }
}
Run Code Online (Sandbox Code Playgroud)

这是例外

java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: java.util.stream.Stream.filter
at com.lm.infrastructure.memory.ActivityInventoryMem.toDo(ActivityInventoryMem.java:16)
at com.lm.infrastructure.memory.ActivityInventoryMemNGTest.testToDo(ActivityInventoryMemNGTest.java:46)
Run Code Online (Sandbox Code Playgroud)

我在jdk 8中运行它,我把以下内容放入我的内容中pom.xml,它现在似乎认出了lambda的

    <!-- maven-compiler-plugin -->
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
Run Code Online (Sandbox Code Playgroud)

问题(从我从netbeans收集到的)是它a只是一个Object不是Activity因为它无法看到.completed(),我怎么能解决这个问题呢?

java lambda filter java-8 java-stream

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

我是否需要安全地处理委托给 OutputStreamWriter 的资源关闭

Eclipse 表明这里存在资源泄漏,我不确定,因为输出流写入正在关闭。

try ( OutputStreamWriter fileWriter = new OutputStreamWriter( new FileOutputStream( file ), encoder ) )
    {
        fileWriter.append( '\uFEFF' ); // byte order mark
        CSVWriter csvWriter = new CSVWriter( fileWriter ); //  au.com.bytecode.opencsv.CSVWriter
        csvWriter.writeNext( headers );
        streamSupplier.forEachOrdered( row -> {
            if ( row.length != headers.length )
            {
                String exception
                    = String.format( "row length %d should not be different from header length %d",
                                     row.length,
                                     headers.length );
                throw new IllegalStateException( exception );
            }
            csvWriter.writeNext( row );
            processedHandler.accept( processed.nextInt() );
        } );
        csvWriter.flush(); …
Run Code Online (Sandbox Code Playgroud)

java

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

在Aurelia中按类型从容器中请求aa类型?

在使用Spring的Java中,如果我想要一个实例知道可以处理它的东西,我会写这样的东西

interface Executable<T extends Executor> {
   Class<T> executorClass();
}

Executable instance = () -> MyExecutor.class;
Class<T> execClazz = instance.executorClass();
T executor = context.getBean( execClazz );
Results r = executor.execute( instance );
Run Code Online (Sandbox Code Playgroud)

我可以将此模式与Aurelia和Typescript一起使用吗?如果是这样,我如何executorClass在Typescript中定义返回类型(我不知道它们用于什么Class或如何简单地返回它).我如何从Aurelia的容器中获得类型?

typescript aurelia

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

可比较的是按降序排列而不是提升

所以,这可能只是我的一个逻辑错误,但我不知道如何.

@Override
public int compareTo( Activity t ) {
    // currently we're naturally sorting by created, description, uuid
    int createdComp = t.created.compareTo( created ); // created is an Instant

    if ( createdComp == 0 ) {
        int descComp = t.description.compareTo( description ); // description is a String
        if ( descComp == 0 ) {
            return t.id.compareTo( id ); // id is a UUID
        } else {
            return descComp;
        }

    }
    return createdComp;
}
Run Code Online (Sandbox Code Playgroud)

这是我的调试代码,对于我没有放的代码,它使用相同的Instant,并且随机生成UUID.

    NavigableSet<Activity> ai = new TreeSet( Arrays.asList( …
Run Code Online (Sandbox Code Playgroud)

java sorting

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

使用Spring Data REST时如何更改Jacksons Configuration?

我正在尝试配置Jackson以ISO 8601格式显示JSR 310瞬间.

@Configuration
class Jackson {

    @Bean
    static ObjectMapper objectMapper() {
        ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules();
        objectMapper.disable( SerializationFeature.WRITE_DATES_AS_TIMESTAMPS );
        return objectMapper;
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这不是一个独特的Bean,实际上我只想禁用这一个设置.所以我真的不想创建ObjectMapper,就像在它上面指定一个设置一样.

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.actuate.autoconfigure.EndpointWebMvcHypermediaManagementContextConfiguration$MvcEndpointAdvice': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.fasterxml.jackson.databind.ObjectMapper org.springframework.boot.actuate.autoconfigure.EndpointWebMvcHypermediaManagementContextConfiguration$MvcEndpointAdvice.mapper; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.fasterxml.jackson.databind.ObjectMapper] is defined: expected single matching bean but found …
Run Code Online (Sandbox Code Playgroud)

java jackson jsr310 spring-data-rest spring-boot

0
推荐指数
2
解决办法
7307
查看次数

解释性能差异

这是完整来源数据的直接链接

这些测试的时序差别很大,但是经历了相同的实现.我想了解为什么时间不同.

private static final int ITERATIONS = 100;
private static final DataFactory RANDOM_DF = DataFactoryImpl.defaultInstance();


@Test // 6s
public void testGetMaxLength() throws Exception {
    for ( int i = 1; i < ITERATIONS; i++ ) {
        testGetMaxLength( i );
    }
}

private void testGetMaxLength( final int length ) {
    for ( int i = 0; i < ITERATIONS; i++ ) {
        String word = RANDOM_DF.word().getMaxLength( length );
        assertThat( word, not( isEmptyOrNullString() ) );
        assertThat( word.length(), allOf( …
Run Code Online (Sandbox Code Playgroud)

java performance java-8 java-stream

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