사람이 쓰는 이름
언어별로 선별한 풀에서 뽑고, 성씨는 실제 인구 분포에 맞춰 가중치를 둡니다. 한국어 이름은 다섯 개 중 하나쯤이 김씨입니다.
사람 이름
이 선택은 사이트 전체의 코드 예제에 적용됩니다.
import { randName, randNickname, randSuffix } from 'randino';
randName({ language: 'en', count: 3 });
// ['Christina Mills', 'Jack Reeves', 'Brian Wallace']
randName({ language: 'en', gender: 'female', includeMiddleName: true });
// ['Danielle Sylvia Owens']
randNickname({ language: 'en', count: 3 });
// ['FoggyHillside', 'CraneVoyage', 'TinyLeopardCloak']
randSuffix(randNickname({ language: 'en', count: 2 }));
// ['FoggyHillside_gDe2C', 'CraneVoyage_nVtRC']import 'package:randino/randino.dart';
randName(language: NameLanguage.en, count: 3);
// ['Christina Mills', 'Jack Reeves', 'Brian Wallace']
randName(
language: NameLanguage.en,
gender: NameGender.female,
includeMiddleName: true,
);
// ['Danielle Sylvia Owens']
randNickname(language: WordLanguage.en, count: 3);
// ['FoggyHillside', 'CraneVoyage', 'TinyLeopardCloak']
randSuffixAll(randNickname(language: WordLanguage.en, count: 2));
// ['FoggyHillside_gDe2C', 'CraneVoyage_nVtRC']from randino import rand_name, rand_nickname, rand_suffix
rand_name(language="en", count=3)
# ['Christina Mills', 'Jack Reeves', 'Brian Wallace']
rand_name(language="en", gender="female", include_middle_name=True)
# ['Danielle Sylvia Owens']
rand_nickname(language="en", count=3)
# ['FoggyHillside', 'CraneVoyage', 'TinyLeopardCloak']
rand_suffix(rand_nickname(language="en", count=2))
# ['FoggyHillside_gDe2C', 'CraneVoyage_nVtRC']모든 옵션은 선택 사항이라, 인자 없이 호출하면 9개 언어 중 하나로 이름 하나를 돌려줍니다.
| 필요한 것 | 이렇게 |
|---|---|
| 테스트 픽스처와 시드 데이터 | randName({ count: 100 })randName(count: 100)rand_name(count=100) |
| 한국어 화면 목업 | randName({ language: 'ko', count: 20 })randName(language: NameLanguage.ko, count: 20)rand_name(language="ko", count=20) |
| 가입 폼의 닉네임 추천 | randNickname({ count: 5 })randNickname(count: 5)rand_nickname(count=5) |
| 겹치지 않는 아이디 | randSuffix(randNickname())randSuffix(value: randNickname().first)rand_suffix(rand_nickname()) |
| 자리를 채울 문단 | randSentence({ sentences: 3 })randSentence(sentences: 3)rand_sentence(sentences=3) |
| 쿠폰 코드와 고유 토큰 | randSuffix()randSuffix()rand_suffix() |
| 테마별 단어 세트 | randAnimal({ count: 10 })randAnimal(count: 10)rand_animal(count=10) |
| 길이가 정해진 입력칸 | randNickname({ maxLength: 12 })randNickname(maxLength: 12)rand_nickname(max_length=12) |
개수와 길이, 시작 글자, 중복 제거는 네 생성 함수가 모두 같은 이름으로 받습니다. randName에서 익힌 옵션이 randNickname과 randWord와 randSentence에서 그대로 통합니다.
countcountcount는 몇 개를 받을지, minLengthminLengthmin_length와 maxLengthmaxLengthmax_length는 글자 수, startsWithstartsWithstarts_with는 첫 글자, unique는 한 번의 호출 안에서 중복을 없앨지, realism은 실제 단어를 뽑을지 그 언어처럼 읽히는 단어를 지어낼지 정합니다.결과가 무엇으로 만들어졌는지 물어볼 수도 있습니다. output: 'detail'randNameDetailsoutput="detail"은 문자열 대신 이름의 두 표기와 언어와 성별을, 닉네임이라면 어떤 단어를 어떤 자리에 썼는지를 함께 돌려줍니다.
npm install randinoNode.js 22 이상 또는 아무 브라우저에서 동작합니다. 타입 선언이 포함된 ESM이고, 뒤따라 설치되는 패키지가 없습니다.
dart pub add randinoDart 3.7 이상(Flutter 3.29)에서 동작합니다. dart:math 외에는 아무것도 import하지 않으므로 VM과 웹은 물론 모든 플랫폼의 Flutter에서 그대로 씁니다.
pip install randinoPython 3.10 이상에서 동작합니다. 표준 라이브러리 외에는 아무것도 import하지 않으며, py.typed 마커를 포함하므로 타입 검사기가 주석을 그대로 읽습니다.
네트워크 호출도, 준비해 둘 데이터 파일도 없습니다. 서버에서도 빌드 스크립트에서도 테스트 픽스처에서도 같은 코드가 그대로 돕니다.