小编Eti*_*veu的帖子

在GitHub repo上显示Jenkins的当前状态

有没有办法在我的项目的GitHub Readme.md上显示Jenkins构建状态?

我使用Jenkins运行持续集成构建.在每次提交之后,它确保在最终生成文档和发行包之前编译所有内容,以及执行单元和集成测试.

仍然存在无意中犯下破坏构建的东西的风险.访问GitHub项目页面的用户知道当前主服务器处于该状态会很好.

github jenkins

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

guava和apache等价库之间有哪些重大改进?

我们目前使用apache集合,字符串utils等.我需要决定是否应该从apache基础实现切换.

重要的标准是开发人员易于使用.性能/内存使用对我们来说还不是一个重要的问题.发展速度是此时的关键标准.

我很欣赏有关番石榴开发人员的生活变得如此轻松的观点.

java apache-commons guava

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

Hibernate Criteria使用FetchType.EAGER多次返回子项

我有Order一个列表的类,OrderTransactions我用一对多的Hibernate映射映射它,如下所示:

@OneToMany(targetEntity = OrderTransaction.class, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
    return orderTransactions;
}
Run Code Online (Sandbox Code Playgroud)

这些Order还有一个字段orderStatus,用于使用以下条件进行过滤:

public List<Order> getOrderForProduct(OrderFilter orderFilter) {
    Criteria criteria = getHibernateSession()
            .createCriteria(Order.class)
            .add(Restrictions.in("orderStatus", orderFilter.getStatusesToShow()));
    return criteria.list();
}
Run Code Online (Sandbox Code Playgroud)

这有效,结果如预期.

现在这里是我的问题:为什么,当我明确地设置fetch类型时EAGER,Orders会在结果列表中多次出现?

@OneToMany(targetEntity = OrderTransaction.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
    return orderTransactions;
}
Run Code Online (Sandbox Code Playgroud)

如何更改我的Criteria代码以使用新设置达到相同的结果?

java hibernate

113
推荐指数
4
解决办法
7万
查看次数

管理IDE和OS之间的键盘快捷方式冲突(Ubuntu)

我正在使用IntelliJ IDEA,但我认为这适用于任何IDE.

在IDEA中,一些非常有用的键盘快捷键与Ubuntu键盘快捷冲突.一些例子:

  • Ctrl+ Alt+L:格式化源代码(映射到Ubuntu中的"锁屏")
  • Ctrl+ Alt+Left:向后导航(映射到Ubuntu中"切换到当前工作空间左侧的工作空间")
  • ...

我已经使用Ubuntu很长一段时间了,我习惯了这些快捷方式.我一直使用它们在工作区之间切换,锁定我的会话......同时,我知道IntelliJ快捷方式有多么有用,我想尽量避免使用鼠标.

目前,我对"格式源代码"的解决方法是Alt+ D(打开"代码"菜单),然后是"R"("重新格式化代码").它工作正常,因为我不经常格式化代码,但它可能会更好.但是,Ctrl+ Alt+Left没有真正的替代方案.

您如何在IDE中管理这些冲突?

您是否只是将所有冲突的IDE键盘快捷键重新映射到其他内容(然后在与具有不同快捷方式的同事进行成对编程时丢失...)?

您是否重新映射Linux键盘快捷键(即使您已"使用"它们)?

有没有办法让键盘快捷键"上下文"?通过这个,我的意思是:在编码时点击一个键进入"IDEA模式"(所有冲突的Ubuntu快捷键暂时停用),再次点击键返回"标准模式"(Ubuntu快捷键被激活).

您对如何管理此问题有任何其他想法/提示吗?

ide ubuntu keyboard-shortcuts intellij-idea

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

如何在IntelliJ 2016中禁用"Access可以是package-package"消息?

开发API时,Java类中的警告消息"Access可以是package-package"可能非常烦人.

我已经花了一些时间通过设置找到一种方法来禁用此消息但没有任何发现.知道如何禁用该消息吗?

java intellij-idea

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

如何从ServletFilter中的ServletResponse中获取HTTP状态代码?

我正在尝试报告从我的webapp返回的每个HTTP状态代码.但是,状态代码似乎无法通过ServletResponse访问,或者即使我将其转换为HttpServletResponse也是如此.有没有办法在ServletFilter中访问这个值?

java servlets http-status-codes servlet-filters

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

在哪里放内部课程?

有些人可能会认为这是有史以来最不重要问题的候选人.然而代码风格对我来说是一个非常重要的主题,我想确保以可读的方式编写代码 - 对我和大多数开发人员而言.

这就是为什么我想知道你们在哪里宣布你们的内心课程.

我遵循以下方法排序方案,因为它很常见:

public void foo() {
    usedByFoo();
}

private void usedByFoo() {
}

public void bar() {
}
Run Code Online (Sandbox Code Playgroud)

我从上到下订购它们,每个方法都接近使用它的位置.

现在我可以对内部类做同样的事情,像这样:

class Outer {
    private Inner inner;

    private class Inner {};

    public Outer() {
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

我认为这是我要遵循的最一致的风格,但我也经常看到人们在文件的顶部或底部声明所有内部类.

根据我的订购方法,我应该遵循哪种风格?最常见的方法是什么?

java coding-style inner-classes

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

将Java StringBuilder转储到文件

将StringBuilder转储到文本文件的最有效/最优雅的方法是什么?

你可以做:

outputStream.write(stringBuilder.toString().getBytes());
Run Code Online (Sandbox Code Playgroud)

但这对于一个很长的文件有效吗?

有没有更好的办法?

java stringbuilder file

35
推荐指数
4
解决办法
6万
查看次数

Spring Data JPA中的分页(限制和偏移)

我希望用户能够在我的查询方法中指定限制(返回的数量的大小)和偏移量(返回的第一个记录/返回的索引).

这是我没有任何分页功能的类.我的实体:

@Entity
public Employee {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;

    @Column(name="NAME")
    private String name;

    //getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我的存储库:

public interface EmployeeRepository extends JpaRepository<Employee, Integer> {

    @Query("SELECT e FROM Employee e WHERE e.name LIKE :name ORDER BY e.id")
    public List<Employee> findByName(@Param("name") String name);
}
Run Code Online (Sandbox Code Playgroud)

我的服务界面:

public interface EmployeeService {

    public List<Employee> findByName(String name);
}
Run Code Online (Sandbox Code Playgroud)

我的服务实施:

public class EmployeeServiceImpl {

    @Resource
    EmployeeRepository repository;

    @Override
    public List<Employee> findByName(String name) {
        return repository.findByName(name);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我尝试提供支持偏移和限制的分页功能.我的实体类保持不变.

我的"新"存储库包含一个可分页的参数:

public interface EmployeeRepository extends JpaRepository<Employee, …
Run Code Online (Sandbox Code Playgroud)

paging spring pagination jpa spring-data

34
推荐指数
5
解决办法
6万
查看次数

减少非常大的图像的文件大小,而不改变图像尺寸

考虑处理上传可能非常大的PNG文件的应用程序.

必须将所有上载的文件存储到磁盘以供以后检索.但是,PNG文件的大小最大可达30 MB,但磁盘存储限制使每个文件大小最大为1 MB.

问题是获取文件大小最大为30 MB的输入PNG并生成文件大小低于1 MB的输出PNG.

这种操作显然是有损的 - 图像质量,颜色等的降低不是问题.但是,有一点不能改变的是图像尺寸.因此,尺寸为800x600的输入文件必须生成尺寸为800x600的输出文件.

以上概述的上述要求是严格的,不能更改.

使用ImageMagick(或其他一些开源工具),如何在不改变图像尺寸的情况下,将大小约为30 MB的输入PNG文件的文件大小减小到每个文件最大1 MB?

compression image-manipulation image imagemagick image-processing

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