모든 개발자들이 그러 하듯이, 우리는 일일 작업의 일환으로 일종의 식별자를 끊임없이 다룹니다. 대부분의 경우 버그 또는 지원 티켓입니다. 우리의 소프트웨어는 버그를 발견하면 타임 스탬프와 버전 번호로 이름이 지정된 패키지를 생성합니다. 이는 패키지를 섞지 않도록 합리적으로 고유 한 식별자를 만드는 저렴한 방법입니다. 예 : "버그 보고서 20101214 174856 6.4b2".기억하기 쉬운 랜덤 식별자 생성하기
내 뇌는 숫자 기억에 그렇게 좋지 않습니다. 내가 갖고 싶은데을 기억하기 쉬운 영숫자 식별자를 생성하는 간단한 방법입니다 ().
import random
vowels = 'aeiuy' # 0 is confusing
consonants = 'bcdfghjklmnpqrstvwxz'
numbers = ''
random.seed()
for i in range(30):
chars = list()
chars.append(random.choice(consonants))
chars.append(random.choice(vowels))
chars.append(random.choice(consonants + numbers))
chars.append(random.choice(vowels))
chars.append(random.choice(vowels))
chars.append(random.choice(consonants))
print ''.join(chars)
결과는 다음과 같이 :
re1ean
meseux
le1ayl
kuteef
neluaq
tyliyd
ki5ias
이 이미 상당히입니다
이 중간 가능한 결과를 생산하는 파이썬에서 다음과 같이 알고리즘을 재빨리 약 5 분 소요 좋았지 만 철자가 정확히 어떻게 쓰여 있는지 잊기가 쉽다는 느낌이 들었습니다. 그래서 동료 책상으로 걸어 가서 그 중 하나를보고 싶다면 여전히 어려움이 있습니다.
텍스트에 대한 트라이 그램 분석을 수행하고 (독일어로 된 전체 책을 제공한다고 가정) 독일어 단어처럼 보이고 느껴지고 따라서 일반적으로 다루기가 쉬운 문자열을 생성 할 수있는 알고리즘을 알고 있습니다. 이것은 많은 양의 데이터를 요구하며, 단지이 목적을 위해 애플리케이션에 임베딩하기에는 적합하지 않습니다.
이 문제를 해결하기 위해 게시 된 알고리즘을 알고 계십니까?
감사합니다.
칼
임의의 단어를 생성하기 전에이 내용을 읽어야합니다. http://thedailywtf.com/Articles/The-Automated-Curse-Generator.aspx – Prutswonder
하, 좋은 분! 나는 그것을 명심할 것이다! –