Faker는 Perl의 Data::Faker 라이브러리의 포트입니다. 이름, 주소, 전화번호 등 가짜 데이터를 생성하기 위한 라이브러리입니다.
Faker는 현실적인 테스트 데이터를 생성하고 개발을 진행하는 동안 몇 가지 이상의 레코드로 데이터베이스를 채우는 데 도움이 됩니다.
이는 스크린샷을 찍는 데 매우 편리하며(개인 프로젝트의 스크린샷 찍기) 이 보석을 만들게 된 원동력이었습니다.
빠른 링크
- 최신 버전에 대한 설명서를 읽어보세요.
- ? 최신 버전에서 변경된 사항을 확인하세요.
미디어에서
- ? 훌륭한 유머와 함께 훌륭한 개발자 참여가 옵니다 - KTH Royal Institute of Technology 연구
- Computer und Kommunikation 4.5.2024, komplette Sendung - Deutschland Funk Radio 인터뷰
목차
- 위조자
- 빠른 링크
- 목차
- 시작하기
- 용법
- Generators 버전에 대한 참고 사항
- 고유한 가치 보장
- 결정적 무작위
- 맞춤화
- Minitest 및 Faker >= 2.22
- 발전기
- 기여
- 버전 관리
- 특허
메모
- Faker는 무작위로 데이터를 생성하지만 반환된 값은 기본적으로 고유하다고 보장되지 않습니다. 고유한 값이 필요한 시기를 명시적으로 지정하려면 고유한 값 보장을 참조하세요. 결정론적 기능을 사용하는 경우 값도 결정론적일 수 있습니다. 결정론적 무작위를 참조하세요.
- 이는 Faker의
main
분기이며 아직 출시되지 않은 변경 사항이 포함될 수 있습니다. 사용 가능한 방법은 해당 버전의 README를 참조하세요. 모든 버전 목록은 여기에서 확인할 수 있습니다.
시작하기
Gemfile에 faker
포함시켜 시작하세요.
그런 다음 bundle install
실행하십시오.
용법
다음은 Faker를 사용하는 방법에 대한 몇 가지 예입니다.
"5479 William Way, East Sonnyhaven, LA 63637"
Faker::Markdown.emphasis #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*"
Faker::TvShows::RuPaul.queen #=> "Violet Chachki"
Faker::Alphanumeric.alpha(number: 10) #=> "zlvubkrwga"
Faker::ProgrammingLanguage.name #=> "Ruby"">
require 'faker'
Faker :: Name . name #=> "Christophe Bartell"
Faker :: Address . full_address #=> "5479 William Way, East Sonnyhaven, LA 63637"
Faker :: Markdown . emphasis #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*"
Faker :: TvShows :: RuPaul . queen #=> "Violet Chachki"
Faker :: Alphanumeric . alpha ( number : 10 ) #=> "zlvubkrwga"
Faker :: ProgrammingLanguage . name #=> "Ruby"
생성기의 전체 목록은 생성기를 참조하세요.
Generators 버전에 대한 참고 사항
uninitialized constant Faker::[some_class]
오류가 발생하면 gem 버전이 main보다 뒤처진 것입니다.
당신의 gem이 여기에 문서화된 것인지 확인하려면 Gemfile의 줄을 다음과 같이 변경하세요:
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
생성기에는 구현 위에 @faker.version
태그가 있습니다. 태그에서 생성기가 추가된 버전을 식별할 수 있습니다.
# Faker::TvShows::ParksAndRec.character
# @faker.version 1.9.0
def character
fetch ( 'parks_and_rec.characters' )
end
고유한 가치 보장
Faker가 고유한 값을 생성하도록 하려면 메서드 호출 앞에 unique
를 붙입니다.
Faker :: Name . unique . name # This will return a unique name every time it is called
잠재적인 값의 수가 제한된 생성기에서 너무 많은 고유 값을 요청하는 경우 Faker::UniqueGenerator::RetryLimitExceeded
예외가 발생할 수 있습니다. 예를 들어 테스트 사이에 반환된 고유 값의 기록을 지울 수 있습니다.
Faker :: Name . unique . clear # Clears used values for Faker::Name
Faker :: UniqueGenerator . clear # Clears used values for all generators
생성된 데이터와 충돌이 있는 경우 이미 사용된 일부 값을 고유 생성기에 제공할 수도 있습니다(예: 임의의 값과 수동으로 설정된 값으로 FactoryBot 사용).
# Usage:
# Faker::.unique.exclude(method, arguments, list)
# Add 'azerty' and 'wxcvbn' to the string generator with 6 char length
Faker :: Lorem . unique . exclude :string , [ number : 6 ] , %w[ azerty wxcvbn ]
결정적 무작위
Faker는 반복되는 메서드 호출의 결정적인 출력을 제공하기 위해 의사 난수 생성기(PRNG)의 시드를 지원합니다.
"engage strategic platforms"
Faker::Config.random = Random.new(42)
Faker::Company.bs #=> "seize collaborative mindshare"
Faker::Company.bs #=> "engage strategic platforms"
Faker::Config.random = nil # seeds the PRNG using default entropy sources
Faker::Config.random.seed #=> 185180369676275068918401850258677722187
Faker::Company.bs #=> "cultivate viral synergies"">
Faker :: Config . random = Random . new ( 42 )
Faker :: Company . bs #=> "seize collaborative mindshare"
Faker :: Company . bs #=> "engage strategic platforms"
Faker :: Config . random = Random . new ( 42 )
Faker :: Company . bs #=> "seize collaborative mindshare"
Faker :: Company . bs #=> "engage strategic platforms"
Faker :: Config . random = nil # seeds the PRNG using default entropy sources
Faker :: Config . random . seed #=> 185180369676275068918401850258677722187
Faker :: Company . bs #=> "cultivate viral synergies"
맞춤화
당신은 Faker가 당신의 세계 위치에 따라 정보를 인쇄하도록 할 수 있습니다. 이를 지원하기 위해 Faker는 I18n
gem을 사용하여 선택한 지역의 이름과 우편번호를 나타내는 문자열과 형식을 저장합니다.
아래와 같이 원하는 로케일을 설정하기만 하면 나머지는 Faker가 알아서 처리해 드립니다.
Faker :: Config . locale = 'es'
# or
Faker :: Config . locale = :es
Faker의 로케일을 무시하고 스레드 서버 환경에 설정하려면 로케일 README를 확인하세요.
Minitest 및 Faker >= 2.22
Minitest를 사용할 때 Faker(버전 2.22 이상)가 중복된 값을 생성하는 것을 방지하려면 test_helper.rb
또는 rails_helper.rb
파일에 다음을 추가해야 할 수도 있습니다.
Faker :: Config . random = Random . new
자세한 내용은 문제 #2534를 참조하세요.
발전기
이것은 이 gem과 함께 사용할 수 있는 생성기의 전체 목록입니다. 이에 대한 세부정보가 필요한 경우 설명서를 참조하세요.
참고: 아래 생성기 중 일부는 아직 출시되지 않았습니다. 이를 사용하려면 gemfile의 줄을 다음과 같이 변경하세요.
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
기본
- 페이커::주소
- 가짜::영숫자
- 페이커::고대
- 페이커::앱
- 가짜::어플라이언스
- 페이커::아티스트
- 페이커::아바타
- 페이커::뱅크
- 가짜::바코드
- 페이커::맥주
- 페이커::블러드
- 가짜::부울
- 페이커::보사노바
- 페이커::비즈니스
- 페이커::카메라
- 페이커::대마초
- 페이커::ChileRut
- 페이커::척노리스
- 가짜::코드
- 페이커::커피
- 페이커::코인
- 페이커::색상
- 페이커::커머스
- 페이커::회사
- 페이커::컴퍼스
- 가짜::컴퓨터
- 페이커::건설
- 페이커::코스미어
- 가짜::암호화폐
- 가짜::CryptoCoin
- 가짜::통화
- 페이커::날짜
- 페이커::DcComics
- 페이커::인구통계
- 페이커::디저트
- 가짜::장치
- 가짜::운전면허증
- 페이커::드론
- 페이커::교육자
- 가짜::ElectricalComponents
- 페이커::감정
- 페이커::E스포츠
- 가짜::파일
- 페이커::금융
- 페이커::음식
- 가짜::FunnyName
- 페이커::성별
- Faker::그리스 철학자들
- 페이커::해커
- 페이커::힙스터
- 페이커::취미
- 페이커::하우스
- 가짜::ID번호
- 가짜::IndustrySegments
- 가짜::인터넷
- 가짜::송장
- 페이커::작업
- 페이커::제이슨
- 페이커::Kpop
- 페이커::로렘
- 페이커::LoremFlickr
- 가짜::마크다운
- 페이커::마케팅
- 가짜::측정
- 페이커::밀리터리
- 페이커::마운틴
- 가짜::이름
- 페이커::네이션
- Faker::NatoPhoneticAlphabet
- 가짜::NationalHealthService
- 페이커::번호
- 페이커::옴니아우스
- 가짜::전화번호
- 페이커::Placeholdit
- Faker::프로그래밍언어
- 페이커::관계
- 페이커::레스토랑
- 페이커::사이언스
- 가짜::Slack이모티콘
- 페이커::출처
- 페이커::SouthAfrica
- 페이커::스페이스
- 가짜::문자열
- 페이커::스트라이프
- 가짜::구독
- 페이커::슈퍼히어로
- 페이커::티
- 페이커::팀
- 페이커::극장
- 페이커::시간
- 페이커::트위터
- 가짜::유형
- 페이커::대학
- 가짜::차량
- 페이커::동사
- 가짜::VulnerabilityIdentifier
- 페이커::월드컵
블록체인
- 페이커::블록체인::애터니티
- 가짜::블록체인::비트코인
- 가짜::블록체인::이더리움
- 가짜::블록체인::테조스
서적
- 페이커::책
- 페이커::도서::Culture시리즈
- 페이커::책::듄
- 페이커::책::러브크래프트
- Faker::Books::TheKingkillerChronicle
공상
여행하다
생물
- 가짜::생물::동물
- 가짜::생물::새
- 가짜::생물::고양이
- 가짜::생물::개
- 가짜::생물::말
계략
- 페이커::게임
- 가짜::게임::ClashOfClans
- 페이커::게임::DnD
- 페이커::게임::Dota
- 가짜::게임::ElderScrolls
- 페이커::게임::폴아웃
- 페이커::게임::FinalFantasyXIV
- 페이커::게임::HalfLife
- 페이커::게임::히어로즈
- 가짜::게임::HeroesOfTheStorm
- 페이커::게임::LeagueOfLegends
- 페이커::게임::마인크래프트
- 페이커::게임::미스트
- 페이커::게임::오버워치
- 페이커::게임::포켓몬
- 페이커::게임::SonicTheHedgehog
- 페이커::게임::StreetFighter
- 페이커::게임::SuperMario
- 페이커::게임::SuperSmashBros
- 페이커::게임::동방
- 페이커::게임::워해머판타지
- 페이커::게임::위쳐
- 가짜::게임::WorldOfWarcraft
- 페이커::게임::젤다
일본 언론
- 가짜::일본어미디어::카우보이비밥
- 페이커::일본어미디어::드래곤볼
- 페이커::일본어미디어::OnePiece
- 가짜::일본어미디어::StudioGhibli
- 가짜::일본어미디어::SwordArtOnline
- 가짜::일본어미디어::나루토
- Faker::일본어미디어::도라에몽
- 페이커::일본어미디어::코난
- 가짜::일본어미디어::FullmetalAlchemistBrotherhood
영화 산업
- 페이커::영화
- 페이커::영화::아바타
- 가짜::영화::BackToTheFuture
- 페이커::영화::Departed
- 페이커::영화::고스트버스터즈
- 페이커::영화::해리포터
- Faker::영화::HitchhikersGuideToTheGalaxy
- 페이커::영화::호빗
- 가짜::영화::HowToTrainYourDragon
- 페이커::영화::레보스키
- 가짜::영화::LordOfTheRings
- 페이커::영화::PrincessBride
- 페이커::영화::스타워즈
- 페이커::영화::트론
- 페이커::영화::VForVendetta
음악
- 페이커::음악
- Faker::음악::GratefulDead
- 페이커::음악::힙합
- 페이커::음악::오페라
- 페이커::음악::PearlJam
- 페이커::음악::Phish
- 페이커::음악::프린스
- 페이커::음악::록밴드
- 페이커::음악::러쉬
- 가짜::음악::SmashingPumpkins
- 페이커::음악::UmphreysMcgee
인용 부호
- 페이커::인용문
- 페이커::인용문::치키토
- 가짜::인용문::Rajnikanth
- 가짜::인용문::셰익스피어
스포츠
- 페이커::스포츠
- 페이커::스포츠::농구
- 페이커::스포츠::체스
- 페이커::스포츠::축구
- 페이커::스포츠::등산
- 페이커::스포츠::배구
TV 쇼
- 가짜::TvShows::AquaTeenHungerForce
- 페이커::TV쇼::아처
- 페이커::TvShows::빅뱅이론
- 페이커::TvShows::BojackHorseman
- 페이커::TvShows::BreakingBad
- 페이커::TvShows::BrooklynNineNine
- 페이커::TV쇼::버피
- 가짜::TvShows::커뮤니티
- 페이커::TV쇼::DrWho
- 가짜::TvShows::DumbAndDumber
- 페이커::TV쇼::FamilyGuy
- 페이커::TvShows::FinalSpace
- 페이커::TV쇼::친구
- 가짜::TvShows::GameOfThrones
- 페이커::TvShows::헤이아놀드
- 가짜::TvShows::HowIMetYourMother
- 페이커::TV쇼::MichaelScott
- 페이커::TvShows::NewGirl
- 페이커::TvShows::ParksAndRec
- 가짜::TvShows::RickAndMorty
- 페이커::TvShows::루폴
- 페이커::TV쇼::사인펠드
- 페이커::TvShows::SiliconValley
- 페이커::TV쇼::심슨
- 페이커::TV쇼::SouthPark
- 페이커::TV쇼::스폰지밥
- 페이커::TV쇼::스타트렉
- 페이커::TV쇼::스타게이트
- 가짜::TvShows::낯선 것들
- 페이커::TV쇼::슈츠
- 페이커::TvShows::슈퍼내추럴
- 가짜::TvShows::TheExpanse
- 가짜::TvShows::TheFreshPrinceOfBelAir
- 가짜::TvShows::TheITCrowd
- 페이커::TvShows::TheThickOfIt
- 페이커::TvShows::TwinPeaks
- 페이커::TvShows::VentureBros
위치
기여
참고 : 새로운 생성기와 로케일에 대한 제안은 받아들이지 않습니다. 기여 가이드에는 이 결정에 대한 몇 가지 참고 사항이 있습니다.
머신에 저장소를 설정하고, 버그 보고서를 열고, 코드베이스를 이해하고, 좋은 끌어오기 요청을 생성하는 방법에 대한 지침은 기여 문서를 살펴보세요.
개선 사항이나 기능 요청에 관해 논의할 수 있는 Discord 채널이 있습니다.
감사합니다, 기여자 여러분!
버전 관리
Faker는 https://semver.org에 정의된 Semantic Versioning 2.0을 따릅니다.
특허
이 코드는 MIT 라이센스 조건에 따라 무료로 사용할 수 있습니다.