小编Vyt*_*nis的帖子

JPA实体和DDD实体应该属于同一类吗?

根据DDD,有些类是实体,有些类具有@javax.persistence.Entity注释。他们应该是同一班吗?还是JPA实体应仅充当映射器(https://martinfowler.com/eaaCatalog/dataMapper.html)从数据库加载DDD实体(并将其存储)并保留在域模型之外的机制?

如果将数据库元数据分离并存储在外部(例如,以XML格式),会有所不同吗?如果此类是实体,边界在哪里?我认为从XSD(例如,使用JAXB)甚至使用MyBatis Generator从数据库生成的类都不是DDD中所理解的实体。

orm domain-driven-design jpa mybatis mybatis-generator

6
推荐指数
1
解决办法
980
查看次数

如何在 bc 中禁用换行符?

有没有办法禁用bc将长数字分成几行的功能,比如scale用于控制小数位的变量?当然,我可以使用sed,但是有没有bc办法做到这一点?http://www.gnu.org/software/bc/manual/html_mono/bc.html 的手册页仅说明每行的最大字符数为 70。

下面是一个数字被分割的例子:

bc -l <<< "scale = 100; a(1) * 4"
3.141592653589793238462643383279502884197169399375105820974944592307\
8164062862089986280348253421170676
Run Code Online (Sandbox Code Playgroud)

bash line-breaks bc

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

java.util.HashMap.values() 的迭代顺序

是否保证标准实现中的键和值以java.util.Map相同的顺序返回?例如,如果 map 包含映射x1 -> y1and x2 -> y2,那么如果keySet()迭代产生x1, x2,是否保证values()迭代会产生y1, y2而不是y2, y1?我没有看到任何地方保证这是真的,但它似乎有效。谁能给出证实或否认这个前提并给出反例?

public class MapsTest {
    @Test
    public void hashMapKeysAndValuesAreInSameOrder() {
        assertKeysAndValuesAreInSameOrder(new HashMap<>());
    }

    @Test
    public void treeMapKeysAndValuesAreInSameOrder() {
        assertKeysAndValuesAreInSameOrder(new TreeMap<>());
    }

    private void assertKeysAndValuesAreInSameOrder(Map<Integer, Integer> map) {
        Random random = new Random();
        IntStream.range(0, 100000).map(i -> random.nextInt()).forEach(i -> map.put(i, i));
        assertEquals(new ArrayList<>(map.keySet()), new ArrayList<>(map.values()));
    }
}
Run Code Online (Sandbox Code Playgroud)

java

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

域服务是域模型的一部分吗?

根据 DDD,服务是域模型的一部分吗?如果我们谷歌搜索“ddd洋葱架构”,我们大多可以看到最内层被称为“域模型层”,第二层是“域服务”,例如,[死链接,不再使用NSFW]。但是在https://en.wikipedia.org/wiki/Domain-driven_design和 DDD 书中,我们看到实体、值对象和服务都表达了模型并且是模型元素。如果实体、值对象和服务都是领域模型的一部分,我们应该如何称呼洋葱的这两层:模型(实体+值对象)和服务(我有时会这样做)?但是如果全部都是域模型的一部分,这种命名似乎并不准确。

domain-driven-design

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

连接find -print0和xargs -0

find参数-print0xargs参数-0应该一起工作.man页面find说:

-print0 ....此选项对应于xargs的-0选项.

好吧,只要find产生一些输出,它们就能为我工作.当find生成NO输出时,如何让它工作?

find /dev /sys /usr -maxdepth 0 -print0 | xargs -0 -n1 | wc -l    # 3 - OK
find /dev /sys -maxdepth 0 -print0 | xargs -0 -n1 | wc -l         # 2 - OK
find /dev -maxdepth 0 -print0 | xargs -0 -n1 | wc -l              # 1 - OK
find /dev -maxdepth 0 -name "x" -print0 | xargs -0 -n1 | …
Run Code Online (Sandbox Code Playgroud)

bash find xargs

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

如何使用 ImageMagick 的识别实用程序格式化日期和时间?

我正在创建一个重命名照片的 bash 脚本,以便它们在文件名中包含日期和时间。我想用 ImageMagick 的identify实用程序构建一个文件名。

identify -format "IMG_%[EXIF:DateTime].jpg" myphoto.jpg

我想对日期和时间应用格式。我怎样才能用 ImageMagick 做到这一点?identify支持格式化吗?

imagemagick identify

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