Faker Library란

Faker Library란 자동으로 생성해서 값을 내보내주는 라이브러리로 Front와 개발 API를 미리 제공하는 용도로 사용이 가능할 것 같습니다. 

 

라이브러리 등록

Gladle

// https://mvnrepository.com/artifact/net.datafaker/datafaker
implementation 'net.datafaker:datafaker:1.6.0'

https://mvnrepository.com/artifact/com.github.javafaker/javafaker/1.0.2

https://github.com/DiUS/java-faker/blob/master/README.md

 

GitHub - DiUS/java-faker: Brings the popular ruby faker gem to Java

Brings the popular ruby faker gem to Java. Contribute to DiUS/java-faker development by creating an account on GitHub.

github.com

예제

Faker faker = new Faker();

String name = faker.name().fullName(); // Miss Samanta Schmidt
String firstName = faker.name().firstName(); // Emory
String lastName = faker.name().lastName(); // Barton

String streetAddress = faker.address().streetAddress(); // 60018 Sawayn Brooks Suite 449

1. Faker 사용 설정 시 new Faker()를 호출하여 사용하며, 내부 언어를 바꾸고 싶으면 Locale를 넣어주는 방식으로 가능합니다. 

Faker faker = new Faker(Locale.KOREAN);

String name = faker.name().fullName(); // 조 민재
String firstName = faker.name().firstName(); // 지훈
String lastName = faker.name().lastName(); // 임

String streetAddress = faker.address().streetAddress(); // 9091 광명읍

2. 기본 영어로 생성됩니다.

정의

자주 쓸 법한 함수들 위주로 정의해보았습니다.

이름

// 사람관련 함수
faker.name(); // 결과 : net.datafaker.Name@2c9399a4
// 전체 이름
faker.name().fullName(); // 결과 : 신 서윤
// 이름
faker.name().firstName(); // 결과 : 지우
// 성
faker.name().lastName(); // 결과 : 이
// 이름 + 중간 이름
faker.name().nameWithMiddle(); // 결과 : 민재 박 정
// 전체 이름
faker.name().name(); // 결과 : 윤 현우
// 이름 접두사
faker.name().prefix(); // 결과 : Mrs.
// 이름 접미사
faker.name().suffix(); // 결과 : DVM
// 직업
faker.name().title(); // 결과 : Human Functionality Manager
// 이름.성
faker.name().username(); // 결과 : 민재.송

주소

// 주소 관련 함수
faker.address(); // net.datafaker.Address@28237492
// 도시
faker.address().city(); // 삼척구
// 시명
faker.address().cityName(); // 창녕
// 시명
faker.address().state(); // 제주
// 시명
faker.address().stateAbbr(); // 전남
// 면
faker.address().streetName(); // 정왕면
// 도시 접두어
faker.address().cityPrefix(); // Lake
// 도시 접미사
faker.address().citySuffix(); // 시
// 국가
faker.address().country(); // Lesotho
// 국가 코드
faker.address().countryCode(); // AU
// 거리 주소
faker.address().streetAddress(); // 9847 신월읍
// 거리 주소 + 보조 주소
faker.address().streetAddress(true); // 53522 상계면 Apt. 537
// 거리 접두어
faker.address().streetPrefix(); // xx
// 거리 접미사
faker.address().streetSuffix(); // 동
// 도로명주소
faker.address().streetAddressNumber(); // 714
// 도시 거리 주소 및 우편번호
faker.address().fullAddress(); // 431 목읍, 고양군, 전남 41954
// 보조 주소
faker.address().secondaryAddress(); // Suite 308
// 건물번호
faker.address().buildingNumber(); // 34258
// 위도, 경도
faker.address().lonLat(); // -150.88250730,-71.02660021
// 위도
faker.address().latitude(); // -53.19520548
// 경도
faker.address().longitude(); // 108.83162167
// 사서함
faker.address().mailBox(); // PO Box 681
// 우편번호
faker.address().postcode(); // 17455
// 우편번호
faker.address().zipCode(); // 79702
// 타임존
faker.address().timeZone(); // Asia/Tokyo

App

// App 함수
faker.app(); // net.datafaker.App@55adcf9e
// APP명
faker.app().name(); // Veribet
// APP 제조사
faker.app().author(); // 지민 연구소
// APP 버전
faker.app().version(); // 8.7

AWS

// AWS 함수
faker.aws(); // net.datafaker.Aws@63a84bb6
// accountId
faker.aws().accountId(); // 0661356650
// acm 주소
faker.aws().acmARN(); // arn:aws:acm:eu-north-1:0527425756:certificate/054f68bb-ce76-45d3-beec-9f5a194ac6cf
// alb 주소
faker.aws().albARN(); // arn:aws:elasticloadbalancing:ca-central-1:0626081482:loadbalancer/app/fixflex/23f0d8ff2cd9cd7a
// alb Group 주소
faker.aws().albTargetGroupARN(); // arn:aws:elasticloadbalancing:eu-south-1:0230944432:targetgroup/redhold/5efd0ed285bd5c1e
// 리전
faker.aws().region(); // eu-west-3
// Zone ID
faker.aws().route53ZoneId(); // AVFYCWEZYNFCBAIXCHZKJ
// 시큘리티 그룹 ID
faker.aws().securityGroupId(); // sg-afcc45e37c8fa7d2
// 서브넷 ID
faker.aws().subnetId(); // subnet-db18c85dbcb51f68
// VPC ID
faker.aws().vpcId(); // vpc-6553f2a1ac5b58ce

회사

// 회사 함수
faker.company(); // net.datafaker.Company@33e50ff2
// 회사명
faker.company().name(); // 서현 게임즈
// 사업명
faker.company().bs(); // orchestrate sticky supply-chains
// 회사 접미사
faker.company().suffix(); // 물산
// 산업
faker.company().industry(); // Online Media
// 로고 Url
faker.company().logo(); // https://pigment.github.io/fake-logos/logos/medium/color/1.png
// 직업
faker.company().profession(); // judge
// 회사 URL
faker.company().url(); // www.xn--2e0br59akgd6va85i.or.kr

색상

// 색상 함수
faker.color(); // net.datafaker.Color@20231384
// 색상명
faker.color().name(); // 하늘색
// 색상 코드
faker.color().hex(); // #9A801E

 

+ Recent posts