• Datafaker生成模拟数据


    几天前,我们发布了第一个1.x 版本的 Datafaker。Datafaker是Javafaker的一个现代且更新的端口,是一个生成看起来像真实数据的假随机数据的库。

    什么是数据伪造者

    Datafaker 是一个 Java/Kotlin 库。它的创建是因为最初的项目Javafaker被困在旧版本的Java上,并且几乎不接受PR。 (在撰写本文时,Javafaker项目有100多个开放的PR,并且有几个长期未解决的错误)。由于我不想让投入这些 PR 的努力白费,我创建了 Datafaker,它(几乎)将所有开放的 PR 合并到 Datafaker 中,并修复了一些额外的问题。

    Datafaker vs Javafaker

    示意性地,这就是Datafaker目前与Javafaker的比较:

    描述数据伪造者JAVAFAKER
    语言Kotlin/Java 11+爪哇 6
    供应商100+~80
    依赖非常小(从 1.1.0 开始)番石榴、阿帕奇共享资源等
    上一个版本3 1月 202211 2月 2020

    何时使用数据伪造者

    Datafaker 是一个很棒的库,当需要真实的测试数据时可以使用。例如,单元测试就是一个很好的例子,或者填充数据库表,或生成 CSV 文件。使用Datafaker,生成真实的数据(例如信用卡号,电话号码)以及医疗数据(例如ICD-10-CM和ICD-10-PCS数据)是微不足道的。

    生成数据作为匿名生产数据的替代方法,有一些好处。生成数据的最大好处之一是数据永远不会导致 PII(个人身份信息)和 PHI(受保护的健康信息)问题,因为数据是假的,不包含真实的患者、医疗记录号或其他识别信息。

    另一个很大的好处是,很容易生成几乎无限的数据集。虽然有时很难获得大量匿名生产数据,但使用 Datafaker 可以轻松生成一百万或更多的 PII/PHI 记录。

    最后一个值得注意的功能是生成的数据可以本地化。因此,例如,当您需要美国电话号码和法国电话号码时,Datafaker可以通过传入所需语言或国家/地区的区域设置轻松生成这些号码,并且数据将相应地格式化。

    如何使用数据伪造者

    使用Datafaker非常简单。它可以从Maven或Gradle通过使用,方法是在理论上声明依赖关系。下面可以看到一个示例:pom.xmlbuild.gradle

    1. net.datafaker
    2. datafaker
    3. 1.0.0

    导入库后,您可以使用Datafaker通过以下方式生成假数据:

    1. import net.datafaker.Faker;
    2. Faker faker = new Faker();
    3. String name = faker.name().fullName(); // Miss Samanta Schmidt
    4. String firstName = faker.name().firstName(); // Emory
    5. String lastName = faker.name().lastName(); // Barton
    6. String streetAddress = faker.address().streetAddress(); // 60018 Sawayn Brooks Suite 449

    这将生成与代码注释中提到的名称类似的名称。文档中描述了有关如何使用 Datafaker 的更多选项,并且概述了所有虚假数据提供程序,这些提供程序将在发布更多数据提供程序时进行更新。

    我希望您发现此库有用,或者如果您发现问题,请在Datafaker Github问题跟踪器中告诉我或在下面发表评论。

  • 相关阅读:
    Persistent data structure 不可变数据结构
    macOS上实现「灵动岛」效果
    Go包介绍与初始化:搞清Go程序的执行次序
    用VB设计年级人员管理系统
    第7章 SpringMVC
    【掘金运营套路揭露】真心被掘金的套路....
    @FeignClient(contextId = “remoteLogService“, value = ServiceNameConstants.UPMS)
    AP5193 DC-DC恒流转换器 消防应急 灯汽车灯 应急日光灯太阳能灯驱动IC
    【Linux】Ubuntu美化主题【教程】
    网络授时服务器(NTP授时系统)售后与安装步骤
  • 原文地址:https://blog.csdn.net/allway2/article/details/128198625