小编rin*_*rer的帖子

什么是恒定接口最优雅的替代品?

我一直在寻找一个由离岸组织开发的代码.我看到每个模块至少定义了一个"常量接口".示例(不是现实世界):

public interface RequestConstants{
  //a mix of different constants(int,string,...)
  public static final int MAX_REQUESTS = 9999;
  public static final String SAMPLE_REQUEST = "Sample Request";
}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,它是一种反模式,因为它们在运行时没有任何实用性,应该以不同的方式避免或解决.什么是优雅的方式来代表这个?可以enums用吗?

java constants

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

如何在perl中更好地编写这个

给定一个大的输入文件,如下所示:

02/26/2012 08:54:38 Error:java.sql.Exception
02/26/2012 08:54:48 Error:java.sql.Exception
02/26/2012 08:56:05 Error:java.sql.Exception
02/26/2012 08:57:21 Error:java.sql.Exception
02/26/2012 08:59:29 Error:java.sql.Exception
02/26/2012 09:01:14 Error:java.sql.Exception
02/26/2012 09:08:48 Error:java.sql.Exception
02/26/2012 09:10:41 Error:java.sql.Exception
Run Code Online (Sandbox Code Playgroud)

我试图找出每小时的错误数; 也就是说,我正在寻找一个如下所示的输出文件:

02/26/2012 08 -> 5
02/26/2012 09 -> 3
Run Code Online (Sandbox Code Playgroud)

这是一个适合我的脚本:

#!/bin/perl
open(MYFILE, 'tata2');
my %table;
while (<MYFILE>) {
     chomp;
     $dtkey = substr $_, 0, 13;
     $table{$dtkey}++;
}
close(MYFILE); 
for my $key (keys %table) {
    print "$key -> $table{$key}\n";
}
Run Code Online (Sandbox Code Playgroud)

但鉴于Perl的功能,我很确定这可以用更少的行完成.如果你能提供一些例子,我将不胜感激.我希望它对那些想要减少为实现某些目的而编写的代码行的人有用.

optimization perl hash coding-style

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

java.awt.Color.blue和java.awt.Color.BLUE的目的是什么

为什么Colorjava.awt.Color类中定义了两个常量?例如

public static final Color blue;
public static final Color BLUE;
Run Code Online (Sandbox Code Playgroud)

这显然是多余的.是否有一些特定的使用场景 - 比如最佳做法,大写颜色优先于小写颜色,反之亦然?

java constants awt colors

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

shell脚本中是否有一种方法可以确定其输出重定向的位置?

我们有自然的脚本(在cron中)

someScript.sh > /tmp/cronlog/somescript.$(date +%Y%m%d).log 2>&1

现在有一种方法,someScript.sh我可以找出输出到哪个文件?

脚本发送带有摘要的电子邮件.同时我想提一下,详细信息可以在输出文件中找到 - 在电子邮件中.

我知道if [ -t 1 ]检测stdout等的构造但是如何获取输出文件名?请注意,我希望这是通用的,以便某些人可以在cron中更改输出文件,并且不需要修改脚本.

bash shell

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

如何使用CompletableFuture返回值

我创建了一个示例,我想知道如何使用CompletableFuture?返回值?我也改变了CompletableFuture<Void> exeFutureList,CompletableFuture<Integer> exeFutureList但是eclipse总是建议把它设置回Void.

请告诉我如何使用CompletableFuture返回值.

代码:

    public class MainClass {

    static ExecutorService exe = null;
    static CompletableFuture<Void> exeFutureList = null;

    public static void main(String[] args) {
        exe = Executors.newFixedThreadPool(1);
        exeFutureList = CompletableFuture.runAsync(new RunClass(8), exe);
    }

    static class RunClass implements Runnable {

        private int num;

        public RunClass(int num) {
            // TODO Auto-generated constructor stub
            this.num = num;
        }

        public void run() {
            // TODO Auto-generated method stub
            this.num = this.num + 10;
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading callable countdownlatch completable-future

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

敏捷和代码发布

您知道为代码发布创建的任何敏捷过程吗?敏捷的主题之一是频繁发布,每个公司/客户都有自己的测试/审批流程来控制代码发布.大多数时候这些都会减缓"频繁发布"的速度

目前我们拥有基于专有工具的工作流程.需要代码促销的团队需要为其中一个最终的UAT服务器创建促销请求.一旦完成,一旦测试完成,某些客户,技术/非技术经理需要批准,然后进入生产部署阶段.同时没有冲刺计划会议或类似的任何事情.

什么是适合您的代码发布流程(哪个敏捷)?

agile project-management release-management

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

Findbugs报告在验证构造函数参数时加载已知的空值

在使用findbugs扫描下面的代码后,它会报告Dodgy代码:NP:在新....中加载已知的空值(在抛出新异常的行)

有时需要在初始化对象之前检查null.为什么这被认为是"狡猾"?

public class Employee{

  @Valid
  private Department dept;

  @JsonCreator
  public Employee(@JsonProperty(value = "department", required = true) Department aDepartment)
      throws EmpServiceException{
    if (aDepartment == null) {
      throw new EmpServiceException(aDepartment, "Invalid Request");
    }
    this.dept= aDepartment;
  }
Run Code Online (Sandbox Code Playgroud)

null constructor findbugs

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

获取当前jre的文件路径

假设我们有两个java应用程序A和B.应用程序A将调用应用程序B.应用程序A已启动,但是当A调用B时,我不知道java_home或任何其他jre路径,我想得到哪个jre应用程序A是运行,返回jre的执行文件的路径,这可能吗?

java filepath

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

使用shell变量查找具有多个文件名的-name

我有一个find命令,查找名称与-name参数提到的多个模式匹配的文件

find -L . \( -name "SystemOut*.log" -o -name "*.out" -o -name "*.log" -o -name "javacore*.*" \)
Run Code Online (Sandbox Code Playgroud)

这会在命令行中成功找到所需文件.我正在寻找的是在shell脚本中使用此命令并将其与tar命令连接以创建所有日志文件的tar.因此,在脚本中我执行以下操作:

LIST="-name \"SystemOut*.log\" -o -name \"*.out\" -o -name \"*.log\" -o -name \"javacore*.*\" "
find -L . \( ${LIST} \)
Run Code Online (Sandbox Code Playgroud)

这不会打印我要查找的文件.

首先 - 为什么这个脚本不能像命令一样运行?一旦它这样做,我可以用它cpio或类似的方式与它一起制作tar吗?

bash shell find

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

SSL错误证书错误

我无法使用Java程序连接到安全站点。我已经从要连接的服务器导入了3个证书;公共,内部和根证书。我已经将3个证书正确导入到java cacerts中。并且在调用Java类时还指定了以下参数:

java -Djavax.net.debug=ssl
Djavax.net.ssl.keystore=JAVACACERTS -Djavax.net.ssl.keystorePassword=changeit -server -cp $CLASSPTH -Xmx500m SendOrderResponse
Run Code Online (Sandbox Code Playgroud)

但是,我收到“ bad_certificate”错误。我查看了日志的详细信息,似乎根证书不在证书链中。

知道为什么会发生吗?当我在Java cacert中导入了3个证书时?我认为由于证书链错误而抛出了错误的证书。

java ssl ssl-certificate

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

在perl中将表单布局转换为表(csv)布局

我有一个输入文件

inputfile.txt

        name: George
         age: 5
      nature: curious
       likes: banana
Run Code Online (Sandbox Code Playgroud)

这就是我所说的表单布局.我正在尝试将其转换为表格布局,CSV.例如:

name,age,nature,likes
George,5,curious,banana
Run Code Online (Sandbox Code Playgroud)

所以,我读取文件,拆分为":和\n"并将值放入哈希值.然后将该哈希值推送到数组中,以便稍后将其取出.这是我到目前为止所做的.

#!/usr/bin/perl
use strict;

 open (MYFILE, 'inputfile.txt');
 my @records;
 while (<MYFILE>) {
        chomp;
        my %values = split(/[:\n]/,$_);
        push @records,%values;
 }
 close (MYFILE);
Run Code Online (Sandbox Code Playgroud)

通过这个,我想@records={[name=George],[age=5],[nature=curious],[likes=banana]}会发生.

现在,我如何从阵列中获取每个哈希@records?当我尝试类似的东西:

 foreach my $record(@records){
     my %record = $record;
     for my $key(keys %record){
        print "key : $key\n";
     }
 }
Run Code Online (Sandbox Code Playgroud)

它一个接一个地输出所有令牌,不像预期的那样(只是键).

format perl associative-array

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