小编Fre*_*eit的帖子

JavaScript字符串加密和解密?

我有兴趣构建一个供个人使用的小应用程序,它将使用JavaScript在客户端加密和解密信息.加密信息将存储在服务器上的数据库中,但不会存储在解密版本中.

它不一定非常安全,但我想使用当前不间断的算法.

理想情况下,我可以做类似的事情

var gibberish = encrypt(string, salt, key);
Run Code Online (Sandbox Code Playgroud)

生成编码的字符串,等等

var sensical = decrypt(gibberish, key);
Run Code Online (Sandbox Code Playgroud)

稍后解码.

到目前为止,我已经看到了这个:http: //bitwiseshiftleft.github.io/sjcl/

我应该看看其他任何图书馆?

javascript encryption

126
推荐指数
10
解决办法
28万
查看次数

如何告诉IntelliJ的"在文件中查找"忽略生成的文件?

我需要在文件中查找.我想忽略或排除生成的文件,如JAX-WS工件或目标文件夹中的类.如何告诉IDEA从查找中排除这些文件?

intellij-idea

95
推荐指数
4
解决办法
3万
查看次数

带有冒号分隔符的时区的Java SimpleDateFormat?

我有以下格式的日期: 2010-03-01T00:00:00-08:00

我在它上面抛出了以下SimpleDateFormats来解析它:

private static final SimpleDateFormat[] FORMATS = {
        new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"), //ISO8601 long RFC822 zone
        new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz"), //ISO8601 long long form zone
        new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"), //ignore timezone
        new SimpleDateFormat("yyyyMMddHHmmssZ"), //ISO8601 short
        new SimpleDateFormat("yyyyMMddHHmm"),
        new SimpleDateFormat("yyyyMMdd"), //birthdate from NIST IHE C32 sample
        new SimpleDateFormat("yyyyMM"),
        new SimpleDateFormat("yyyy") //just the year
    };
Run Code Online (Sandbox Code Playgroud)

我有一个方便的方法,使用这样的格式:

public static Date figureOutTheDamnDate(String wtf) {
    if (wtf == null) {
        return null;
    }
    Date retval = null;
    for (SimpleDateFormat sdf : FORMATS) {
        try {
            sdf.setLenient(false)
            retval = sdf.parse(wtf); …
Run Code Online (Sandbox Code Playgroud)

java date iso8601

60
推荐指数
6
解决办法
18万
查看次数

是否可以通过扩展POJO来构建JPA实体?

可以说我有以下POJO:

public class MyThing {
 private int myNumber;
 private String myData;
//assume getter/setter methods
}
Run Code Online (Sandbox Code Playgroud)

现在可以将此POJO扩展为JPA实体吗?

@Entity
@Table(name = "my_thing")
public class MyThingEntity extends MyThing implements Serializable {
 @Column(name = "my_number")
 //?????????
 @Column(name = "my_data")
 //????????
}
Run Code Online (Sandbox Code Playgroud)

我想让POJO与JPA实体分开.POJO生活在一个不同的项目中,并且通常在没有持久层的情况下使用,我的项目希望将其保存在数据库中,并且不需要从POJO映射到实体并返回的开销.

我知道JPA实体是POJO,但是为了使用它,我必须包含一个实现javax.persistence的库,而使用相同基础对象的其他项目对于持久层没有用处.

这可能吗?这是一个好主意吗?

java jpa

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

JUnit是编写性能测试的正确工具吗?

在上周,我创建了两个课程,我的团队对他们的表现表达了一些担忧.为了评估我的代码,我编写了一些简单的JUnit测试,这些测试通过构建丰富的测试数据集来运行这些类,然后通过相关方法为数千次迭代提供数据.我记录了每次迭代的运行时间,然后使用循环和记录了高,低和平均时间System.nanoTime().最后我让JUnit断言高和平均时间都在可接受的范围内.这种测试方法让我的团队对此代码充满信心.

JUnit是以这种方式测试性能的合适工具吗?是否有更好的工具来测试单元(方法和类)级别的性能?

java junit performance-testing

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

有人知道在2d数组中找到"形状"的算法吗?

我们来看看这张地图,其中'#'表示一个正方形和'.' 说明了一个自由方块:

1 . # # # . .
2 . # . . # .
3 # . . . . #
4 . # # # . .
5 . . . . . .
6 . . . . . .
- 1 2 3 4 5 6

现在,如果我在方块4,5中放置一个'#',那么该区域将被"填充",如下所示:

1 . # # # . .
2 . # # # # .
3 # # # # # #
4 . # # # # . …

algorithm graph

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

将泛型用于异常是明智的吗?

我的团队正在清理我们的使用,throws Exception并删除或替换它们,但有特殊例外.

常见的抛出是因为找不到实体.我们应该为每个实体类抛出泛型NotFoundException还是特定SomeClassNotFoundException的?

如果我们应该抛出一个特定的异常,我们应该为每个实体类型创建一个特定的Exception类吗?我们可以安全地使用仿制药吗?像这样class NotFoundException<T extends EntityBaseClass> extends Exception,然后构造函数负责声明我们正在处理的实体类型?

如果我们应该抛出一个特定的异常而不是使用泛型,那些异常是应该扩展还是实现NotFoundException抽象类或接口?

java exception-handling

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

如何在Mockito中更改字符串的默认返回值?

2010年的这个问题暗示了我正在努力做的事情.

我正在进行单元测试,该测试运行代码,需要许多模拟对象来完成它需要做的事情(测试HTML + PDF渲染).为了使这个测试成功,我需要生成许多模拟对象,并且每个对象最终都会将一些String数据返回给正在测试的代码.

我可以通过实现我自己的AnswerIMockitoConfiguration来实现这一点,但是我不确定如何实现它们因此它们只影响返回字符串的方法.

我觉得以下代码接近我想要的.它会抛出一个强制转换异常java.lang.ClassCastException: java.lang.String cannot be cast to com.mypackage.ISOCountry.我认为这意味着我需要以某种方式默认或限制Answer只影响默认值String.

private Address createAddress(){
    Address address = mock(Address.class, new StringAnswer() );

    /* I want to replace repetitive calls like this, with a default string. 
    I just need these getters to return a String, not a specific string.

    when(address.getLocality()).thenReturn("Louisville");
    when(address.getStreet1()).thenReturn("1234 Fake Street Ln.");
    when(address.getStreet2()).thenReturn("Suite 1337");
    when(address.getRegion()).thenReturn("AK");
    when(address.getPostal()).thenReturn("45069");   
    */

    ISOCountry isoCountry = mock(ISOCountry.class);
    when(isoCountry.getIsocode()).thenReturn("US");
    when(address.getCountry()).thenReturn(isoCountry);

    return address;
}

//EDIT: …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mocking mockito

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

如何使ServletContextListener停止Java EE应用程序?

我有一个ServletContextListener,它在我的Java EE应用程序启动时执行一些数据库管理功能.这在JPA和应用程序的其他部分启动/加载之前在我的应用程序中运行.如果数据库维护失败,我将记录错误.如果数据库维护失败,应用程序将无法正常运行,我想暂停应用程序.

如何从ServletContextListener.contextInitialized中优雅正确地停止应用程序?

Viven给出的解决方案很接近,但并不完全.当我抛出RuntimeException时,Glassfish处于不一致的状态,其管理控制台无法访问,但某些进程仍在运行并保持端口3700(IIOP?)打开,从而阻止重启.

servlets java-ee servlet-listeners

10
推荐指数
2
解决办法
8122
查看次数

在什么条件下,SELECT by PRIMARY KEY会变慢?

在相当典型的EclipseLink/JPA应用程序中查找一些数据库性能问题.

我看到频繁的查询需要25-100ms.这些是简单查询,只是从表中选择其主键等于值的所有列.他们不应该慢.

我正在查看postgres日志中的查询时间,使用log_min_duration_statement,这样可以消除任何网络或应用程序开销.

此查询并不慢,但经常使用它.

为什么主键选择*会变慢?这是特定于postgres还是一般数据库问题?我怎样才能加快速度呢?一般来说?对于postgres?

来自pg日志的示例查询:

2010-07-28 08:19:08 PDT - LOG:  duration: 61.405 ms  statement: EXECUTE <unnamed>  [PREPARE:  SELECT coded_ele
ment_key, code_system, code_system_label, description, label, code, concept_key, alternate_code_key FROM coded
_element WHERE (coded_element_key = $1)]
Run Code Online (Sandbox Code Playgroud)

表有大约350万行.

我也在这个查询上运行EXPLAIN和EXPLAIN ANALYZE,它只进行索引扫描.

sql database performance jpa eclipselink

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