我知道有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)
但它实际上不会检查分支。我怎样才能做到这一点?
我正在尝试重构我对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) 所以我最初使用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
我正在尝试将输入自动化到命令行C程序(我无法控制),它需要参数,运行一些处理器密集型代码(读取需要一分钟),然后提示填写表格信息.一旦它们可用,我不确定输入提示的最佳方式是什么.是否有任何CPAN库使这更容易?我该怎么办呢?澄清我试图将此程序包装为库.有点像Git :: Wrapper Wraps git.
这是我之前关于显示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的结果,我的另一个脚本只是一个命令行,没有使用舞者,我怎么能强迫它以同样的方式行事呢?
因此,在最近尝试修补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)
这就是为什么我建议作者允许通过标量引用,这将传递给方法本身时避免副本(除了引用本身).重申:是否将值传递给子例程意味着将值复制到@_
?
如何测试基于注释的验证?我知道它只适用于知道如何识别注释的东西,并且默认情况下测试框架(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 )
。
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()
,我怎么能解决这个问题呢?
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) 在使用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的容器中获得类型?
所以,这可能只是我的一个逻辑错误,但我不知道如何.
@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) 我正在尝试配置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) 这些测试的时序差别很大,但是经历了相同的实现.我想了解为什么时间不同.
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 ×6
perl ×5
java-8 ×2
java-stream ×2
aurelia ×1
dancer ×1
filter ×1
git ×1
jackson ×1
jpa ×1
jsr310 ×1
lambda ×1
moose ×1
performance ×1
refactoring ×1
reference ×1
sh ×1
sorting ×1
spring-boot ×1
typescript ×1
unicode ×1
unit-testing ×1