小编Thu*_*rge的帖子

"大文件"必须从Git LFS中受益多大?

我正在阅读关于Git LFS的信息并且一次又一次地看到它对于"大文件"非常有用

Git大文件存储(LFS)取代了大型文件,如音频样本,视频[...]

版本大文件 - 即使是那些大到几GB的大文件 - 使用Git.

Git的大文件存储(LFS)是一个免费,开源的扩展,它取代了大文件里面Git的文本指针,并存储在远程服务器上的这些文件的内容.

不幸的是,我没有看到任何"大文件"实际上是什么.很明显,占用几千兆字节的东西是一个大文件,但更小的东西呢?

我将从Git LFS中获益,只需50 MB的"大文件"吗?20MB?5MB?1MB?不到1MB?

与常规Git相比,"大文件"必须从Git LFS中受益多大?

git git-lfs

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

如何转义角度日期管道中的字符?

我有一个Angular日期变量today,我正在使用日期管道,如下所示:

{{today | date:'LLLL d'}}
Run Code Online (Sandbox Code Playgroud)

2月13日

但是,我想让它看起来像这样:

2月到目前为止13天

当我尝试一种天真的方法,我得到这个结果:

{{today | date:'d days so far in LLLL'}}
Run Code Online (Sandbox Code Playgroud)

13 13PM201818 2月18日fPMr

这是因为,例如d指的是当天.

如何在Angular日期管道中转义这些字符?我尝试了\d这样,但结果并没有随着添加的反斜杠而改变.

date date-pipe angular

15
推荐指数
2
解决办法
4517
查看次数

JUnit 5中的ExternalResource和TemporaryFolder的等价物是什么?

根据JUnit 5用户指南,JUnit Jupiter为某些JUnit 4规则提供向后兼容性,以帮助迁移.

如上所述,JUnit Jupiter本身不支持也不支持JUnit 4规则.然而,JUnit团队意识到许多组织,特别是大型组织,可能拥有大型JUnit 4代码库,包括自定义规则.为了服务这些组织并实现渐进式迁移路径,JUnit团队决定在JUnit Jupiter中逐字支持一系列JUnit 4规则.

该指南继续说其中一个规则是ExternalResource,它是TemporaryFolder的父级.

但是,遗憾的是,该指南没有继续说明迁移路径是什么,或者对于那些编写新JUnit 5测试的人来说等价.那么我们应该使用什么?

java junit temporary-files junit5

13
推荐指数
3
解决办法
4074
查看次数

如果我的测试中有验证,期望是多余的吗?

我对期望和验证的目的和差异感到困惑.例如

@Tested FooServiceImpl fooService;
@Injectable FooDao fooDao;

@Test
public void callsFooDaoDelete() throws Exception {
    new Expectations() {{
        fooDao.delete(withEqual(1L)); times = 1;
    }};

    fooService.delete(1L);

    new Verifications() {{
        Long id;
        fooDao.delete(id = withCapture()); times = 1;
        Assert.assertEquals(1L, id);
    }};
}
Run Code Online (Sandbox Code Playgroud)

首先,如果这个测试写得不好,请告诉我.

第二,我的问题:期望部分对我来说似乎是多余的,我无法想出一个不会出现的例子.

java testing junit unit-testing jmockit

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

当垂直滚动条出现时,JScrollPane不够宽

我在同一个窗口中有两个JScrollPanes.左侧的那个足够大,可以显示所包含面板的内容.右边的那个不够大,无法显示其内容,因此需要创建一个垂直滚动条.

JScrollPane问题

但正如您所看到的,问题是当出现垂直滚动条时,滚动条会出现在JScrollPane 的内部.它覆盖了内部包含的内容,因此需要水平滚动条来显示所有内容.我想要那个固定的.

我意识到我可以一直打开垂直滚动条,但出于美观原因,我只希望它在必要时出现,而不需要出现水平滚动条.

编辑:我的启动代码很简单:

JScrollPane groupPanelScroller = new JScrollPane(groupPanel);
this.add(groupPanelScroller, "align center");
Run Code Online (Sandbox Code Playgroud)

我正在使用MigLayout(MigLayout.com),但无论我使用什么版面管理器,这个问题似乎都会出现.此外,如果我缩小窗口以使左面板不再大到足以显示所有内容,则会出现与右面板相同的行为.

java swing jscrollpane

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

如何为JUnit 5测试创建HTML报告?

当通过Gradle启动JUnit测试时,是否已经有可能生成HTML报告?任何提示或评论都表示赞赏.

junit gradle junit5

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

什么是"Checkout with Rebase"然后在Intellij IDEA中推送合并文件的正确方法

在Git中,我有两个分支:master和myFeatureBranch(我在主人的时候通过IDEA的新分支创建).自从我创建myFeatureBranch以来,其他团队成员已经对master进行了多次更改.我想引入这些更改,我知道我会发生合并冲突.

我对如何处理这个问题的一般想法是:

  • 我从master获得所有提交并将它们应用到我的分支
  • 我处理任何合并冲突
  • 我将所有这些更改(包括合并文件)推送到远程分支
  • 我的远程分支上没有重复的提交

Intellij IDEA 2016 增加了一些新功能,包括Checkout with Rebase.从他们的公告:

与结帐衍合结帐,然后调整基线:如果你不想当你做两个操作你的时间浪费在多余的文件同步和编译的动作是很有用的.

听起来像我想要的.我已经在掌握了,所以我点击IDEA窗口右下角的分支选择器.我导航到我当地的分支机构并选择"Checkout with Rebase".

使用Rebase进行Intellij IDEA Checkout

这样做之后,我被告知我的合并冲突.我选择"合并"按钮并手动解决它们.

Intellij IDEA合并冲突

在我这样做之后,我得到了确认我的rebase成功了:

Intellij IDEA Rebase成功

并且没有待定的更改:

Intellij IDEA无法更改

一切看起来都有效.现在我想将所有内容(包括我的合并类)推送到我的远程分支.所以我进入菜单栏并选择VCS - > Git - > Push.但是当我这样做时,我得到一个错误,说我的推送被拒绝了,我应该合并:

推送当前分支<code> myFeatureBranch </ code>被拒绝. 在推送之前需要合并远程更改. 在这种情况下,强烈建议使用**merge**,因为存在非推送的合并提交. 重新定位它们可能会导致问题.

我决定按照建议选择"合并".但是,这让我回到合并冲突.

Intellij IDEA合并冲突

如果我经历这个,然后尝试再次推动它,它是成功的,但我结束了两个合并的副本.

我对这个"Checkout with Rebase"错误地做了什么,然后推送我的合并文件?

另外,我不想在终端上这样做.对于一些开发人员来说这可能更容易,但我想学习如何通过IDEA GUI完全完成它(我们有QA和其他用户不像我们的开发人员那样技术,他们表示不希望使用命令行,我想知道最好的方法).

git merge intellij-idea rebase

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

如何在没有Java Web Start的情况下将Java控制台输出传递给文件?

我想将Java控制台输出(由System.out.println它生成的和它的同类)传递给一个文件.我在这里找到了一个很好的解决方案来启用Java跟踪,但这对我不起作用(Mac OS X或Windows上的任何位置都没有显示日志文件).据我所知,这是因为我使用的是没有Java Web启动的普通Java应用程序.那么如何使用不使用Java Web start的Java代码来实现这一目标呢?理想情况下,我想要一个不需要修改代码的解决方案.

java

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

如何减小JRE的大小?

我最近尝试打包Java应用程序以便在Mac App Store中分发,但发现通过捆绑默认JRE,该应用程序将其文件大小增加了大约138 MB.我想通过剥离我不需要的组件(例如Corba,JavaFX,XML解析)来减小JRE的大小,因此当我将它捆绑到应用程序时会导致更小的增加.

有一些问题,比如这个问题,给出了一些关于要删除哪些组件的指导,但没有一个实际描述如何减少它.我需要做些什么来减小JRE的大小?有某些工具吗?我只是下载源代码并破解我不想要的类吗?我是否编辑了当前安装的JRE?我不确定从哪里开始.

java

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

使JSpinner在聚焦时选择文本

我想更改JSpinner的行为,以便当您单击文本时,它会选择它.这样可以更轻松地使用所需的值替换字段.不幸的是,我无法使行为起作用,相反,它只是将光标插入文本而不选择已存在的内容.

我已经尝试将焦点侦听器添加到JSpinner本身和文本区域本身((DefaultEditor) this.getEditor()).getTextField(),但是这些似乎都没有达到预期的效果.我的代码(对于JSpinner本身)如下:

spinner.addFocusListener(new FocusAdapter(){
            @Override
            public void focusGained(FocusEvent e) {
                ((DefaultEditor) ((JSpinner) e.getSource()).getEditor()).getTextField().selectAll();
            }
        }); 
Run Code Online (Sandbox Code Playgroud)

我不确定问题是什么.如果重要,我正在运行Mac OS 10.7.5和Java 6u43.

编辑:我System.out.println在focusGained方法的开头放了一个权利,发现它从未被调用过.所以看起来焦点在于JSpinner没有注册.同样,我尝试将focusAdpater放在微调器和文本字段上(尽管不是同时).

java swing jspinner focuslistener

8
推荐指数
2
解决办法
5349
查看次数