faker.js 登 GitHub 趋势榜标星 27.1k,可大批量生成假数据!
整理 | 夕颜
图源 | 视觉中国
出品 | 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,可大批量生成假数据!相关推荐
- 李笑来登GitHub趋势榜第一,教你自学编程,含37%“硬核鸡汤”
郭一璞 乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI 从杭州买房指南,到女装大佬集合,GitHub从来不缺神奇的项目. 这不,又一个项目,跃迁到了GitHub趋势榜的第一名,所以,今天 ...
- 大批量生成假数据,faker.js获得近28k个Star
整理 | 夕颜 图源 | 视觉中国 来源 | CSDN(ID:CSDNnews) 近日,GitHub上一个生成假数据的项目faker.js火了,攀升Trendinging榜单第二,标星目前已超过27. ...
- 价值1.4万元的课程讲义开源,fast.ai发布新书源代码,登GitHub趋势榜第一
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转载自量子位 价值2000美元的AI线上课程讲义,现在已经开源了. 一直致力于AI ...
- 微软开源深度学习优化库 DeepSpeed 连登 GitHub 趋势榜!
[编者按]近期,深度学习社区发生了一件大事:微软研究院发布了图灵自然语言生成模型T-NLG,据称这是史上最大的自然语言处理模型.T-NLG拥有170亿个参数,性能远胜于其他大型深度学习语言模型,例如B ...
- GitHub两天标星2.1K+!自动刷喵币靠这一个脚本就够了.....
来源:开源最前线 大家好,我是 JackTian. 在正式开始之前,跟大家分享一个之前的文章:程序员自动刷淘宝充能量到爆,就靠这个小脚本了.(附详细操作步骤) 和 程序员自动刷淘宝喵币,红包拿到手软就 ...
- Github标星27.1k,可大批量生成假数据,这个工具忒牛
来自:开源最前线(ID:OpenSourceTop) 综合自:https://medium.com/javascript-in-plain-english/faker-js-npm-module-fo ...
- 重磅发布!微软推出Python入门课,登上GitHub趋势榜第一
点击上方"码农突围",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 新智元报道 来源:microsoft 编辑:肖琴 [导读]微软针对 Python 初学者 ...
- 微软推出Python入门课,登上GitHub趋势榜第一(附视频)
来源:新智元 本文约900字,建议阅读10分钟. 本文带你看视频轻松学习python课程! [ 导读 ] 微软针对 Python 初学者,推出了一套免费的教程视频.这套课程最大的特定是轻松简洁,一上线 ...
- NLP中文面试学习资料:面向算法面试,理论代码俱全,登上GitHub趋势榜
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一年一度的秋招已经悄悄来临,征战在求职路上的你,准备好了吗? 工欲善其事,必先利其器. 这里有一份NLP面试大全,全中文教学,囊括机器学习 ...
最新文章
- 利用 libvirt 和 Linux 审计子系统跟踪 KVM 客户机
- [目录]Pentaho Kettle解决方案:使用PDI构建开源ETL解决方案
- java 单例模式 泛型_设计模式之架构设计实例(工厂模式、单例模式、反射、泛型等)...
- Interview:算法岗位面试—10.12上午—上海某科技公司图像算法岗位(偏图像算法,互联网AI行业)技术面试考点之LoR逻辑回归的底层代码实现、特征图计算公式
- Linux Kernel中断下半部分实现的三种方式
- hdu 1247 map
- [原创]商品条码管理与条码打印管理软件的实现
- python项目开发实例-Python项目案例开发从入门到实战——爬虫、游戏
- 一文让你秒懂互联网TCP/IP协议的深层含义
- CPaintDC 、CWindowDC、 CClientDC、cMemDC、 CDC
- proxy ip 收集方式总结
- 神农班2019年总结
- Exynos 4412处理器IIC总线控制器(包括协议)
- 深度学习框架tensorflow学习与应用——代码笔记11(未完成)
- 微软 Github AI 编程工具 Copilot 正式上线,学生免费使用
- 单片机作业 可乐浇汁 “苦乐交织”
- 什么是seo?seo的定义
- 大学中学的档案与计算机管理,中学生学籍档案信息化管理探究.doc
- 大学生职业规划大赛计算机专业,计算机系召开大学生职业生涯规划大赛动员会...
- 学习笔记:Java 并发编程②_管程
热门文章
- mysql 安装telnat_yum安装telnet服务
- php 规则配置,模块Config配置规则
- (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之避免死锁(银行家算法)
- (王道408考研数据结构)第三章栈和队列-第三节1:栈的应用之括号匹配问题和表达式问题(前缀、中缀和后缀)
- (计算机组成原理)第一章计算机系统概述-第一节:计算机发展历程
- 一个简单图书管理系统TSGL的应用数据库
- JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)
- Java 抛异常的两种方法
- 1. OD-界面视图及基本快捷键操作,修改hello word
- 初识空中计算(Over-the-Air Computation)