整理 | 夕颜

图源 | 视觉中国

出品 | CSDN(ID:CSDNnews)

近日,GitHub上一个生成假数据的项目faker.js火了,攀升Trendinging榜单第二,标星目前已超过27.1k。只需要简单几步操作,就可以在浏览器和node.js中生成大量假数据。

据了解,这已经不是一个新项目了,2017年就已经由一名叫Marak Squires的开源爱好者创建,他自1999年以来就在写JavaScript产品代码,2009年开始写Node.js。除了faker.js之外,他还参与了100多个NPM开源项目,包括在GitHub上同样受欢迎的独立的功能服务器项目microcule、微服务平台hook.io等。

由于在mock数据方面非常好用,faker.js一经推出就受到了很多应用开发者的欢迎。如今faker.js再次出现在我们的眼前,那就来回顾一下这个好用的工具吧,也许在创建数据库用例数据时,它能帮上忙。

1. 姓名、家庭住址、车辆信息一键生成

按照惯例,先放上项目的GitHub地址:https://github.com/marak/faker.js/

faker.js是个很棒的nede模块,用来mock数据。包含一个超级有用的生成器方法Faker.fake,用于胡须字符串格式与faker API组合。

比如:

console.log(faker.fake("{{name.lastName}{{name.firstName{{name.suffix}}"));// outputs: "Marks, Dean Sr."

这个操作可以将name.lastName(),name.firstName()和name.suffix()的值插入格式字符串。

先看一下demo,可以看到,只要点击“生成新的”,就可以生成关于“这个人”的大量信息,包括姓名、出生日期、家庭住址、国际、电话、邮箱和密码、财务信息,甚至照片,等等。但这个人实际上是并不存在的!

             

             

有了fake图像、fake人脸、fake视频,至此faker.js好像又给了Fake游戏一个新思路,原来信息数据也能够大量生成!

看起来很神奇,你是不是也蠢蠢欲动想玩一下?实际上,创建一个faker.js操作并不复杂,感兴趣的朋友不妨参考GitHub开源代码动手试一试。

2. 创建faker.js的方法

  • 浏览器

Faker.js的好处之一,是不仅可以使用在服务器端的JavaScript,还可以应用在浏览器端的JavaScript,代码如下:

<script src = "faker.js" type = "text/javascript"></script><script>var randomName = faker.name.findName(); // Caitlyn Kerlukevar randomEmail = faker.internet.email(); // Rusty@arne.infovar randomCard = faker.helpers.createCard(); // random contact card containing many properties</script>
  • Node.js

var faker = require('faker');var randomName = faker.name.findName(); // Rowan Nikolausvar randomEmail = faker.internet.email(); // Kassandra.Haley@erich.bizvar randomCard = faker.helpers.createCard(); // random contact card containing many properties
  • API

Faker.js有自己的API,并且功能非常丰富。

  • JSDoc API Browser

http://marak.github.io/faker.js/

  • 声明接口

    • 地址

      • 邮政编码

      • 州邮政编码

      • 城市前缀

      • 城市后缀

      • 街道名称

      • 街道地址

      • 街道后缀

      • 街道前缀

      • 其他地址

      • 国家

      • 国家代码

      • 州的缩写

      • 纬度

      • 经度

      • 方向

      • 基数方向

      • 顺序方向

      • 附近的GPS坐标

      • 时区

    • 商业

      • 颜色

      • 部门

      • 产品名称

      • 价钱

      • 产品形容词

      • 产品材质

      • 产品

      • 产品描述

以及公司、数据库、日期、财务状况、git、hacker、helper、图像、网络、音乐、姓名等API接口,每个项目下还有子项目:

             

                                         

用Faker.js可以很方便地mock数据,只需要添加nmp依赖就可以了。

另外,faker.js是支持多种语言的,默认设置语言是英语,但可以自己设置,方法也很简单:

// sets locale to defaker.locale = "de";
  • az

  • ar

  • cz

  • de

  • de_AT

  • de_CH

  • en

  • en_AU

  • en_AU_ocker

  • en_BORK

  • en_CA

  • en_GB

  • en_IE

  • en_IND

  • en_US

  • en_ZA

  • es

  • es_MX

  • fa

...

  • 本地化包

faker.js支持语言环境的增量加载。

默认情况下,要求faker包括所有语言环境数据。

在生产环境中,你可能只想用一组特定语言环境的数据:

// loads only de localevar faker = require('faker/locale/de');
  • 设置随机种子

如果想要一致的结果,你可以自己设置种子:

faker.seed(123);var firstRandom = faker.random.number();// Setting the seed again resets the sequence.faker.seed(123);var secondRandom = faker.random.number();console.log(firstRandom === secondRando

你可以使用gulp进行自动化创建过程。每个构建操作都是一个单独的任务,可以独立运行。

浏览器绑定

npm run browser

创建JSDocs

JSDOC v3 HTML API documentation

npm run jsdoc

创建ReadMe

faker.js的ReadMe.md文件是自动生成的,不能直接修改。如果要修改,在./build/src/docs.md中进行对ReadMe.md的所有更新,再运行脚本。

npm run readme

项目发起人表示,这个项目一般来说每月会进行一次或大或小的版本更新,并按紧要程度尽快修复bug,对项目感兴趣的人,可以持续关注下代码更新:https://github.com/marak/faker.js/

最后,用这种方法可以生成大量的假数据,虽然项目发起人称,Node.js主要是一些组织和个人用于生产环境设置,但为了安全起见,还是要在此提醒一句并声明,本文仅用于技术交流,朋友们且看且珍惜~

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

faker.js 登 GitHub 趋势榜标星 27.1k,可大批量生成假数据!相关推荐

  1. 李笑来登GitHub趋势榜第一,教你自学编程,含37%“硬核鸡汤”

    郭一璞 乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 从杭州买房指南,到女装大佬集合,GitHub从来不缺神奇的项目. 这不,又一个项目,跃迁到了GitHub趋势榜的第一名,所以,今天 ...

  2. 大批量生成假数据,faker.js获得近28k个Star

    整理 | 夕颜 图源 | 视觉中国 来源 | CSDN(ID:CSDNnews) 近日,GitHub上一个生成假数据的项目faker.js火了,攀升Trendinging榜单第二,标星目前已超过27. ...

  3. 价值1.4万元的课程讲义开源,fast.ai发布新书源代码,登GitHub趋势榜第一

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转载自量子位 价值2000美元的AI线上课程讲义,现在已经开源了. 一直致力于AI ...

  4. 微软开源深度学习优化库 DeepSpeed 连登 GitHub 趋势榜!

    [编者按]近期,深度学习社区发生了一件大事:微软研究院发布了图灵自然语言生成模型T-NLG,据称这是史上最大的自然语言处理模型.T-NLG拥有170亿个参数,性能远胜于其他大型深度学习语言模型,例如B ...

  5. GitHub两天标星2.1K+!自动刷喵币靠这一个脚本就够了.....

    来源:开源最前线 大家好,我是 JackTian. 在正式开始之前,跟大家分享一个之前的文章:程序员自动刷淘宝充能量到爆,就靠这个小脚本了.(附详细操作步骤) 和 程序员自动刷淘宝喵币,红包拿到手软就 ...

  6. Github标星27.1k,可大批量生成假数据,这个工具忒牛

    来自:开源最前线(ID:OpenSourceTop) 综合自:https://medium.com/javascript-in-plain-english/faker-js-npm-module-fo ...

  7. 重磅发布!微软推出Python入门课,登上GitHub趋势榜第一

    点击上方"码农突围",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 新智元报道        来源:microsoft 编辑:肖琴 [导读]微软针对 Python 初学者 ...

  8. 微软推出Python入门课,登上GitHub趋势榜第一(附视频)

    来源:新智元 本文约900字,建议阅读10分钟. 本文带你看视频轻松学习python课程! [ 导读 ] 微软针对 Python 初学者,推出了一套免费的教程视频.这套课程最大的特定是轻松简洁,一上线 ...

  9. NLP中文面试学习资料:面向算法面试,理论代码俱全,登上GitHub趋势榜

    鱼羊 发自 凹非寺  量子位 报道 | 公众号 QbitAI 一年一度的秋招已经悄悄来临,征战在求职路上的你,准备好了吗? 工欲善其事,必先利其器. 这里有一份NLP面试大全,全中文教学,囊括机器学习 ...

最新文章

  1. 利用 libvirt 和 Linux 审计子系统跟踪 KVM 客户机
  2. [目录]Pentaho Kettle解决方案:使用PDI构建开源ETL解决方案
  3. java 单例模式 泛型_设计模式之架构设计实例(工厂模式、单例模式、反射、泛型等)...
  4. Interview:算法岗位面试—10.12上午—上海某科技公司图像算法岗位(偏图像算法,互联网AI行业)技术面试考点之LoR逻辑回归的底层代码实现、特征图计算公式
  5. Linux Kernel中断下半部分实现的三种方式
  6. hdu 1247 map
  7. [原创]商品条码管理与条码打印管理软件的实现
  8. python项目开发实例-Python项目案例开发从入门到实战——爬虫、游戏
  9. 一文让你秒懂互联网TCP/IP协议的深层含义
  10. CPaintDC 、CWindowDC、 CClientDC、cMemDC、 CDC
  11. proxy ip 收集方式总结
  12. 神农班2019年总结
  13. Exynos 4412处理器IIC总线控制器(包括协议)
  14. 深度学习框架tensorflow学习与应用——代码笔记11(未完成)
  15. 微软 Github AI 编程工具 Copilot 正式上线,学生免费使用
  16. 单片机作业 可乐浇汁 “苦乐交织”
  17. 什么是seo?seo的定义
  18. 大学中学的档案与计算机管理,中学生学籍档案信息化管理探究.doc
  19. 大学生职业规划大赛计算机专业,计算机系召开大学生职业生涯规划大赛动员会...
  20. 学习笔记:Java 并发编程②_管程

热门文章

  1. mysql 安装telnat_yum安装telnet服务
  2. php 规则配置,模块Config配置规则
  3. (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之避免死锁(银行家算法)
  4. (王道408考研数据结构)第三章栈和队列-第三节1:栈的应用之括号匹配问题和表达式问题(前缀、中缀和后缀)
  5. (计算机组成原理)第一章计算机系统概述-第一节:计算机发展历程
  6. 一个简单图书管理系统TSGL的应用数据库
  7. JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)
  8. Java 抛异常的两种方法
  9. 1. OD-界面视图及基本快捷键操作,修改hello word
  10. 初识空中计算(Over-the-Air Computation)