DATA & VERIFICATION

단어 데이터와 닉네임 검증 방식

Rarenick의 68,066개 원단어가 수집·검수·중복 제거되는 과정과 Nexon Open API 조회, D1 캐시, 상태별 만료 정책을 공개합니다.

작성·검수: Rarenick 운영팀최종 수정: 2026년 7월 12일

1. 공개 단어풀은 실시간 크롤링 결과가 아닙니다

2026년 7월 12일 공개 버전에는 30개 분야, 68,066개 concept이 들어 있습니다. 신화, 인물 이름, 꽃, 천문학, 과학 용어, 음식처럼 닉네임의 소재가 될 수 있는 분야를 각각 CSV 원본으로 관리합니다. 서비스 방문 중에 인터넷을 즉시 긁거나 사용자의 검색어를 자동으로 사전에 추가하지 않습니다.

각 행에는 분야, 한글 라벨, 가능한 경우 영문 라벨, 설명과 원천 식별자가 들어갑니다. 공개 전에 데이터 빌드가 문자 규칙, 빈 설명, 중복 라벨, 잘못된 영문 표기를 검사합니다. 현재 빌드는 영문 라벨 검수 오류가 0건일 때만 배포할 수 있도록 막혀 있습니다.

2. 한글과 영문은 번역 버튼 하나로 만들지 않습니다

같은 개념이라도 한국어 번역어와 음역어가 다를 수 있습니다. ‘보라’와 ‘바이올렛’처럼 뜻은 가까워도 실제 이름으로는 서로 다르게 읽히는 경우에는 별도 후보로 유지합니다. 반대로 같은 철자와 같은 개념이 여러 원천에서 반복되면 하나의 공개 항목으로 합칩니다.

영문 라벨에 한글이 섞였거나 한글 라벨과 영문 라벨이 사실상 같은 값인 경우, 근거 없이 자동 생성된 표기인 경우에는 공개 대상에서 제외합니다. 설명은 단순히 “관련 단어입니다”라고 반복하지 않고, 인물·장소·물질·개념이 무엇인지 구분할 수 있도록 분야별 원본에서 검수한 내용을 사용합니다.

  • 같은 normalized 한글 라벨은 전체 통합에서 한 번만 노출합니다.
  • 한 개념이 여러 분야와 관련되면 각 분야에서는 노출할 수 있습니다.
  • 한글 별칭의 철자가 다르면 독립된 닉네임 후보로 유지합니다.
  • 영문 근거를 확인하지 못한 항목은 한글 전용으로 남기거나 공개에서 제외합니다.

3. 랜덤 추천은 데이터베이스를 무작위로 정렬하지 않습니다

공개 단어는 버전이 붙은 정적 JSON shard로 나누어 Cloudflare의 정적 자산에서 제공합니다. 분야별 shard 순서를 세션 안에서 섞고, 한 번 사용한 shard는 가능한 한 전체 순환이 끝나기 전까지 다시 선택하지 않습니다. 전체 통합은 여러 분야를 고르게 골라 교차 배치하므로 한 분야만 계속 나오는 현상을 줄입니다.

이 구조에서는 사용자가 랜덤 버튼을 누를 때마다 D1에서 ORDER BY RANDOM() 같은 고비용 쿼리를 실행하지 않습니다. 단어 파일은 CDN 캐시를 사용할 수 있고, D1은 닉네임 조회 상태와 요청 제한 카운터만 담당합니다. 랜덤 한글은 가능한 조합이 매우 크기 때문에 사전에 저장하지 않고 브라우저에서 즉석 생성합니다.

4. Nexon 조회는 cache-first로 수행합니다

화면에 표시할 후보가 정해지면 먼저 D1의 유효한 캐시를 한 번의 묶음 쿼리로 조회합니다. 캐시가 없는 이름만 Nexon Open API의 캐릭터 식별자 조회를 사용합니다. 원단어는 다음 18개 카드, 랜덤 한글은 다음 24개만 미리 확인하며, 분야를 빠르게 바꾸거나 탭이 숨겨지면 백그라운드 요청을 중단합니다.

이미 사용 중인 이름은 긴 시간 캐시해 반복 조회를 줄이고, 조회 시점 이후에 선점될 수 있는 ‘가능성 높음’은 짧게 캐시합니다. 복사 동작은 확인을 기다리지 않고 먼저 처리하며, 메이플 범위 안의 이름은 복사 후 최신 상태를 비동기로 다시 확인합니다.

5. 상태별 캐시 시간과 표시 의미

상태기본 캐시의미
가능성 높음15분조회 시점에 동일 캐릭터를 확인하지 못함
생성불가30일동일 이름의 캐릭터 식별자가 조회됨
휴먼닉7일식별자는 있으나 기본 정보 분류가 제한됨
확인 실패3분외부 API 오류·점검·네트워크 문제
규칙상 불가30일서비스 내부 문자·길이 검사에서 제외됨

캐시 시간은 비용과 최신성 사이의 운영 기준이며 게임의 공식 보장 기간이 아닙니다. Nexon API 응답 형식이나 게임의 이름 규칙이 바뀌면 이 기준도 수정될 수 있습니다.

6. 재현 가능성과 오류 수정

데이터 빌드와 검증 로직은 자동 테스트와 배포 전 감사를 거쳐 관리합니다. 공개 shard에는 API 키, 원본 IP, 사용자별 조회 이력을 넣지 않습니다. IP는 요청 남용 방지를 위해 서버 비밀값과 함께 해시한 날짜 단위 카운터로만 처리합니다.

잘못된 번역, 설명 오류, 분야 불일치가 발견되면 저장소의 Issues에 단어와 근거 URL을 남길 수 있습니다. 수정은 원본 CSV에 반영한 뒤 전체 데이터 감사와 테스트를 통과해야 다음 배포에 포함됩니다. 단어 개수를 늘리는 것보다 틀린 후보가 자동으로 되살아나지 않게 하는 것을 우선합니다.